Class: Gillbus::SearchTrips::Request
- Inherits:
-
BaseRequest
- Object
- BaseRequest
- Gillbus::SearchTrips::Request
- Defined in:
- lib/gillbus/search_trips.rb
Instance Attribute Summary collapse
-
#back_start_date_search ⇒ Object
backStartDateSearch (обязательный если roundTrip=true) Дата отправления, на которую будет произведен поиск обратных рейсов.
-
#connection_ids ⇒ Object
connectionIds (не обязательный) Список предполагаемых идентификаторов пересадочных пунктов, разделенных “;”.
-
#end_city_id ⇒ Object
endCityId ИД пункта прибытия.
-
#full_search ⇒ Object
fullSearch (не обязательный) Признак полного поиска рейсов, который указывает когда возвращать результат.
-
#insurance_id ⇒ Object
Returns the value of attribute insurance_id.
-
#limit_segment_trip_show ⇒ Object
limitSegmentTripShow (опциональный параметр) Ограничение максимального количества сегментных рейсов.
-
#only_branded ⇒ Object
onlyBranded Признак отображения в результате поиска только фирменных рейсов.
-
#passengers ⇒ Object
В passengers записывается структура вида [ {birthday: …, student_ticket:…, student_year:…, isic:… }, {birthday: …, student_ticket:…, student_year:…, isic:… }, ] Далее она преобразуется к формату gillbus методом passengers_data.
-
#round_trip ⇒ Object
roundTrip Признак поиска рейсов туда-обратно.
-
#selected_modes ⇒ Object
selectedModes (не обязательный) Вид транспорта, который необходимо искать.
-
#start_city_id ⇒ Object
startCityId ИД пункта отправления.
-
#start_date_search ⇒ Object
startDateSearch Дата отправления, на которую будет произведен поиск рейсов.
-
#ticket_count ⇒ Object
ticketCount Количество оформляемых билетов.
-
#trip_full_sale ⇒ Object
tripFullSale (не обязательный) Признак определяющий количество возвращаемых рейсов.
-
#trip_options ⇒ Object
tripOptions Признак отображения списка услугрейса.
-
#wait_timeout ⇒ Object
waitTimeout Время ожидания ответа, секунды.
Instance Method Summary collapse
- #params ⇒ Object
-
#passengers_data ⇒ Object
В passengers_data преобразуем passengers к виду для передачи в gillbus: { :passenger0birthday=>“01.01.1990”, :passenger0studentTicket=>“STUDENTTICKET#1”, :passenger0studentYear=>1, :passenger0ISIC=>“ISIC#1”, :passenger1birthday=>“02.02.1990”, :passenger1studentTicket=>“STUDENTTICKET#2”, :passenger1studentYear=>2, :passenger1ISIC=>“ISIC#2” }.
- #path ⇒ Object
Methods inherited from BaseRequest
Constructor Details
This class inherits a constructor from Gillbus::BaseRequest
Instance Attribute Details
#back_start_date_search ⇒ Object
backStartDateSearch (обязательный если roundTrip=true) Дата отправления, на которую будет произведен поиск обратных рейсов.
54 55 56 |
# File 'lib/gillbus/search_trips.rb', line 54 def back_start_date_search @back_start_date_search end |
#connection_ids ⇒ Object
connectionIds (не обязательный) Список предполагаемых идентификаторов пересадочных пунктов, разделенных “;”. Используется если выбран вид транспорта 8, 9.
16 17 18 |
# File 'lib/gillbus/search_trips.rb', line 16 def connection_ids @connection_ids end |
#end_city_id ⇒ Object
endCityId ИД пункта прибытия
36 37 38 |
# File 'lib/gillbus/search_trips.rb', line 36 def end_city_id @end_city_id end |
#full_search ⇒ Object
fullSearch (не обязательный) Признак полного поиска рейсов, который указывает когда возвращать результат. Если true, то результат будет возвращен тогда, когда будет окончен поиск всех возможных рейсов. Если false, то результат будет возвращен сразу, как только будут найдены первые рейсы.
28 29 30 |
# File 'lib/gillbus/search_trips.rb', line 28 def full_search @full_search end |
#insurance_id ⇒ Object
Returns the value of attribute insurance_id.
97 98 99 |
# File 'lib/gillbus/search_trips.rb', line 97 def insurance_id @insurance_id end |
#limit_segment_trip_show ⇒ Object
limitSegmentTripShow (опциональный параметр) Ограничение максимального количества сегментных рейсов. Если ничего не передано или передано число -1, то выдача не ограничена.
50 51 52 |
# File 'lib/gillbus/search_trips.rb', line 50 def limit_segment_trip_show @limit_segment_trip_show end |
#only_branded ⇒ Object
onlyBranded Признак отображения в результате поиска только фирменных рейсов. По умолчанию отображаются все рейсы.
89 90 91 |
# File 'lib/gillbus/search_trips.rb', line 89 def only_branded @only_branded end |
#passengers ⇒ Object
В passengers записывается структура вида [
{birthday: ..., student_ticket:..., student_year:..., isic:... },
{birthday: ..., student_ticket:..., student_year:..., isic:... },
] Далее она преобразуется к формату gillbus методом passengers_data
78 79 80 |
# File 'lib/gillbus/search_trips.rb', line 78 def passengers @passengers end |
#round_trip ⇒ Object
roundTrip Признак поиска рейсов туда-обратно. По-умолчанию false. Если true, то будут искаться рейсы туда-обратно. Если false, то будут искаться рейсы только в одну сторону.
45 46 47 |
# File 'lib/gillbus/search_trips.rb', line 45 def round_trip @round_trip end |
#selected_modes ⇒ Object
selectedModes (не обязательный) Вид транспорта, который необходимо искать.
11 12 13 |
# File 'lib/gillbus/search_trips.rb', line 11 def selected_modes @selected_modes end |
#start_city_id ⇒ Object
startCityId ИД пункта отправления
32 33 34 |
# File 'lib/gillbus/search_trips.rb', line 32 def start_city_id @start_city_id end |
#start_date_search ⇒ Object
startDateSearch Дата отправления, на которую будет произведен поиск рейсов.
40 41 42 |
# File 'lib/gillbus/search_trips.rb', line 40 def start_date_search @start_date_search end |
#ticket_count ⇒ Object
ticketCount Количество оформляемых билетов. От 1 до k.
58 59 60 |
# File 'lib/gillbus/search_trips.rb', line 58 def ticket_count @ticket_count end |
#trip_full_sale ⇒ Object
tripFullSale (не обязательный) Признак определяющий количество возвращаемых рейсов. Если true, то возвращаются заказные и регулярные рейсы. Если false, то возвращаются только регулярные рейсы.
22 23 24 |
# File 'lib/gillbus/search_trips.rb', line 22 def trip_full_sale @trip_full_sale end |
#trip_options ⇒ Object
tripOptions Признак отображения списка услугрейса. true - в результате будут возвращены услуги рейса. По умолчанию услуги не возвращаются.
95 96 97 |
# File 'lib/gillbus/search_trips.rb', line 95 def @trip_options end |
#wait_timeout ⇒ Object
waitTimeout Время ожидания ответа, секунды. Если параметр установлен и поиск рейсов длится дольше указанного времени, то будет возвращен пустой ответ через указанное время. Параметр игнорируется, при fullSearch = true.
84 85 86 |
# File 'lib/gillbus/search_trips.rb', line 84 def wait_timeout @wait_timeout end |
Instance Method Details
#params ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/gillbus/search_trips.rb', line 99 def params compact( selectedModes: modes(selected_modes), connectionIds: list(connection_ids), tripFullSale: bool(trip_full_sale), fullSearch: bool(full_search), startCityId: start_city_id, endCityId: end_city_id, startDateSearch: date(start_date_search), roundTrip: bool(round_trip), limitSegmentTripShow: limit_segment_trip_show, backStartDateSearch: date(back_start_date_search), ticketCount: ticket_count, waitTimeout: wait_timeout, onlyBranded: bool(only_branded), tripOptions: bool(), insuranceId: insurance_id, **passengers_data, ) end |
#passengers_data ⇒ Object
В passengers_data преобразуем passengers к виду для передачи в gillbus:
{
:passenger0birthday=>"01.01.1990",
:passenger0studentTicket=>"STUDENTTICKET#1",
:passenger0studentYear=>1,
:passenger0ISIC=>"ISIC#1",
:passenger1birthday=>"02.02.1990",
:passenger1studentTicket=>"STUDENTTICKET#2",
:passenger1studentYear=>2,
:passenger1ISIC=>"ISIC#2"
}
131 132 133 134 135 |
# File 'lib/gillbus/search_trips.rb', line 131 def passengers_data (passengers || []).map.with_index do |p, i| PassengerDiscount.wrap(p).params("passenger#{i}") end.reduce({}, :merge) end |
#path ⇒ Object
6 |
# File 'lib/gillbus/search_trips.rb', line 6 def path; '/online2/searchTrips' end |