def __init__(self, json): # Идентификатор билета в заказе в шлюзе self.ticket_identifier = get_item(json.get('ID'), int) # Признак наличия электронной регистрации self.electronic_registration = get_item(json.get('RemoteCheckIn'), int) self.json = json
def __init__(self, json): # Параметры справки self.reference_params = get_item(json.get('Z2'), ReferenceParamsTimeTable) # Параметры маршрута self.route_params = get_item(json.get('PP'), RouteParams) # Информация о поезде self.trains = get_array(json.get('N'), TrainTimeTable)
def __init__(self, json): # Код предупреждения self.code = get_item(json.get('code'), int) # Описание предупреждения self.text = json.get('text') self.external_data = get_item( None if json.get('ExternalData') is None else json['ExternalData'].get('Data'), ExternalData)
def __init__(self, json): # Станции отправления self.origin = json.get('C')[0] # Станции прибытия self.destination = json.get('C')[1] # Код станции отправления пассажира self.origin_code = get_item(json.get('C1'), int) # Код станции прибытия пассажира self.destination_code = get_item(json.get('C2'), int)
def __init__(self, json): self.id = get_item(json.get('Id'), int) self.transaction_id = get_item(json.get('RootTransId'), int) self.amount = get_money(json.get('Amount')) self.client_fee = get_money(json.get('ClientFee')) self.items = get_array( json.get('OrderItems', {}).get('OrderItem', []), OrderItemTransInfo) self.json = json
def __init__(self, json): # Идентификатор билета в заказе в шлюзе self.ticket_identifier = get_item(json.get('ID'), int) # Признак наличия электронной регистрации self.electronic_registration = get_item(json.get('RemoteCheckIn'), int) # Признак того, что оригинал билета распечатан self.print_flag = get_item(json.get('PrintFlag'), int) # Статус билета в АСУ «Экспресс-3» self.rzhd_status = get_item(json.get('RzhdStatus'), int) # self.food = get_item(json.get('Food'), Food)
def __init__(self, json): # Номер заказа в системе «УФС» self.id = get_item(json.get('Id'), int) # Идентификатор родительской транзакции self.root_id = get_item(json.get('RootTransId'), int) # if json.get('OrderItems') is not None: self.order_items = get_array(json['OrderItems'].get('OrderItem'), OrderItem) else: self.order_items = []
def __init__(self, json): # Идентификатор заказа self.id = get_item(json.get('Id'), int) # Текущий статус операции: «0» - успешная операция «1»- неуспешная операция self.status = get_item(json.get('Status'), int) # воспользоваться услугой смены РП. Атрибут «timeOffset="+ЧЧ:ММ"» содержит информацию # о часовом поясе для данного элемента, где "+ЧЧ:ММ" разница в часах и минутах от # UTC(Всемирное координированное время) конкретного места self.change_food_before = get_item(json.get('ChangeFoodBefore', {}), DateTime) # Информация о билете заказа self.blank = get_array(json.get('Blank'), BlankUpdateOrderInfo)
def __init__(self, json): self.id = get_item(json.get('ID'), int) self.blank_id = get_item(json.get('BlankID'), int) self.type = get_item(json.get('Type'), str) self.doc_type = get_item(json.get('DocType'), str) self.doc_number = get_item(json.get('DocNum'), str) self.fio = get_item(json.get('Name'), str) self.citizenship = get_item(json.get('Citizenship'), str) self.places = get_array(json.get('Place'), str) self.place_tier = get_item(json.get('PlaceTier'), Tier) self.sex = get_item(json.get('R'), str) self.birthday = get_item(json.get('BirthDay', {}), DateTime) self.json = json
def __init__(self, json): # Код справки в системе «Экспресс-3» self.reference_code = get_item(json.get('K'), int) # Тип справки self.reference_type = json.get('TS') # Параметры маршрута пассажира self.route_params = get_item(json.get('PP'), RouteParams) # Шифры ВЦ, в которых найдены места""" self.cipher = json.get('WM') # Разница между часовыми поясами отправления поезда self.origin_time_zone_difference = get_item( json.get('DeltaDepartureLocalDate'), int) # Разница между часовыми поясами прибытия поезда self.destination_time_zone_difference = get_item( json.get('DeltaArrivalLocalDate'), int)
def __init__(self, json): json = json[0] # Номер поезда self.number = json.get('N1') # Номер поезда, отображаемый пассажиру. Данный номер поезда печатается в контрольном купоне self.client_number = json.get('N2') # Категория поезда self.category = json.get('KN') # Наименование фирменного поезда self.train_name = json.get('NN') # Маршрут поезда self.route = get_item(json.get('NP'), RouteCarListEx) # Дата отправления пассажира в формате «ДД.ММ» self.passenger_departure_time = json.get('D') # Дата прибытия поезда в формате «ДД.ММ» self.passenger_arrival_time = json.get('D1') # Время отправления со станции отправления пассажира self.passenger_departure_date = json.get('T1') # Время стоянки на станции отправления пассажира. Элемент не обязательный в случае, # если станция отправления является начальной станцией self.origin_parking_time = json.get('T2') # Время в пути от станции отправления до станции прибытия пассажира self.travel_time = json.get('T3') # Время прибытия на станцию прибытия пассажира self.passenger_arrival_date = json.get('T4') # Время стоянки на станции прибытия пассажира self.destination_parking_time = json.get('T5') # Признак того, что на поезд возможна электронная регистрация. Если в ответе тег ER отображается, то на поезд возможна ЭР self.is_electronic_registration = get_bool_item(json.get('ER')) # Дата отправления поезда с начальной станции в формате «ДД.ММ» self.origin_departure_time = json.get('DZ') # Протяженность маршрута, км self.route_length = get_item(json.get('LL'), int) # Информация о вагонах определенной категории self.cars = get_array(json.get('CK'), CarCarListEx) # Уведомление пассажира об особых условиях поездки self.special_conditions = get_item(json.get('GA'), SpecialConditions) # Бренд поезда self.brand = json.get('BRN') # Признак пригородного поезда self.is_suburban_train = get_bool_item(json.get('IsSuburbanTrain')) # Время и дата отправления поезда self.departure_time = get_item(json.get('DepartureTime', {}), DateTime) # Время и дата прибытия поезда self.arrival_time = get_item(json.get('ArrivalTime', {}), DateTime) # Информация о вокзале отправления и прибытия пассажира self.passenger_railway_station = get_item(json.get('VOK'), PassengerRailwayStation) # Информация о вокзале отправления пассажира self.passenger_departure_station = get_item( json.get('PassengerDepartureStation'), PassengerStation) # Информация о вокзале прибытия пассажира self.passenger_arrival_station = get_item( json.get('PassengerArrivalStation'), PassengerStation)
def __init__(self, json): # Станции отправления self.origin = json.get('C')[0] # Станции прибытия self.destination = json.get('C')[1] # Код станции отправления пассажира self.origin_code = get_item(json.get('C1'), int) # Код станции прибытия пассажира self.destination_code = get_item(json.get('C2'), int) # Код станции отправления пассажира self.from_code = get_item(json.get('FromCode'), int) # Код станции прибытия пассажира self.to_code = get_item(json.get('ToCode'), int) # Допустимые типы документов self.allowed_doc_types = get_list_from_string( json.get('AllowedDocTypes'), str) # Направление перевозки self.direction_group = get_item(json.get('DirectionGroup'), int)
def __init__(self, json): # Общая информация по запросу self.general_information = get_item(json.get('Z3'), GeneralInformation) # Информация о поезде self.trains: [TrainTrainList] = get_array(json.get('N'), TrainTrainList) # Признак неполной (урезанной по времени) справки. Его наличие означает, что показаны не все поезда. # Чтобы просмотреть все, необходимо указать более узкий диапазон времени отправления или прибытия self.is_full_reference = get_bool_item(json.get('U', False))
def __init__(self, json): # Да Порядковый номер билета в заказе self.ticket_number = get_item(json.get('PR'), int) # Да Стоимость билета с учетом НДС self.ticket_price = get_money(json.get('TF')) # НДС со стоимости перевозки по электронному билету self.tariff_nds = get_money(json.get('TF4')) # НДС со стоимости сервиса по электронному билету self.service_nds = get_money(json.get('TF5')) # Стоимость билетной части по ЭБ self.ticket_eb_price = get_money(json.get('STB')) # Стоимость плацкарты по ЭБ self.ticket_platzkart_price = get_money(json.get('STP')) # НДС со стоимости комиссионного сбора и дополнительнвх услуг self.ads_nds = get_money(json.get('TFB')) # Ставка НДС с тарифа (в процентах) self.percent_tariff_nds = get_item(json.get('STV1'), float) # Ставка НДС с сервиса (в процентах) self.percent_service_nds = get_item(json.get('STV2'), float) # Ставка НДС с комиссионного сбора (в процентах) self.commission_nds = get_item(json.get('STV3'), float) # Информация о льготе или спецтарифе self.privilege_info = get_item(json.get('DL'), int) # Категория билета (Таблица 98) self.ticket_category = json.get('GT') # Ярус места Значение отсутствует для безденежных билетов. # Атрибут description содержит описание занимаемого места self.place_tier = None if json.get('CM') is None else json['CM'].get( 'data') self.place_tier_description = None if json.get( 'CM') is None else json['CM'].get('description') # Информация о пассажире (Таблица 103) self.passenger_info = get_item(json.get('PI'), PassengerInfo) # Да Список мест. Записывается в виде: # 1) «ааа» - номер занимаемого места, # 2) «aaa, bbb, ccc» – перечисление занимаемых мест, # 3) «aaa-ccc» - диапазон занимаемых мест, где aaa, bbb, ccc – занимаемые места (произвольное строковое значение) self.place_list = json.get('H') # Storey EN Нет Требование к этажности вагона (Таблица 104) self.storey = get_item(json.get('Storey'), int) # IDBlank N Да Идентификатор бланка в системе «УФС» self.blank_id = get_item(json.get('IDBlank'), int) # PlaceCount N Да Количество мест, отведенных пассажиру self.place_count = get_item(json.get('PlaceCount'), int) # PIT B Нет Признак выбора РП self.is_rp_selected = json.get('PIT')
def __init__(self, json): # Атрибут ID N Да Идентификатор билета в системе «УФС» self.ticket_identifier = get_item(json.get('ID'), int) self.previous_ticket_identifier = get_item(json.get('PrevID'), int) # Ставка НДС с тарифа (в процентах) self.tariff_nds = get_item(json.get('STV1'), float) # Ставка НДС с сервиса (в процентах) self.service_nds = get_item(json.get('STV2'), float) # Ставка НДС с комиссионного сбора (в процентах) self.commission_nds = get_item(json.get('STV3'), float) # Ставка НДС с рекламационногосбора (сбор за возврат) (в процентах) self.ads_nds = get_item(json.get('STV4'), float) # Сумма возвращаемого НДС со стоимости перевозки по ставке STV1 self.returning_tariff_nds = get_money(json.get('ETF4')) # Сумма возвращаемого НДС со стоимости сервисных услуг по ставке STV2 self.returning_service_nds = get_money(json.get('ETF5')) # Сумма возвращаемого НДС со стоимости комиссионного сбора по ставке STV3 self.returning_commission_nds = get_money(json.get('ETFC')) # Сумма взимаемого НДС со стоимости комиссионного сбора за возврат по ставке STV4 self.returning_ads_nds = get_money(json.get('ETFB')) # Сумма возвращаемой стоимости билетной части self.returning_full_ticket_amount = get_money(json.get('ESB')) # Сумма возвращаемой стоимости плацкарты self.returning_kupe_amount = get_money(json.get('ESP')) # Сумма возвращаемой стоимости сервисных услуг self.returning_service_amount = get_money(json.get('ESS')) # Сумма штрафа за возврат self.fine_amount = get_money(json.get('ESKV')) # Сумма к возврату по данному билету self.amount = get_money(json.get('Amount')) self.json = json
def __init__(self, json): # Номер поезда self.number = json.get('N1') # Номер поезда, отображаемый пассажиру. Данный номер поезда печатается в контрольном купоне self.client_number = json.get('N2') # Маршрут поезда self.route = get_item(json.get('NP'), RouteTimeTable) # Время отправления со станции отправления пассажира self.passenger_departure_date = json.get('T1') # Время стоянки на станции отправления пассажира. Элемент не обязательный в случае, если станция отправления является начальной станцией self.origin_parking_time = json.get('T2') # Время в пути от станции отправления до станции прибытия пассажира self.travel_time = json.get('T3') # Время прибытия на станцию прибытия пассажира self.passenger_arrival_time = json.get('T4') # Время стоянки на станции прибытия пассажира self.destination_parking_time = json.get('T5') # Глубина продажи поезда self.depth_train_sales = get_item(json.get('DepthTrainSales'), DepthTrainSales) # Дополнительная информация о расписании self.additional_info = get_item(json.get('J'), AdditionalInfoTimeTable) # Протяженность маршрута, км self.route_length = get_item(json.get('L'), int) # Наименование фирменного поезда self.train_name = json.get('NN') # Время и дата отправления поезда self.departure_time = get_item(json.get('DepartureTime', {}), DateTime) # Время и дата прибытия поезда self.arrival_time = get_item(json.get('ArrivalTime', {}), DateTime)
def __init__(self, json): # Тип и номер документа self.doc = json.get('PS') # Фамилия, имя, отчество self.fio = json.get('IZ') # Уникальный идентификатор пассажира self.identifier = get_item(json.get('ID'), int) # Пол пассажира self.sex = json.get('FM') # Гражданство пассажира self.citizenship = json.get('GR') # Дата рождения в формате ddMMyyyy self.birth_date = get_compare_datetime(json.get('GD'))
def __init__(self, json): # Количество свободных мест без определения верхних и нижних self.free_places = get_item(json.get('M4'), int) # Количество нижних купейных мест self.kupe_down_free_places = get_item(json.get('M5'), int) # Количество верхних купейных мест self.kupe_up_free_places = get_item(json.get('M6'), int) # Количество нижних боковых мест self.kupe_down_side_free_places = get_item(json.get('M7'), int) # Количество верхних боковых мест self.kupe_up_side_free_places = get_item(json.get('M8'), int) # Мужские места self.man_places = get_item(json.get('X1'), int) # Женские места self.women_places = get_item(json.get('X2'), int) # Целые купе self.whole_kupe = get_item(json.get('X3'), int) # Смешанные купе self.mixed_kupe = get_item(json.get('X4'), int) # Категория вагона self.car_category = json.get('KV') # Количество целых купе self.count_whole_kupe = get_item(json.get('KU'), int)
def __init__(self, json): # Категория вагона self.category = json.get('KV') # Категория вагона для отображения пассажиру self.car_category = json.get('KV1') # Класс обслуживания вагона self.service_class = json.get('CO') # Список услуг self.services = get_list_from_string(json.get('CO_SRV'), str) # Государство/дорога принадлежности вагона self.country_way = json.get('W2') # Владелец вагона self.car_owner = json.get('VB') # Признак категории вагона self.car_category_belonging = json.get('R') # Стоимость билета. Разделитель точка. Один знак после разделителя self.ticket_price = get_money(json.get('TF')) # Минимальная стоимость сервиса. Разделитель точка. Один знак после разделителя self.min_service_price = get_money(json.get('TF1')) # Стоимость максимальная. Разделитель точка. Один знак после разделителя self.max_price = get_money(json.get('TF2')) # Стоимость сервиса. Разделитель точка. Один знак после разделителя self.service_price = get_money(json.get('TF3')) # Признак стоимости за два места self.is_two_place = get_bool_item(json.get('DM')) # Признак стоимости за 4 места self.is_four_place = get_bool_item(json.get('QM')) # Информация о вагоне (Таблица 53) self.car_info = get_item(json.get('CV', [{}])[0], CarInfoTrainList) # Признак участия поезда в программе «Динамическое ценообразование» self.is_dynamic_price = get_bool_item(json.get('UD')) # Признак того, что на данную категорию вагонов снижена стоимость билетов self.is_discount = get_bool_item(json.get('Discount')) # Возможность трехчасового бронирования self.reservation = json.get('Reservation') # Вознаграждение агента self.client_fee = get_item(json.get('ClientFee'), Fee)
def __init__(self, json): # Номер поезда self.number = json.get('N1') # Номер поезда, отображаемый пассажиру. Данный номер поезда печатается в контрольном купоне self.client_number = json.get('N2') # Маршрут поезда self.route = get_item(json.get('NP'), RouteTimeTable) # Время отправления со станции отправления пассажира self.passenger_departure_date = json.get('T1') # Время в пути от станции отправления до станции прибытия пассажира self.travel_time = json.get('T3') # Время прибытия на станцию прибытия пассажира self.passenger_arrival_time = json.get('T4') # Дни следования поезда self.train_days_activity = json.get('DW')
def __init__(self, json): self.transaction_id = get_item(json.get('TransID'), int) self.previous_transaction_id = get_item(json.get('PrevTransID'), int) self.lang = get_item(json.get('Lang'), str) self.last_refund_transaction_id = get_item( json.get('LastRefundTransID'), str) self.stan = get_item(json.get('STAN'), int) self.status = get_item(json.get('TStatus'), int) self.detailed_status = get_item(json.get('RStatus'), int) self.order_number = get_item(json.get('OrderNum'), int) self.is_terminal_only_return = get_bool_item( json.get('IsReturnedOnRailwayTerminal')) self.segment_type = get_item(json.get('SegmentType'), int) self.comment = get_item(json.get('Comment'), str) self.type = get_item(json.get('Type'), int) self.create_at = get_item(json.get('CreateTime', {}), DateTime) self.confirmed_at = get_item(json.get('ConfirmTime', {}), DateTime) self.booked_at = get_item(json.get('BookingTime', {}), DateTime) self.confirm_till = get_item(json.get('ConfirmTimeLimit', {}), DateTime) self.amount = get_money(json.get('Amount')) self.fee = get_money(json.get('Fee')) self.places_qunatity = get_item(json.get('PlaceCount'), int) self.train_number = get_item(json.get('TrainNum'), str) self.car_number = get_item(json.get('CarNum'), int) self.car_type = get_item(json.get('CarType'), str) self.departure = get_item(json.get('DepartTime', {}), DateTime) self.phone = get_item(json.get('Phone'), str) self.email = get_item(json.get('Email'), str) self.service_class = get_item(json.get('ServiceClass'), str) self.origin = json.get('StationFrom', {}).get('data') self.origin_code = json.get('StationFrom', {}).get('Code') self.destination = json.get('StationTo', {}).get('data') self.destination_code = json.get('StationTo', {}).get('Code') self.gender_cabin = get_item(json.get('GenderClass'), int) self.arrival = get_item(json.get('ArrivalTime', {}), DateTime) self.carrier = get_item(json.get('Carrier'), str) self.carrier_inn = get_item(json.get('CarrierInn'), int) self.time_desc = get_item(json.get('TimeDescription'), str) self.ereg_expire_at = get_item(json.get('ExpireSetEr', {}), DateTime) self.direction = get_item(json.get('GroupDirection'), int) self.terminal = get_item(json.get('Terminal'), str) self.is_test = get_item(json.get('IsTest'), int) self.domain = get_item(json.get('Domain'), str) self.formpay = get_item(json.get('PayTypeId'), str) self.ufs_profit = get_money(json.get('UfsProfit')) self.is_international = get_bool_item(json.get('IsInternational')) self.change_food_till = get_item(json.get('ChangeFoodBefore', {}), DateTime) self.blanks = get_array(json.get('Blank'), BlankTransInfo) self.pax = get_array(json.get('Passenger'), PasssengerTransInfo) self.json = json
def __init__(self, json): self.date = json.get('Date') self.time_offset = json.get('TimeOffset') self.time_type = get_item(json.get('TimeType'), int)
def __init__(self, json): self.id = get_item(json.get('ID'), int) self.previous_id = get_item(json.get('PrevID'), int) self.return_flag = get_item(json.get('RetFlag'), int) self.amount = get_money(json.get('Amount')) self.amount_nds = get_money(json.get('AmountNDS')) self.service_nds = get_money(json.get('ServiceNDS')) self.ticket_amount = get_money(json.get('TicketAmount')) self.reservation_seat_amount = get_money( json.get('ReservedSeatAmount')) self.tariff_rate_nds = get_item(json.get('TariffRateNds'), float) self.service_rate_nds = get_item(json.get('ServiceRateNds'), float) self.fee_rate_nds_commission = get_item( json.get('CommissionFeeRateNds'), float) self.reclame_rate_nds = get_item(json.get('ReclamationCollectRateNds'), float) self.return_tariff_nds = get_item(json.get('TariffReturnNds'), float) self.return_service_nds = get_item(json.get('ServiceReturnNds'), float) self.return_fee_rate_nds_commission = get_item( json.get('CommissionFeeReturnNds'), float) self.return_reclame_rate_nds = get_item( json.get('ReclamationCollectReturnNds'), float) self.return_ticket_amount = get_item(json.get('TicketReturnAmount'), float) self.return_reservation_seat_amount = get_item( json.get('ReservedSeatReturnAmount'), float) self.return_service_amount = get_item(json.get('ServiceReturnAmount'), float) self.return_reclame_amount = get_item( json.get('ReclamationCollectReturnAmount'), float) self.spec_info = get_item(json.get('DL'), str) self.tariff_type = get_item(json.get('TariffType'), str) self.nubmer = get_item(json.get('TicketNum'), str) self.krs_nubmer = get_item(json.get('RefundReceiptNum'), str) self.ereg_set_at = get_item(json.get('RegTime', {}), DateTime) self.ereg = get_item(json.get('RemoteCheckin'), int) self.is_original_print = get_item(json.get('PrintFlag'), int) self.rzhd_status = get_item(json.get('RzhdStatus'), int) self.passenger_card_nubmer = get_item(json.get('PassengerCard'), str) self.ticket_token = get_item(json.get('TicketToken'), int) self.food = get_item(json.get('Food', {}), Food) self.json = json
def __init__(self, json): self.carrier = get_item(json.get('PER'), str) self.carrier_inn = get_item(json.get('INN'), int) self.carrier_country_code = get_item(json.get('GOS'), str) self.created_at = get_compare_datetime(json.get('D2'), json.get('TB')) self.train_number = get_item(json.get('N1'), str) self.departure = get_compare_datetime(json.get('D3'), json.get('T1')) self.train_category = get_item(json.get('KN'), str) self.train_name = get_item(json.get('KN1'), str) self.origin = get_item(json.get('C')[0], str) self.destination = get_item(json.get('C')[1], str) self.origin_code = get_item(json.get('CC1'), int) self.destination_code = get_item(json.get('CC2'), int) self.car_number = get_item(json.get('VH'), int) self.segment_type = get_item(json.get('SegmentType'), str) self.car_type = get_item(json.get('KV'), str) self.service_class = get_item(json.get('KL'), str) self.gender_cabin = get_item(json.get('R'), str) self.carrier_name = get_item(json.get('VB'), str) self.train_brand = get_item(json.get('BRN'), str) self.places_quantity = get_item(json.get('M1'), int) self.places = get_list_from_string(json.get('H'), str) self.amount_with_nds = get_money(json.get('TF0')) self.additional_info = get_item(json.get('GA'), str) self.time_info = get_item(json.get('GB'), str) self.high_comfort = get_item(json.get('R0'), str) self.arrival = get_compare_datetime(json.get('D1'), json.get('T4')) self.start_departure = get_item(json.get('DZ'), str) self.main_departure = get_item(json.get('DepartureTime', {}), DateTime) self.delta_departure_tz = get_item(json.get('DeltaDepartureLocalDate'), int) self.main_arrival = get_item(json.get('ArrivalTime', {}), DateTime) self.delta_arrival_tz = get_item(json.get('DeltaArrivalLocalDate'), int) self.blanks = get_array(json.get('ET'), BlankXml) self.amount_ticekt = get_money(json.get('Amount')) self.ufs_transaction_id = get_item(json.get('IDTrans'), int) self.status = get_item(json.get('Status'), str) self.balance = get_money(json.get('Balance')) self.balance_limit = get_money(json.get('BalanceLimit')) self.print_point = get_item(json.get('PrintPoint'), str) self.print_phone = get_item(json.get('PrintPhone'), str) self.test = get_item(json.get('Test'), str) self.is_print = get_bool_item(json.get('IsEticketPrintPoint')) self.confirm_till = get_item(json.get('ConfirmTimeLimit', {}), DateTime) self.long_reservation = get_bool_item(json.get('reservation')) self.reservation_type = get_item(json.get('ReservationType'), str) self.client_fee = get_money(json.get('ClientFee')) self.client_tax_percent = get_item(json.get('ClientTaxPercent'), float) self.id = get_item(json.get('OrderId'), int) self.json = json
def __init__(self, json): self.ordinal_id = get_item(json.get('PR'), int) self.number = get_item(json.get('NEB'), int) self.amount_with_nds = get_money(json.get('TF')) self.tf4 = get_money(json.get('TF4')) self.tf5 = get_money(json.get('TF5')) self.additional_price = get_money(json.get('STB')) self.base_fare = get_money(json.get('STP')) self.tfb = get_money(json.get('TFB')) self.stv1 = get_item(json.get('STV1'), float) self.stv2 = get_item(json.get('STV2'), float) self.stv3 = get_item(json.get('STV3'), float) self.info = get_item(json.get('DL'), str) self.category = get_item(json.get('GT'), str) self.tier = get_item(json.get('CM'), Tier) self.passenger = get_item(json.get('PI'), PassengerInfo) self.places = get_item(json.get('H'), str) self.id = get_item(json.get('IDBlank'), int) self.rp = get_bool_item(json.get('PIT')) self.ereg = get_item(json.get('ER'), str) self.json = json
def __init__(self, json): # Идентификатор билета в заказе в шлюзе self.ticket_identifier = get_item(json.get('ID'), int) # Номер билета в заказе в АСУ «Экспресс-3» self.ticket_number = get_item(json.get('TicketNum'), int)
def __init__(self, json): # Уникальный ключ, по которому выбирается значение из словаря self.key = json.get('key') # Значение уникального ключа self.value = get_item(json.get('value'), int)
def __init__(self, json): # Дата, до которой возможна покупка билетов на текущий день self.date = json.get('Date') # Количество дней продажи билетов, не считая текущую дату self.days = get_item(json.get('Days'), int)
def __init__(self, json): # Числовая часть номера поезда self.number_part = get_item(json.get('trainNum'), int) # Признак логического поезда. True показывает, что в этом поезде могут быть вагоны, которые следуют # с одним номером поезда, а другие с другим. self.is_logical_train = get_bool_item(json.get('isLogicalTrain')) # Номер поезда self.number = json.get('N1') # Номер поезда, отображаемый пассажиру. Данный номер поезда печатается в контрольном купоне self.client_number = json.get('N2') # Категория поезда self.category = json.get('KN') # Наименование фирменного поезда print(json.get('NN'), flush=True) print(json, flush=True) self.train_name = json.get('NN') # Маршрут поезда self.route = get_item(json.get('NP'), RouteTimeTable) # Дата отправления пассажира в формате «ДД.ММ» self.passenger_departure_time = json.get('D') # Дата прибытия поезда в формате «ДД.ММ» self.passenger_arrival_time = json.get('D1') # Время отправления со станции отправления пассажира self.passenger_departure_date = json.get('T1') # Время стоянки на станции отправления пассажира. Элемент не обязательный в случае, если станция отправления является начальной станцией self.origin_parking_time = json.get('T2') # Время в пути от станции отправления до станции прибытия пассажира self.travel_time = json.get('T3') # Время прибытия на станцию прибытия пассажира self.passenger_arrival_date = json.get('T4') # Время стоянки на станции прибытия пассажира self.destination_parking_time = json.get('T5') # Признак того, что на поезд возможна электронная регистрация. Если в ответе тег ER отображается, то на поезд возможна ЭР self.is_electronic_registration = get_bool_item(json.get('ER')) # Дата отправления поезда с начальной станции в формате «ДД.ММ» self.origin_departure_time = json.get('DZ') # Протяженность маршрута, км self.route_length = get_item(json.get('LL'), int) # Информация о вагонах определенной категории self.cars = get_array(json.get('CK'), CarTrainList) # Уведомление пассажира об особых условиях поездки self.special_conditions = get_item(json.get('GA'), SpecialConditions) # Бренд поезда self.brand = json.get('BRN') # Признак пригородного поезда self.is_suburban_train = get_bool_item(json.get('IsSuburbanTrain')) # Признак пересечения границы Если в ответе тег CrossBorder отображается, то на поезд пересекает границу РФ self.cross_border = json.get('CrossBorder') # Время и дата отправления поезда self.departure_time = get_item(json.get('DepartureTime', {}), DateTime) # Время и дата прибытия поезда self.arrival_time = get_item(json.get('ArrivalTime', {}), DateTime) # Информация о вокзале отправления и прибытия пассажира self.passenger_railway_station = get_item(json.get('VOK'), PassengerRailwayStation) # Информация о вокзале отправления пассажира self.passenger_departure_station = get_item( json.get('PassengerDepartureStation'), PassengerStation) # Информация о вокзале прибытия пассажира self.passenger_arrival_station = get_item( json.get('PassengerArrivalStation'), PassengerStation)
def __init__(self, json): # Признак того, что на поезд возможна электронная регистрация. # Если в ответе тег ER отображается, то на поезд возможна ЭР self.is_electronic_registration = get_bool_item(json.get('ER')) # Номер вагона self.car_num = get_item(json.get('VH'), int) # Количество свободных мест без определения верхних и нижних self.free_places = get_item(json.get('M4'), int) # Количество нижних купейных мест self.kupe_down_free_places = get_item(json.get('M5'), int) # Количество верхних купейных мест self.kupe_up_free_places = get_item(json.get('M6'), int) # Количество нижних боковых мест self.kupe_down_side_free_places = get_item(json.get('M7'), int) # Количество верхних боковых мест self.kupe_up_side_free_places = get_item(json.get('M8'), int) # Мужские места self.man_places = get_item(json.get('X1'), int) # Женские места self.women_places = get_item(json.get('X2'), int) # Целые купе self.whole_kupe = get_item(json.get('X3'), int) # Смешанные купе self.mixed_kupe = get_item(json.get('X4'), int) # Количество целых купе self.count_whole_kupe = get_item(json.get('KU'), int) # Выбор постельного белья Если данный тег вернулся, то есть возможность выбрать/отказаться от белья. # Если данного тега нет, то нет возможности выбора бель self.linens = get_bool_item(json.get('BL')) # Номера свободных мест (через запятую). К номеру места может быть добавлен символ для гендерных вагонов self.free_places_list = get_list_from_string(json.get('H'), str) # Категория вагона self.car_category = json.get('KV') # Признак двухэтажного вагона self.is_two_storey = get_bool_item(json.get('TwoStorey')) # Описание типа маршрута Может принимать значение БП - беспересадочный вагон. Данный вагон может выйти в составе одного поезда, а приехать в пункт назначения в составе другого поезда self.route_type = json.get('AA') # Номера свободных мест у стола. self.table_free_places = json.get('MP') # Номера свободных мест рядом с детской площадкой self.playground_free_places = json.get('MV') # Номера свободных мест у стола рядом с детской площадкой self.table_playground_free_places = json.get('MB') # Номера свободных мест рядом с местами для пассажиров с животными. self.animals_free_places = json.get('MD') # Номера свободных обычных мест (не у стола) self.default_free_places = json.get('MN') # Признак выбора РП. self.is_rp_selected = get_bool_item(json.get('PIT')) # Дата и время прибытия вагона. Тег является обязательным для беспересадочного вагона self.arrival = get_compare_datetime(json.get('D1'), json.get('T4')) # Номера мест в отсеке self.place_numbers = json.get('MCP') # Номера откидных мест self.folding_place_numbers = json.get('MFP') # Номера мест для пассажиров с животными. self.animals_place_numbers = json.get('MPP') # Номера мест для матери и ребенка self.mother_place_numbers = json.get('MMB') # Номера мест для пассажиров с детьми self.children_place_numbers = json.get('MPC') # Признак плавающего поезда (переправа по средствам парома) self.is_floating = get_bool_item(json.get('PLP')) # Код типа мест self.place_type_number = json.get('HK') # Подтип вагона self.subtype = json.get('PT') # Верхние купейные места self.up_place = get_item(json.get('UpPlace'), PlacesCarListEx) # Нижние купейные места self.down_place = get_item(json.get('DownPlace'), PlacesCarListEx) # Нижние боковые места self.down_side_place = get_item(json.get('DownSidePlace'), PlacesCarListEx) # Верхние боковые места self.up_side_place = get_item(json.get('UpSidePlace'), PlacesCarListEx) # Нижние купейние места у туалета (места 33, 35) self.down_near_wc_place = get_item(json.get('DownNearWcPlace'), PlacesCarListEx) # Верхние купейние места у туалета (места 34, 36) self.up_near_wc_place = get_item(json.get('UpNearWcPlace'), PlacesCarListEx) # Нижнее боковое место у туалета (место 37) self.down_side_near_wc_place = get_item( json.get('DownSideNearWcPlace'), PlacesCarListEx) # Верхнее боковое место у туалета (место 38) self.up_side_near_wc_place = get_item(json.get('UpSideNearWcPlace'), PlacesCarListEx) # Схема вагона self.schema = json.get('SCHEMA')