From 7cb9cb9836af5db19568886f9804b7032d27312f Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 2 Feb 2025 18:25:47 +0100 Subject: add ticket offer API client and --with-offers option --- lib/Travel/Routing/DE/DBRIS/Connection.pm | 3 ++- lib/Travel/Routing/DE/DBRIS/Offer.pm | 39 +++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 lib/Travel/Routing/DE/DBRIS/Offer.pm (limited to 'lib/Travel/Routing/DE/DBRIS') 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; -- cgit v1.2.3