Class: Gillbus::TicketsBooking::Request::Passenger

Inherits:
BaseRequest
  • Object
show all
Defined in:
lib/gillbus/tickets_booking.rb

Overview

not a request, just a record for BookTickets

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseRequest

#initialize, #method, #path

Constructor Details

This class inherits a constructor from Gillbus::BaseRequest

Instance Attribute Details

#birthdayObject

passenger0birthday… passengerNbirthday (обязательный для авиаперевозки) Дата рождения пассажира с порядковым номером 0…N.



90
91
92
# File 'lib/gillbus/tickets_booking.rb', line 90

def birthday
  @birthday
end

#citizenshipObject

passenger0citizenship… passengerNcitizenship (обязательный для авиаперевозки) Гражданство пассажира с порядковым номером 0…N. 2-х буквенный код страны, пример, Украина – UA.



140
141
142
# File 'lib/gillbus/tickets_booking.rb', line 140

def citizenship
  @citizenship
end

#discountObject

passenger0discountValue… passengerNdiscountValue (не обязательный) Величина скидки в валюте продажи для пассажира с порядковым номером 0…N.



148
149
150
# File 'lib/gillbus/tickets_booking.rb', line 148

def discount
  @discount
end

#document_typeObject

passenger0documentType… passengerNdocumentType (не обязательный) Тип удостоверения личности (для определения типа документа, номер которого передан в параметре passport). Возможные значения: :passport 1 - паспорт :military_card 2 - военный билет :foreign_document 3 - иностранный документ :foreign_passport 4 - заграничный паспорт :seaman_passport 6 - паспорт моряка :birth_certificate 7 - свидетельство о рождении :ussr_passport 8 - паспорт формы СССР



128
129
130
# File 'lib/gillbus/tickets_booking.rb', line 128

def document_type
  @document_type
end

#first_nameObject

passenger0firstName… passengerNfirstName (не обязательный) Имя пассажира с порядковым номером 0…N.



98
99
100
# File 'lib/gillbus/tickets_booking.rb', line 98

def first_name
  @first_name
end

#genderObject

passenger0gender… passengerNgender (обязательный для авиаперевозки) Пол пассажира с порядковым номером 0…N. M – мужской, F – женский.



144
145
146
# File 'lib/gillbus/tickets_booking.rb', line 144

def gender
  @gender
end

#insurance_costObject

Returns the value of attribute insurance_cost.



152
153
154
# File 'lib/gillbus/tickets_booking.rb', line 152

def insurance_cost
  @insurance_cost
end

#insurance_idObject

Returns the value of attribute insurance_id.



151
152
153
# File 'lib/gillbus/tickets_booking.rb', line 151

def insurance_id
  @insurance_id
end

#isicObject

passenger0ISIC…passengerNISIC (не обязательный) Номер ISIC пассажира с порядковым номером 0…N.



94
95
96
# File 'lib/gillbus/tickets_booking.rb', line 94

def isic
  @isic
end

#last_nameObject

passenger0lastName… passengerNlastName (не обязательный) Фамилия пассажира с порядковым номером 0…N.



102
103
104
# File 'lib/gillbus/tickets_booking.rb', line 102

def last_name
  @last_name
end

#passportObject

passenger0passport… passengerNpassport (обязательный для авиаперевозки) Паспортные данные пассажира с порядковым номером 0…N.



132
133
134
# File 'lib/gillbus/tickets_booking.rb', line 132

def passport
  @passport
end

#passport_expire_dateObject

passenger0passportExpireDate… passengerNpassportExpireDate (обязательный для авиаперевозки) Дата окончания действия паспорта пассажира с порядковым номером 0…N.



136
137
138
# File 'lib/gillbus/tickets_booking.rb', line 136

def passport_expire_date
  @passport_expire_date
end

#second_nameObject

passenger0middleName… passengerNmiddleName (не обязательный) Отчество пассажира с порядковым номером 0…N.



106
107
108
# File 'lib/gillbus/tickets_booking.rb', line 106

def second_name
  @second_name
end

#tariff_costObject

passenger0tariffCost… passengerNtariffCost (не обязательный) Стоимость тарифа, полученное при поиске рейсов в списке тарифов, с кратким обозначением passenger0tariffShortName с порядковым номером 0…N.



116
117
118
# File 'lib/gillbus/tickets_booking.rb', line 116

def tariff_cost
  @tariff_cost
end

#tariff_short_nameObject

passenger0tariffShortName… passengerNtariffShortName (не обязательный) Краткое обозначение тарифа, полученное при поиске рейсов в списке тарифов, по указанным passenger0studentTicket, passenger0birthday, passenger0ISIC.



111
112
113
# File 'lib/gillbus/tickets_booking.rb', line 111

def tariff_short_name
  @tariff_short_name
end

Instance Method Details

#document_type_to_int(value) ⇒ Object



174
175
176
177
178
179
180
181
182
183
184
# File 'lib/gillbus/tickets_booking.rb', line 174

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,
  }[value.try(:to_sym)]
end

#params(prefix = '') ⇒ Object



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/gillbus/tickets_booking.rb', line 154

def params(prefix = '')
  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,
  ).map { |k, v| [:"#{prefix}#{k}", v] }.to_h
end