diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-02-02 18:25:47 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-02-02 18:25:47 +0100 |
commit | 7cb9cb9836af5db19568886f9804b7032d27312f (patch) | |
tree | 5327fea154cda3a6fbad33241f1d1c61f08273f1 /lib/Travel/Routing/DE/DBRIS | |
parent | 43f9af3c356a0607e3fcc121311f11bf57746e2b (diff) |
add ticket offer API client and --with-offers option
Diffstat (limited to 'lib/Travel/Routing/DE/DBRIS')
-rw-r--r-- | lib/Travel/Routing/DE/DBRIS/Connection.pm | 3 | ||||
-rw-r--r-- | lib/Travel/Routing/DE/DBRIS/Offer.pm | 39 |
2 files changed, 41 insertions, 1 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection.pm b/lib/Travel/Routing/DE/DBRIS/Connection.pm index b090e01..8062929 100644 --- a/lib/Travel/Routing/DE/DBRIS/Connection.pm +++ b/lib/Travel/Routing/DE/DBRIS/Connection.pm @@ -18,7 +18,7 @@ Travel::Routing::DE::DBRIS::Connection->mk_ro_accessors( sched_dep rt_dep dep sched_arr rt_arr arr occupancy occupancy_first occupancy_second - price price_unit + price price_unit recon ) ); @@ -35,6 +35,7 @@ sub new { // -1, is_unscheduled => $json->{isAlternativeVerbindung}, id => $json->{tripId}, + recon => $json->{ctxRecon}, price => $json->{angebotsPreis}{betrag}, price_unit => $json->{angebotsPreis}{waehrung}, strptime_obj => $strptime, diff --git a/lib/Travel/Routing/DE/DBRIS/Offer.pm b/lib/Travel/Routing/DE/DBRIS/Offer.pm new file mode 100644 index 0000000..47bf543 --- /dev/null +++ b/lib/Travel/Routing/DE/DBRIS/Offer.pm @@ -0,0 +1,39 @@ +package Travel::Routing::DE::DBRIS::Offer; + +use strict; +use warnings; +use 5.020; +use utf8; + +use parent 'Class::Accessor'; + +our $VERSION = '0.03'; + +Travel::Routing::DE::DBRIS::Offer->mk_ro_accessors( + qw(class name price price_unit)); + +sub new { + my ( $obj, %opt ) = @_; + + my $json = $opt{json}; + + my $ref = { + class => $json->{klasse} =~ s{KLASSE_}{}r, + name => $json->{name}, + price => $json->{preis}{betrag}, + price_unit => $json->{preis}{waehrung}, + conditions => $json->{konditionsAnzeigen}, + }; + + bless( $ref, $obj ); + + return $ref; +} + +sub conditions { + my ($self) = @_; + + return @{ $self->{conditions} // [] }; +} + +1; |