Class: Gillbus::TicketsBooking::Request::Passenger
- Inherits:
-
BaseRequest
- Object
- BaseRequest
- Gillbus::TicketsBooking::Request::Passenger
- Defined in:
- lib/gillbus/tickets_booking.rb
Overview
not a request, just a record for BookTickets
Instance Attribute Summary collapse
-
#birthday ⇒ Object
passenger0birthday…
-
#citizenship ⇒ Object
passenger0citizenship…
-
#discount ⇒ Object
passenger0discountValue…
-
#document_type ⇒ Object
passenger0documentType…
-
#first_name ⇒ Object
passenger0firstName…
-
#gender ⇒ Object
passenger0gender…
-
#insurance_cost ⇒ Object
Returns the value of attribute insurance_cost.
-
#insurance_id ⇒ Object
Returns the value of attribute insurance_id.
-
#isic ⇒ Object
passenger0ISIC…passengerNISIC (не обязательный) Номер ISIC пассажира с порядковым номером 0…N.
-
#last_name ⇒ Object
passenger0lastName…
-
#luggage ⇒ Object
passenger0baggageCount…
-
#passport ⇒ Object
passenger0passport…
-
#passport_expire_date ⇒ Object
passenger0passportExpireDate…
-
#second_name ⇒ Object
passenger0middleName…
-
#segments_luggage ⇒ Object
passenger0segment0baggageCount…
-
#tariff_cost ⇒ Object
passenger0tariffCost…
-
#tariff_short_name ⇒ Object
passenger0tariffShortName…
Instance Method Summary collapse
Methods inherited from BaseRequest
Constructor Details
This class inherits a constructor from Gillbus::BaseRequest
Instance Attribute Details
#birthday ⇒ Object
passenger0birthday… passengerNbirthday (обязательный для авиаперевозки) Дата рождения пассажира с порядковым номером 0…N.
102 103 104 |
# File 'lib/gillbus/tickets_booking.rb', line 102 def birthday @birthday end |
#citizenship ⇒ Object
passenger0citizenship… passengerNcitizenship (обязательный для авиаперевозки) Гражданство пассажира с порядковым номером 0…N. 2-х буквенный код страны, пример, Украина – UA.
153 154 155 |
# File 'lib/gillbus/tickets_booking.rb', line 153 def citizenship @citizenship end |
#discount ⇒ Object
passenger0discountValue… passengerNdiscountValue (не обязательный) Величина скидки в валюте продажи для пассажира с порядковым номером 0…N.
161 162 163 |
# File 'lib/gillbus/tickets_booking.rb', line 161 def discount @discount end |
#document_type ⇒ Object
passenger0documentType… passengerNdocumentType (не обязательный) Тип удостоверения личности (для определения типа документа, номер которого передан в параметре passport). Возможные значения: :passport 1 - паспорт :military_card 2 - военный билет :foreign_document 3 - иностранный документ :foreign_passport 4 - заграничный паспорт :seaman_passport 6 - паспорт моряка :birth_certificate 7 - свидетельство о рождении :ussr_passport 8 - паспорт формы СССР :tax_id 9 - CPF для WL Бразилии
141 142 143 |
# File 'lib/gillbus/tickets_booking.rb', line 141 def document_type @document_type end |
#first_name ⇒ Object
passenger0firstName… passengerNfirstName (не обязательный) Имя пассажира с порядковым номером 0…N.
110 111 112 |
# File 'lib/gillbus/tickets_booking.rb', line 110 def first_name @first_name end |
#gender ⇒ Object
passenger0gender… passengerNgender (обязательный для авиаперевозки) Пол пассажира с порядковым номером 0…N. M – мужской, F – женский.
157 158 159 |
# File 'lib/gillbus/tickets_booking.rb', line 157 def gender @gender end |
#insurance_cost ⇒ Object
Returns the value of attribute insurance_cost.
174 175 176 |
# File 'lib/gillbus/tickets_booking.rb', line 174 def insurance_cost @insurance_cost end |
#insurance_id ⇒ Object
Returns the value of attribute insurance_id.
173 174 175 |
# File 'lib/gillbus/tickets_booking.rb', line 173 def insurance_id @insurance_id end |
#isic ⇒ Object
passenger0ISIC…passengerNISIC (не обязательный) Номер ISIC пассажира с порядковым номером 0…N.
106 107 108 |
# File 'lib/gillbus/tickets_booking.rb', line 106 def isic @isic end |
#last_name ⇒ Object
passenger0lastName… passengerNlastName (не обязательный) Фамилия пассажира с порядковым номером 0…N.
114 115 116 |
# File 'lib/gillbus/tickets_booking.rb', line 114 def last_name @last_name end |
#luggage ⇒ Object
passenger0baggageCount… passengerNbaggageCount (не обязательный) На рейс без сегментов Количество мест багажа для пассажира с порядковым номером 0…N.
166 167 168 |
# File 'lib/gillbus/tickets_booking.rb', line 166 def luggage @luggage end |
#passport ⇒ Object
passenger0passport… passengerNpassport (обязательный для авиаперевозки) Паспортные данные пассажира с порядковым номером 0…N.
145 146 147 |
# File 'lib/gillbus/tickets_booking.rb', line 145 def passport @passport end |
#passport_expire_date ⇒ Object
passenger0passportExpireDate… passengerNpassportExpireDate (обязательный для авиаперевозки) Дата окончания действия паспорта пассажира с порядковым номером 0…N.
149 150 151 |
# File 'lib/gillbus/tickets_booking.rb', line 149 def passport_expire_date @passport_expire_date end |
#second_name ⇒ Object
passenger0middleName… passengerNmiddleName (не обязательный) Отчество пассажира с порядковым номером 0…N.
118 119 120 |
# File 'lib/gillbus/tickets_booking.rb', line 118 def second_name @second_name end |
#segments_luggage ⇒ Object
passenger0segment0baggageCount… passengerNsegmentMbaggageCount На рейс с сегментами Количество мест багажа для пассажира 0…N на сегмент 0…M
171 172 173 |
# File 'lib/gillbus/tickets_booking.rb', line 171 def segments_luggage @segments_luggage end |
#tariff_cost ⇒ Object
passenger0tariffCost… passengerNtariffCost (не обязательный) Стоимость тарифа, полученное при поиске рейсов в списке тарифов, с кратким обозначением passenger0tariffShortName с порядковым номером 0…N.
128 129 130 |
# File 'lib/gillbus/tickets_booking.rb', line 128 def tariff_cost @tariff_cost end |
#tariff_short_name ⇒ Object
passenger0tariffShortName… passengerNtariffShortName (не обязательный) Краткое обозначение тарифа, полученное при поиске рейсов в списке тарифов, по указанным passenger0studentTicket, passenger0birthday, passenger0ISIC.
123 124 125 |
# File 'lib/gillbus/tickets_booking.rb', line 123 def tariff_short_name @tariff_short_name end |
Instance Method Details
#document_type_to_int(value) ⇒ Object
207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/gillbus/tickets_booking.rb', line 207 def document_type_to_int(value) { passport: 1, military_card: 2, foreign_document: 3, foreign_passport: 4, seaman_passport: 6, birth_certificate: 7, ussr_passport: 8, tax_id: 9, }[value.try(:to_sym)] end |
#params(prefix = '') ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/gillbus/tickets_booking.rb', line 176 def params(prefix = '') # [0, 1] => {'segment0baggageCount' => 0, 'segment1baggageCount' => 1} prepared_segments_luggage = if segments_luggage segments_luggage.map.with_index do |luggage_count, index| ["segment#{index}baggageCount".to_sym, luggage_count] end.to_h else {} end compact( birthday: date(birthday), ISIC: isic, firstName: first_name, lastName: last_name, middleName: second_name, tariffShortName: tariff_short_name, tariffCost: tariff_cost, documentType: document_type_to_int(document_type), passport: passport, passportExpireDate: passport_expire_date, citizenship: citizenship, gender: gender, discountValue: discount.to_f.to_s, insuranceId: insurance_id, insurance: insurance_cost, baggageCount: luggage&.first, # luggage используется для односегментных **prepared_segments_luggage, ).map { |k, v| [:"#{prefix}#{k}", v] }.to_h end |