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/Offer.pm | |
parent | 43f9af3c356a0607e3fcc121311f11bf57746e2b (diff) |
add ticket offer API client and --with-offers option
Diffstat (limited to 'lib/Travel/Routing/DE/DBRIS/Offer.pm')
-rw-r--r-- | lib/Travel/Routing/DE/DBRIS/Offer.pm | 39 |
1 files changed, 39 insertions, 0 deletions
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; |