class Gillbus::SearchTrips::Request

Attributes

connection_ids[RW]

connectionIds (не обязательный) Список предполагаемых идентификаторов пересадочных пунктов, разделенных “;”. Используется если выбран вид транспорта 8, 9.

end_city_id[RW]

endCityId ИД пункта прибытия

insurance_id[RW]
limit_segment_trip_show[RW]

limitSegmentTripShow (опциональный параметр) Ограничение максимального количества сегментных рейсов. Если ничего не передано или передано число -1, то выдача не ограничена.

only_branded[RW]

onlyBranded Признак отображения в результате поиска только фирменных рейсов. По умолчанию отображаются все рейсы.

passengers[RW]

В passengers записывается структура вида [

{birthday: ..., student_ticket:..., student_year:..., isic:... },
{birthday: ..., student_ticket:..., student_year:..., isic:... },

] Далее она преобразуется к формату gillbus методом passengers_data

round_trip[RW]

roundTrip Признак поиска рейсов туда-обратно. По-умолчанию false. Если true, то будут искаться рейсы туда-обратно. Если false, то будут искаться рейсы только в одну сторону.

selected_modes[RW]

selectedModes (не обязательный) Вид транспорта, который необходимо искать. @see Gillbus::BaseRequest::MODES

start_city_id[RW]

startCityId ИД пункта отправления

ticket_count[RW]

ticketCount Количество оформляемых билетов. От 1 до k.

trip_full_sale[RW]

tripFullSale (не обязательный) Признак определяющий количество возвращаемых рейсов. Если true, то возвращаются заказные и регулярные рейсы. Если false, то возвращаются только регулярные рейсы.

trip_options[RW]

tripOptions Признак отображения списка услугрейса. true - в результате будут возвращены услуги рейса. По умолчанию услуги не возвращаются.

wait_timeout[RW]

waitTimeout Время ожидания ответа, секунды. Если параметр установлен и поиск рейсов длится дольше указанного времени, то будет возвращен пустой ответ через указанное время. Параметр игнорируется, при fullSearch = true.

Public Instance Methods

params() click to toggle source
# 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(trip_options),
    insuranceId: insurance_id,
    **passengers_data,
  )
end
passengers_data() click to toggle source

В 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"

}

# 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() click to toggle source
# File lib/gillbus/search_trips.rb, line 6
def path; '/online2/searchTrips' end