Module: GenesisRuby::Api::Mixins::Requests::Financial::TravelData::AirlineItineraryAttributes

Included in:
TravelAttributes
Defined in:
lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb

Overview

Level 3 Data Airline Itinerary Attributes

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#travel_aid_agency_codeObject

Returns the value of attribute travel_aid_agency_code.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_agency_code
  @travel_aid_agency_code
end

#travel_aid_agency_nameObject

Returns the value of attribute travel_aid_agency_name.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_agency_name
  @travel_aid_agency_name
end

#travel_aid_confirmation_informationObject

Returns the value of attribute travel_aid_confirmation_information.



18
19
20
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 18

def travel_aid_confirmation_information
  @travel_aid_confirmation_information
end

#travel_aid_customer_codeObject

Returns the value of attribute travel_aid_customer_code.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_customer_code
  @travel_aid_customer_code
end

#travel_aid_issuing_carrierObject

Returns the value of attribute travel_aid_issuing_carrier.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_issuing_carrier
  @travel_aid_issuing_carrier
end

#travel_aid_passenger_nameObject

Returns the value of attribute travel_aid_passenger_name.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_passenger_name
  @travel_aid_passenger_name
end

#travel_aid_restricted_ticket_indicatorObject

Returns the value of attribute travel_aid_restricted_ticket_indicator.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_restricted_ticket_indicator
  @travel_aid_restricted_ticket_indicator
end

#travel_aid_ticket_numberObject

Returns the value of attribute travel_aid_ticket_number.



15
16
17
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 15

def travel_aid_ticket_number
  @travel_aid_ticket_number
end

#travel_aid_total_fareObject

Returns the value of attribute travel_aid_total_fare.



18
19
20
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 18

def travel_aid_total_fare
  @travel_aid_total_fare
end

Instance Method Details

#add_travel_aid_leg(leg) ⇒ Object

Add a single AirlineItinerary Leg data



76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 76

def add_travel_aid_leg(leg)
  @travel_aid_legs ||= travel_aid_legs
  leg_obj      = GenesisRuby::Utils::Transactions::TravelData::AirlineItinerary::Leg

  raise InvalidArgumentError, "Leg must be instance of #{leg_obj.name}" unless leg.instance_of? leg_obj

  if travel_aid_legs.count == ALLOWED_ITEMS_COUNT
    raise InvalidArgumentError, "Allowed Legs count exceeded. Allowed #{ALLOWED_ITEMS_COUNT}."
  end

  @travel_aid_legs.push leg
end

#add_travel_aid_tax(tax) ⇒ Object

Add a single AirlineItinerary Tax data



90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 90

def add_travel_aid_tax(tax)
  @travel_aid_taxes ||= travel_aid_taxes
  tax_obj       = GenesisRuby::Utils::Transactions::TravelData::AirlineItinerary::Tax

  raise InvalidArgumentError, "Tax must be instance of #{tax_obj.name}" unless tax.instance_of? tax_obj

  if travel_aid_taxes.count == ALLOWED_ITEMS_COUNT
    raise InvalidArgumentError, "Allowed Legs count exceeded. Allowed #{ALLOWED_ITEMS_COUNT}."
  end

  @travel_aid_taxes.push tax
end

#clear_travel_aid_legsObject

Reset Legs data



104
105
106
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 104

def clear_travel_aid_legs
  @travel_aid_legs = []
end

#clear_travel_aid_taxesObject

Reset Taxes



109
110
111
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 109

def clear_travel_aid_taxes
  @travel_aid_taxes = []
end

#travel_aid_date_of_issueObject

Date Of Issue



21
22
23
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 21

def travel_aid_date_of_issue
  @travel_aid_date_of_issue&.strftime GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
end

#travel_aid_date_of_issue=(value) ⇒ Object

Date Of Issue



26
27
28
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 26

def travel_aid_date_of_issue=(value)
  parse_date attribute: __method__, value: value, allow_empty: true
end

#travel_aid_legsObject

AirlineItinerary Legs data. Max legs 10



66
67
68
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 66

def travel_aid_legs
  @travel_aid_legs || []
end

#travel_aid_taxesObject

AirlineItinerary Taxes data. Max taxes 10



71
72
73
# File 'lib/genesis_ruby/api/mixins/requests/financial/travel_data/airline_itinerary_attributes.rb', line 71

def travel_aid_taxes
  @travel_aid_taxes || []
end