class Gillbus::TicketsBooking::Request::Passenger
not a request, just a record for BookTickets
Attributes
passenger0birthday… passengerNbirthday (обязательный для авиаперевозки) Дата рождения пассажира с порядковым номером 0…N.
passenger0citizenship… passengerNcitizenship (обязательный для авиаперевозки) Гражданство пассажира с порядковым номером 0…N. 2-х буквенный код страны, пример, Украина – UA.
passenger0discountValue… passengerNdiscountValue (не обязательный) Величина скидки в валюте продажи для пассажира с порядковым номером 0…N.
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 Бразилии
passenger0firstName… passengerNfirstName (не обязательный) Имя пассажира с порядковым номером 0…N.
passenger0gender… passengerNgender (обязательный для авиаперевозки) Пол пассажира с порядковым номером 0…N. M – мужской, F – женский.
passenger0ISIC…passengerNISIC (не обязательный) Номер ISIC пассажира с порядковым номером 0…N.
passenger0lastName… passengerNlastName (не обязательный) Фамилия пассажира с порядковым номером 0…N.
passenger0baggageCount… passengerNbaggageCount (не обязательный) На рейс без сегментов Количество мест багажа для пассажира с порядковым номером 0…N.
passenger0passport… passengerNpassport (обязательный для авиаперевозки) Паспортные данные пассажира с порядковым номером 0…N.
passenger0passportExpireDate… passengerNpassportExpireDate (обязательный для авиаперевозки) Дата окончания действия паспорта пассажира с порядковым номером 0…N.
passenger0middleName… passengerNmiddleName (не обязательный) Отчество пассажира с порядковым номером 0…N.
passenger0segment0baggageCount… passengerNsegmentMbaggageCount На рейс с сегментами Количество мест багажа для пассажира 0…N на сегмент 0…M
passenger0tariffCost… passengerNtariffCost (не обязательный) Стоимость тарифа, полученное при поиске рейсов в списке тарифов, с кратким обозначением passenger0tariffShortName с порядковым номером 0…N.
passenger0tariffShortName… passengerNtariffShortName (не обязательный) Краткое обозначение тарифа, полученное при поиске рейсов в списке тарифов, по указанным passenger0studentTicket, passenger0birthday, passenger0ISIC.
Public Instance Methods
# 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
# 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