Веб-служба выписки: различия между версиями
(→Общий формат запроса / ответа выписки) |
|||
Строка 1: | Строка 1: | ||
− | = Информация = | + | == Информация == |
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета. | Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета. | ||
Строка 16: | Строка 16: | ||
*войдировать билет. | *войдировать билет. | ||
− | = Общий формат запроса / ответа выписки = | + | == Общий формат запроса / ответа выписки == |
− | Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме | + | Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписать нельзя. |
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing | WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing | ||
Строка 33: | Строка 33: | ||
<Ticketing> | <Ticketing> | ||
<BookID>?</BookID> | <BookID>?</BookID> | ||
− | <!--BookID | + | <!--BookID — Id заказа в системе Nemo--> |
<ValCompany>?</ValCompany> | <ValCompany>?</ValCompany> | ||
− | <!--ValCompany | + | <!--ValCompany — валидирующий перевозчик (тот кто выписывает билет)--> |
<Comission Amount="?" Percent="?" CurrencyCode="?"/> | <Comission Amount="?" Percent="?" CurrencyCode="?"/> | ||
− | <!--Comission Amount | + | <!--Comission Amount — комиссии, указываются или в валюте, или в процентах, для валюты обязательным является |
код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте--> | код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте--> | ||
− | <!--Amount | + | <!--Amount — комиссия в валюте--> |
− | <!--Percent | + | <!--Percent — комиссия в процентах--> |
− | <!--CurrencyCode | + | <!--CurrencyCode — код валюты комиссии--> |
</Ticketing> | </Ticketing> | ||
</Request> | </Request> | ||
<Source> | <Source> | ||
<ClientId>?</ClientId> | <ClientId>?</ClientId> | ||
− | <!--ClientId | + | <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе |
"Администрирование" ⇨ "Веб-служба. Авторизация".--> | "Администрирование" ⇨ "Веб-служба. Авторизация".--> | ||
<APIKey>?</APIKey> | <APIKey>?</APIKey> | ||
− | <!--APIKey | + | <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе |
"Администрирование" ⇨ "Веб-служба. Авторизация".--> | "Администрирование" ⇨ "Веб-служба. Авторизация".--> | ||
<Language>?</Language> | <Language>?</Language> | ||
− | <!--Language | + | <!--Language — язык, например: RU--> |
<Currency>?</Currency> | <Currency>?</Currency> | ||
− | <!-- Currency | + | <!-- Currency — валюта, например: RUB, EUR--> |
</Source> | </Source> | ||
</RequestBin> | </RequestBin> | ||
Строка 75: | Строка 75: | ||
<Response> | <Response> | ||
<Ticketing ID="?" Status="?" Code="?"> | <Ticketing ID="?" Status="?" Code="?"> | ||
− | <!--ID | + | <!--ID — Id брони в системе Nemo, целое число, обязательный--> |
− | <!--Status | + | <!--Status — индикатор состояния брони, возможные значения: |
− | booked | + | booked — забронировано, |
− | canceled | + | canceled — бронь отменена, |
− | ticket | + | ticket — выписана |
− | UNDEFINED | + | UNDEFINED — статус не определён--> |
− | <!--Code | + | <!--Code — код брони в системе поставщика--> |
<QueryPlace xsi:nil="true"/> | <QueryPlace xsi:nil="true"/> | ||
− | <!--QueryPlace | + | <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди--> |
<Flight FlightId="?"> | <Flight FlightId="?"> | ||
− | <!--FlightId | + | <!--FlightId — Id перелёта в системе Nemo--> |
<WebService>?</WebService> | <WebService>?</WebService> | ||
− | <!--WebService | + | <!--WebService — поставщик перелёта--> |
<ValCompany>?</ValCompany> | <ValCompany>?</ValCompany> | ||
− | <!--ValCompany | + | <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA--> |
<URL>?</URL> | <URL>?</URL> | ||
− | <!--URL | + | <!--URL — ссылка на бронирование конкретного перелета--> |
<Segments> | <Segments> | ||
<Segment SegNum="?" SegGroupNum="?"> | <Segment SegNum="?" SegGroupNum="?"> | ||
− | <!--SegNum | + | <!--SegNum — номер сегмента в перелёте--> |
<!--SegGroupNum – номер плеча перелёта--> | <!--SegGroupNum – номер плеча перелёта--> | ||
<DepAirp CodeType="IATA">?</DepAirp> | <DepAirp CodeType="IATA">?</DepAirp> | ||
− | <!--DepAirp | + | <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва |
− | или SVO | + | или SVO — Шереметьево--> |
<DepTerminal>?</DepTerminal> | <DepTerminal>?</DepTerminal> | ||
− | <!--DepTerminal | + | <!--DepTerminal — терминал пункта отправления, если пустое значение, |
то в аэропорту всего 1 терминал--> | то в аэропорту всего 1 терминал--> | ||
<ArrAirp CodeType="IATA">?</ArrAirp> | <ArrAirp CodeType="IATA">?</ArrAirp> | ||
− | <!--ArrAirp | + | <!--ArrAirp — аэропорт прибытия--> |
<ArrTerminal>?</ArrTerminal> | <ArrTerminal>?</ArrTerminal> | ||
− | <!--ArrTerminal | + | <!--ArrTerminal — терминал пункта прибытия, если пустое значение, |
то в аэропорту всего 1 терминал--> | то в аэропорту всего 1 терминал--> | ||
<OpAirline>?</OpAirline> | <OpAirline>?</OpAirline> | ||
− | <!--OpAirline | + | <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот--> |
<MarkAirline>?</MarkAirline> | <MarkAirline>?</MarkAirline> | ||
− | <!--MarkAirline | + | <!--MarkAirline — авиакомпания, продающая перелёт--> |
<FlightNumber>?</FlightNumber> | <FlightNumber>?</FlightNumber> | ||
− | <!--FlightNumber | + | <!--FlightNumber — номер рейса--> |
<AircraftType>?</AircraftType> | <AircraftType>?</AircraftType> | ||
− | <!--AircraftType | + | <!--AircraftType — тип воздушного судна, код--> |
<DepDateTime>?</DepDateTime> | <DepDateTime>?</DepDateTime> | ||
− | <!--DepDateTime | + | <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> |
<ArrDateTime>?</ArrDateTime> | <ArrDateTime>?</ArrDateTime> | ||
− | <!--ArrDateTime | + | <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС--> |
<StopNum>?</StopNum> | <StopNum>?</StopNum> | ||
− | <!--StopNum | + | <!--StopNum — количество остановок--> |
<BookingCodes> | <BookingCodes> | ||
<BookingCode ClassType="?"> | <BookingCode ClassType="?"> | ||
− | <!--ClassType | + | <!--ClassType — класс перелета, например: economy--> |
<BookingCode>?</BookingCode> | <BookingCode>?</BookingCode> | ||
− | <!--BookingCode | + | <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс |
может записываться разными литерами, например: L--> | может записываться разными литерами, например: L--> | ||
</BookingCode> | </BookingCode> | ||
</BookingCodes> | </BookingCodes> | ||
<FlightTime>?</FlightTime> | <FlightTime>?</FlightTime> | ||
− | <!--FlightTime | + | <!--FlightTime — время перелёта в минутах--> |
<TimeZone Departure="?" Arrival="?"/> | <TimeZone Departure="?" Arrival="?"/> | ||
<!--Departure временная зона аэропорта отправления--> | <!--Departure временная зона аэропорта отправления--> | ||
− | <!--Arrival | + | <!--Arrival — временная зона аэропорта прибытия--> |
<ETicket>?</ETicket> | <ETicket>?</ETicket> | ||
− | <!--ETicket | + | <!--ETicket — признак электронного билета, значения: true / false--> |
</Segment> | </Segment> | ||
</Segments> | </Segments> | ||
<PricingInfo Refundable="?"> | <PricingInfo Refundable="?"> | ||
− | <!--Refundable | + | <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно--> |
<PassengerFare Type="?" Quantity="?"> | <PassengerFare Type="?" Quantity="?"> | ||
− | <!--Type | + | <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети, |
− | INF | + | INF — младенцы, INS — младенцы с местом--> |
− | <!--Quantity | + | <!--Quantity — количество пассажиров данного типа--> |
<BaseFare Currency="?" Amount="?"/> | <BaseFare Currency="?" Amount="?"/> | ||
− | <!--BaseFare | + | <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены--> |
<EquiveFare Currency="?" Amount="?"/> | <EquiveFare Currency="?" Amount="?"/> | ||
− | <!--EquiveFare | + | <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи). |
− | Currency | + | Currency — код валюты, Amount — значение цены--> |
<TotalFare Currency="?" Amount="?"/> | <TotalFare Currency="?" Amount="?"/> | ||
− | <!--TotalFare | + | <!--TotalFare — суммарная стоимость, в эквивалентной валюте. |
− | Currency | + | Currency — код валюты, Amount — значение цены--> |
<Taxes> | <Taxes> | ||
<Tax CurCode="?" TaxCode="?" Amount="?"/> | <Tax CurCode="?" TaxCode="?" Amount="?"/> | ||
− | <!--CurCode | + | <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы--> |
</Taxes> | </Taxes> | ||
<Tariffs> | <Tariffs> | ||
<Tariff Code="?" SegNum="?"/> | <Tariff Code="?" SegNum="?"/> | ||
− | <!--Code | + | <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф--> |
</Tariffs> | </Tariffs> | ||
<FareCalc>?</FareCalc> | <FareCalc>?</FareCalc> | ||
− | <!--FareCalc | + | <!--FareCalc — строка расчёта цены--> |
<LastTicketDateTime>?</LastTicketDateTime> | <LastTicketDateTime>?</LastTicketDateTime> | ||
− | <!--LastTicketDateTime | + | <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС--> |
</PassengerFare> | </PassengerFare> | ||
</PricingInfo> | </PricingInfo> | ||
<Commission/> | <Commission/> | ||
<Charges Currency="?">?</Charges> | <Charges Currency="?">?</Charges> | ||
− | <!--Charges | + | <!--Charges — сборы, Currency — код валюты--> |
<TotalPrice Currency="?">?</TotalPrice> | <TotalPrice Currency="?">?</TotalPrice> | ||
− | <!--TotalPrice | + | <!--TotalPrice — итоговая цена, Currency — код валюты--> |
</Flight> | </Flight> | ||
<Agency Name="?"> | <Agency Name="?"> | ||
− | <!--Name | + | <!--Name — название агентства--> |
<Telephone Type="?"> | <Telephone Type="?"> | ||
− | <!--Type | + | <!--Type — тип номера, обязательный, возможные значения: |
− | M | + | M — мобильный, H — домашний, B — рабочий, A — агенство--> |
<!--Optional:--> | <!--Optional:--> | ||
<PhoneNumber>?</PhoneNumber> | <PhoneNumber>?</PhoneNumber> | ||
− | <!--PhoneNumber | + | <!--PhoneNumber — номер телефона--> |
<!--Optional:--> | <!--Optional:--> | ||
<CountryAccessCode>?</CountryAccessCode> | <CountryAccessCode>?</CountryAccessCode> | ||
− | <!--CountryAccessCode | + | <!--CountryAccessCode — код страны--> |
<!--Optional:--> | <!--Optional:--> | ||
<AreaCityCode>?</AreaCityCode> | <AreaCityCode>?</AreaCityCode> | ||
− | <!--AreaCityCode | + | <!--AreaCityCode — код региона/города--> |
</Telephone> | </Telephone> | ||
<Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> | <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> | ||
− | <!--City | + | <!--City — город--> |
− | <!--State | + | <!--State — штат--> |
− | <!--StreetAddress | + | <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)--> |
− | <!--PostalCode | + | <!--PostalCode — почтовый индекс--> |
− | <!--CountryCode | + | <!--CountryCode — код страны (RU, UA и т.п.)--> |
</Agency> | </Agency> | ||
<ItinReceipts Encoding="?" Format="?"> | <ItinReceipts Encoding="?" Format="?"> | ||
− | <!--ItinReceipts | + | <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат--> |
<FareStored xsi:nil="true"/> | <FareStored xsi:nil="true"/> | ||
<Travellers> | <Travellers> | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
<Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> | <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> | ||
− | <!--Type | + | <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые, |
− | CNN | + | CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом--> |
− | <!--IsContact | + | <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является, |
контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них | контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них | ||
может быть контактным лицом, по умолчанию false--> | может быть контактным лицом, по умолчанию false--> | ||
− | <!--Num | + | <!--Num — порядковый номер пассажира, начинается с 1--> |
− | <!--LinkedTo | + | <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок--> |
− | <!--TravellerId | + | <!--TravellerId — устаревший параметр, не используется--> |
<Meal>?</Meal> | <Meal>?</Meal> | ||
− | <!--Meal | + | <!--Meal — код типа питания, возможные значения: |
− | NONE | + | NONE — отсутствует |
− | AVML | + | AVML — Азиатская вегетарианская кухня |
− | BLML | + | BLML — Блюда щадящей диеты |
− | CHML | + | CHML — Детское питание |
− | CHPC | + | CHPC — Детский холодный завтрак |
− | СНСС | + | СНСС — Детский горячий завтрак |
− | CHHC | + | CHHC — Детский ланч, ветчина и сыр |
− | PBJS | + | PBJS — Детский ланч, ореховое масло |
− | CHMC | + | CHMC — Детский обед макароны с сыром |
− | DBML | + | DBML — Диабетическое питание |
− | FPML | + | FPML — Фрукты |
− | GFML | + | GFML — Питание без клейковины |
− | HFML | + | HFML — Питание богатое клетчаткой |
− | HNML | + | HNML — Индусская кухня |
− | BBML | + | BBML — Питание для младенцев |
− | KSML | + | KSML — Кошерная кухня |
− | SMKB | + | SMKB — Кошерный завтрак |
− | SMKL | + | SMKL — Кошерный ланч |
− | SMKD | + | SMKD — Кошерный обед |
− | LPML | + | LPML — Малобелковое питание |
− | LCML | + | LCML — Низкокалорийное питание |
− | LFML | + | LFML — Низкохолестериновое питание |
− | PRML | + | PRML — Низкопуриновое питание |
− | LSML | + | LSML — Малосоленое питание |
− | MOML | + | MOML — Мюсли |
− | NLML | + | NLML — Безмолочные продукты |
− | ORML | + | ORML — Восточная кухня |
− | RVML | + | RVML — Сырые овощи |
− | SFML | + | SFML — Морепродукты |
− | SPML | + | SPML — Особое питание |
− | VLML | + | VLML — Вегетарианское, молоко и яйца |
− | VGML | + | VGML — Строго вегетарианское питание |
− | VJML | + | VJML — Джайнизское вегетарианское |
− | VOML | + | VOML — Восточное вегетарианское питание--> |
<PersonalInfo DateOfBirth="?" Nationality="?" Gender="?"> | <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?"> | ||
− | <!--DateOfBirth | + | <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--> |
− | <!--Nationality | + | <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> |
− | <!--Gender | + | <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)--> |
<FirstName>?</FirstName> | <FirstName>?</FirstName> | ||
− | <!--FirstName | + | <!--FirstName — имя пассажира--> |
<LastName>?</LastName> | <LastName>?</LastName> | ||
− | <!--LastName | + | <!--LastName — фамилия пассажира--> |
<!--Optional:--> | <!--Optional:--> | ||
<MiddleName>?</MiddleName> | <MiddleName>?</MiddleName> | ||
− | <!--MiddleName | + | <!--MiddleName — отчество пассажира--> |
</PersonalInfo> | </PersonalInfo> | ||
<LoyaltyCard OpCode="?" Number="?"/> | <LoyaltyCard OpCode="?" Number="?"/> | ||
− | <!--OpCode | + | <!--OpCode — код авиакомпании--> |
− | <!--Number | + | <!--Number — номер карточки--> |
<ContactInfo> | <ContactInfo> | ||
<!--Optional:--> | <!--Optional:--> | ||
<EmailID>?</EmailID> | <EmailID>?</EmailID> | ||
− | <!--EmailID | + | <!--EmailID — контактный email--> |
<!--Optional:--> | <!--Optional:--> | ||
<Telephone Type="?"> | <Telephone Type="?"> | ||
− | <!--Type | + | <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий--> |
<!--Optional:--> | <!--Optional:--> | ||
<PhoneNumber>?</PhoneNumber> | <PhoneNumber>?</PhoneNumber> | ||
− | <!--PhoneNumber | + | <!--PhoneNumber — номер телефона--> |
<!--Optional:--> | <!--Optional:--> | ||
<CountryAccessCode>?</CountryAccessCode> | <CountryAccessCode>?</CountryAccessCode> | ||
− | <!--CountryAccessCode | + | <!--CountryAccessCode — код страны--> |
<!--Optional:--> | <!--Optional:--> | ||
<AreaCityCode>?</AreaCityCode> | <AreaCityCode>?</AreaCityCode> | ||
− | <!--AreaCityCode | + | <!--AreaCityCode — код региона/города--> |
</Telephone> | </Telephone> | ||
</ContactInfo> | </ContactInfo> | ||
<DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> | <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> | ||
− | <!--DocType | + | <!--DocType — тип документа, возможные значения: |
− | Р | + | Р — Паспорт |
A – Паспорт иностранца | A – Паспорт иностранца | ||
− | С | + | С — Внутренний гражданский паспорт |
F – Документ заменяющий паспорт | F – Документ заменяющий паспорт | ||
− | М | + | М — Воинское удостоверение |
N – Сертификат натурализации(специфичный документ США) | N – Сертификат натурализации(специфичный документ США) | ||
T – Док.повторного въезда, паспорт беженца | T – Док.повторного въезда, паспорт беженца | ||
V – Документ для пересечения границы--> | V – Документ для пересечения границы--> | ||
− | <!--DocNum | + | <!--DocNum — номер документа--> |
− | <!--CountryCode | + | <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> |
− | <!--DocElapsedTime | + | <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> |
<VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> | <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> | ||
− | <!--Num | + | <!--Num — номер визы--> |
− | <!--IssueDate | + | <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы--> |
− | <!--IssueCountry | + | <!--IssueCountry — страна выдачи визы--> |
− | <!--IssuePlace | + | <!--IssuePlace — место выдачи визы--> |
− | <!--BirthCountry | + | <!--BirthCountry — страна рождения(IATA код страны)--> |
− | <!--BirthCity | + | <!--BirthCity — город рождения(название)--> |
<ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> | <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> | ||
− | <!--City | + | <!--City — город--> |
− | <!--State | + | <!--State — штат или область въезда--> |
− | <!--StreetAddress | + | <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.--> |
− | <!--PostalCode | + | <!--PostalCode — почтовый код--> |
− | <!--CountryCode | + | <!--CountryCode — код страны--> |
<PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> | <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> | ||
<!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются--> | <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются--> | ||
− | <!--SmokingAllowed | + | <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих--> |
− | <!--Location | + | <!--Location — положение места в ряде, возможные значения: |
− | W | + | W — у окна (Window) |
− | M | + | M — где-то в середине ряда (Middle) |
− | NPW | + | NPW — возле прохода (NearPassengerWay) |
− | NS | + | NS — нет предпочтения (NotSpecified)--> |
− | <!--RowNumber | + | <!--RowNumber — номер ряда--> |
− | <!--PlaceNumber | + | <!--PlaceNumber — номер места--> |
− | <!--SegNumber | + | <!--SegNumber — номер сегмента--> |
<DocStringFormats> | <DocStringFormats> | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
<DocStringFormat>?</DocStringFormat> | <DocStringFormat>?</DocStringFormat> | ||
− | <!--DocStringFormat | + | <!--DocStringFormat — формат паспортной строки, возможные значения: |
− | DOCS | + | DOCS — строка формата DOCS, FOID — строка формата FOID--> |
</DocStringFormats> | </DocStringFormats> | ||
</Traveller> | </Traveller> | ||
Строка 328: | Строка 328: | ||
<Errors> | <Errors> | ||
<Error Code="?"> | <Error Code="?"> | ||
− | <!--Code | + | <!--Code — код ошибки в системе Nemo--> |
<ServiceErrorMessage>?</ServiceErrorMessage> | <ServiceErrorMessage>?</ServiceErrorMessage> | ||
− | <!--ServiceErrorMessage | + | <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика--> |
<Message>?</Message> | <Message>?</Message> | ||
− | <!--Message | + | <!--Message — сообщение об ошибке от системы Nemo--> |
</Error> | </Error> | ||
</Errors> | </Errors> | ||
Строка 344: | Строка 344: | ||
</div> | </div> | ||
− | = Общий формат запроса / ответа войдирования = | + | == Общий формат запроса / ответа войдирования == |
Данный запрос запускается после выписки билета, если необходимо его отменить. | Данный запрос запускается после выписки билета, если необходимо его отменить. | ||
Строка 361: | Строка 361: | ||
<VoidTicket> | <VoidTicket> | ||
<BookID>?</BookID> | <BookID>?</BookID> | ||
− | <!--BookID | + | <!--BookID — Id брони в системе Nemo, целое число--> |
</VoidTicket> | </VoidTicket> | ||
</Request> | </Request> | ||
<Source> | <Source> | ||
<ClientId>?</ClientId> | <ClientId>?</ClientId> | ||
− | <!--ClientId | + | <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе |
"Администрирование" ⇨ "Веб-служба. Авторизация".--> | "Администрирование" ⇨ "Веб-служба. Авторизация".--> | ||
<APIKey>?</APIKey> | <APIKey>?</APIKey> | ||
− | <!--APIKey | + | <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе |
"Администрирование" ⇨ "Веб-служба. Авторизация".--> | "Администрирование" ⇨ "Веб-служба. Авторизация".--> | ||
<Language>?</Language> | <Language>?</Language> | ||
− | <!--Language | + | <!--Language — язык, например: RU--> |
<Currency>?</Currency> | <Currency>?</Currency> | ||
− | <!-- Currency | + | <!-- Currency — валюта, например: RUB, EUR--> |
</Source> | </Source> | ||
</RequestBin> | </RequestBin> | ||
Строка 394: | Строка 394: | ||
<Response> | <Response> | ||
<VoidTicket BookID="?"> | <VoidTicket BookID="?"> | ||
− | <!--BookID | + | <!--BookID — Id брони в системе Nemo, целое число--> |
<Result Success="?"/> | <Result Success="?"/> | ||
− | <!--Sucscess | + | <!--Sucscess — результат отмены выписки, true или false--> |
</VoidTicket> | </VoidTicket> | ||
<Requisites/> | <Requisites/> |
Версия 15:00, 15 марта 2014
Содержание
Информация
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.
! Как правило для выписки билета достаточно чтобы у заказа был статус "Оплачено". При включенной опции «Для успешных бронирований производить оформление: автоматически после изменения статуса на "Оплачено"» из раздела «Заказы» ⇨ «Настройки бронирования» билет будет автоматически выписан после оплаты.
В Nemo 2.0 в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:
- сообщать ВП (валидирующего перевозчика) по данной комбинации;
- сообщать комиссию по данной комбинации;
- сообщать эндорсменты по данной комбинации;
- принимать запрос на тикетинг;
- проверять наличие брони в ГДС;
- синхронизировать бронь;
- выписывать билет;
- войдировать билет.
Общий формат запроса / ответа выписки
Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписать нельзя.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:Ticketing>
5 <RequestBin>
6 <Request>
7 <Ticketing>
8 <BookID>?</BookID>
9 <!--BookID — Id заказа в системе Nemo-->
10 <ValCompany>?</ValCompany>
11 <!--ValCompany — валидирующий перевозчик (тот кто выписывает билет)-->
12 <Comission Amount="?" Percent="?" CurrencyCode="?"/>
13 <!--Comission Amount — комиссии, указываются или в валюте, или в процентах, для валюты обязательным является
14 код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
15 <!--Amount — комиссия в валюте-->
16 <!--Percent — комиссия в процентах-->
17 <!--CurrencyCode — код валюты комиссии-->
18 </Ticketing>
19 </Request>
20 <Source>
21 <ClientId>?</ClientId>
22 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
23 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
24 <APIKey>?</APIKey>
25 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
26 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
27 <Language>?</Language>
28 <!--Language — язык, например: RU-->
29 <Currency>?</Currency>
30 <!-- Currency — валюта, например: RUB, EUR-->
31 </Source>
32 </RequestBin>
33 </ver:Ticketing>
34 </soapenv:Body>
35 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:TicketingResponse>
4 <ResponseBin>
5 <Response>
6 <Ticketing ID="?" Status="?" Code="?">
7 <!--ID — Id брони в системе Nemo, целое число, обязательный-->
8 <!--Status — индикатор состояния брони, возможные значения:
9 booked — забронировано,
10 canceled — бронь отменена,
11 ticket — выписана
12 UNDEFINED — статус не определён-->
13 <!--Code — код брони в системе поставщика-->
14 <QueryPlace xsi:nil="true"/>
15 <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
16 <Flight FlightId="?">
17 <!--FlightId — Id перелёта в системе Nemo-->
18 <WebService>?</WebService>
19 <!--WebService — поставщик перелёта-->
20 <ValCompany>?</ValCompany>
21 <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
22 <URL>?</URL>
23 <!--URL — ссылка на бронирование конкретного перелета-->
24 <Segments>
25 <Segment SegNum="?" SegGroupNum="?">
26 <!--SegNum — номер сегмента в перелёте-->
27 <!--SegGroupNum – номер плеча перелёта-->
28 <DepAirp CodeType="IATA">?</DepAirp>
29 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
30 или SVO — Шереметьево-->
31 <DepTerminal>?</DepTerminal>
32 <!--DepTerminal — терминал пункта отправления, если пустое значение,
33 то в аэропорту всего 1 терминал-->
34 <ArrAirp CodeType="IATA">?</ArrAirp>
35 <!--ArrAirp — аэропорт прибытия-->
36 <ArrTerminal>?</ArrTerminal>
37 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
38 то в аэропорту всего 1 терминал-->
39 <OpAirline>?</OpAirline>
40 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
41 <MarkAirline>?</MarkAirline>
42 <!--MarkAirline — авиакомпания, продающая перелёт-->
43 <FlightNumber>?</FlightNumber>
44 <!--FlightNumber — номер рейса-->
45 <AircraftType>?</AircraftType>
46 <!--AircraftType — тип воздушного судна, код-->
47 <DepDateTime>?</DepDateTime>
48 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
49 <ArrDateTime>?</ArrDateTime>
50 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
51 <StopNum>?</StopNum>
52 <!--StopNum — количество остановок-->
53 <BookingCodes>
54 <BookingCode ClassType="?">
55 <!--ClassType — класс перелета, например: economy-->
56 <BookingCode>?</BookingCode>
57 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
58 может записываться разными литерами, например: L-->
59 </BookingCode>
60 </BookingCodes>
61 <FlightTime>?</FlightTime>
62 <!--FlightTime — время перелёта в минутах-->
63 <TimeZone Departure="?" Arrival="?"/>
64 <!--Departure временная зона аэропорта отправления-->
65 <!--Arrival — временная зона аэропорта прибытия-->
66 <ETicket>?</ETicket>
67 <!--ETicket — признак электронного билета, значения: true / false-->
68 </Segment>
69 </Segments>
70 <PricingInfo Refundable="?">
71 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
72 <PassengerFare Type="?" Quantity="?">
73 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
74 INF — младенцы, INS — младенцы с местом-->
75 <!--Quantity — количество пассажиров данного типа-->
76 <BaseFare Currency="?" Amount="?"/>
77 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
78 <EquiveFare Currency="?" Amount="?"/>
79 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
80 Currency — код валюты, Amount — значение цены-->
81 <TotalFare Currency="?" Amount="?"/>
82 <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
83 Currency — код валюты, Amount — значение цены-->
84 <Taxes>
85 <Tax CurCode="?" TaxCode="?" Amount="?"/>
86 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
87 </Taxes>
88 <Tariffs>
89 <Tariff Code="?" SegNum="?"/>
90 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
91 </Tariffs>
92 <FareCalc>?</FareCalc>
93 <!--FareCalc — строка расчёта цены-->
94 <LastTicketDateTime>?</LastTicketDateTime>
95 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
96 </PassengerFare>
97 </PricingInfo>
98 <Commission/>
99 <Charges Currency="?">?</Charges>
100 <!--Charges — сборы, Currency — код валюты-->
101 <TotalPrice Currency="?">?</TotalPrice>
102 <!--TotalPrice — итоговая цена, Currency — код валюты-->
103 </Flight>
104 <Agency Name="?">
105 <!--Name — название агентства-->
106 <Telephone Type="?">
107 <!--Type — тип номера, обязательный, возможные значения:
108 M — мобильный, H — домашний, B — рабочий, A — агенство-->
109 <!--Optional:-->
110 <PhoneNumber>?</PhoneNumber>
111 <!--PhoneNumber — номер телефона-->
112 <!--Optional:-->
113 <CountryAccessCode>?</CountryAccessCode>
114 <!--CountryAccessCode — код страны-->
115 <!--Optional:-->
116 <AreaCityCode>?</AreaCityCode>
117 <!--AreaCityCode — код региона/города-->
118 </Telephone>
119 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
120 <!--City — город-->
121 <!--State — штат-->
122 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
123 <!--PostalCode — почтовый индекс-->
124 <!--CountryCode — код страны (RU, UA и т.п.)-->
125 </Agency>
126 <ItinReceipts Encoding="?" Format="?">
127 <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
128 <FareStored xsi:nil="true"/>
129 <Travellers>
130 <!--Zero or more repetitions:-->
131 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
132 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
133 CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
134 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
135 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
136 может быть контактным лицом, по умолчанию false-->
137 <!--Num — порядковый номер пассажира, начинается с 1-->
138 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок-->
139 <!--TravellerId — устаревший параметр, не используется-->
140 <Meal>?</Meal>
141 <!--Meal — код типа питания, возможные значения:
142 NONE — отсутствует
143 AVML — Азиатская вегетарианская кухня
144 BLML — Блюда щадящей диеты
145 CHML — Детское питание
146 CHPC — Детский холодный завтрак
147 СНСС — Детский горячий завтрак
148 CHHC — Детский ланч, ветчина и сыр
149 PBJS — Детский ланч, ореховое масло
150 CHMC — Детский обед макароны с сыром
151 DBML — Диабетическое питание
152 FPML — Фрукты
153 GFML — Питание без клейковины
154 HFML — Питание богатое клетчаткой
155 HNML — Индусская кухня
156 BBML — Питание для младенцев
157 KSML — Кошерная кухня
158 SMKB — Кошерный завтрак
159 SMKL — Кошерный ланч
160 SMKD — Кошерный обед
161 LPML — Малобелковое питание
162 LCML — Низкокалорийное питание
163 LFML — Низкохолестериновое питание
164 PRML — Низкопуриновое питание
165 LSML — Малосоленое питание
166 MOML — Мюсли
167 NLML — Безмолочные продукты
168 ORML — Восточная кухня
169 RVML — Сырые овощи
170 SFML — Морепродукты
171 SPML — Особое питание
172 VLML — Вегетарианское, молоко и яйца
173 VGML — Строго вегетарианское питание
174 VJML — Джайнизское вегетарианское
175 VOML — Восточное вегетарианское питание-->
176 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
177 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
178 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
179 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
180 <FirstName>?</FirstName>
181 <!--FirstName — имя пассажира-->
182 <LastName>?</LastName>
183 <!--LastName — фамилия пассажира-->
184 <!--Optional:-->
185 <MiddleName>?</MiddleName>
186 <!--MiddleName — отчество пассажира-->
187 </PersonalInfo>
188 <LoyaltyCard OpCode="?" Number="?"/>
189 <!--OpCode — код авиакомпании-->
190 <!--Number — номер карточки-->
191 <ContactInfo>
192 <!--Optional:-->
193 <EmailID>?</EmailID>
194 <!--EmailID — контактный email-->
195 <!--Optional:-->
196 <Telephone Type="?">
197 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
198 <!--Optional:-->
199 <PhoneNumber>?</PhoneNumber>
200 <!--PhoneNumber — номер телефона-->
201 <!--Optional:-->
202 <CountryAccessCode>?</CountryAccessCode>
203 <!--CountryAccessCode — код страны-->
204 <!--Optional:-->
205 <AreaCityCode>?</AreaCityCode>
206 <!--AreaCityCode — код региона/города-->
207 </Telephone>
208 </ContactInfo>
209 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
210 <!--DocType — тип документа, возможные значения:
211 Р — Паспорт
212 A – Паспорт иностранца
213 С — Внутренний гражданский паспорт
214 F – Документ заменяющий паспорт
215 М — Воинское удостоверение
216 N – Сертификат натурализации(специфичный документ США)
217 T – Док.повторного въезда, паспорт беженца
218 V – Документ для пересечения границы-->
219 <!--DocNum — номер документа-->
220 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
221 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
222 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
223 <!--Num — номер визы-->
224 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
225 <!--IssueCountry — страна выдачи визы-->
226 <!--IssuePlace — место выдачи визы-->
227 <!--BirthCountry — страна рождения(IATA код страны)-->
228 <!--BirthCity — город рождения(название)-->
229 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
230 <!--City — город-->
231 <!--State — штат или область въезда-->
232 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
233 <!--PostalCode — почтовый код-->
234 <!--CountryCode — код страны-->
235 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
236 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
237 <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
238 <!--Location — положение места в ряде, возможные значения:
239 W — у окна (Window)
240 M — где-то в середине ряда (Middle)
241 NPW — возле прохода (NearPassengerWay)
242 NS — нет предпочтения (NotSpecified)-->
243 <!--RowNumber — номер ряда-->
244 <!--PlaceNumber — номер места-->
245 <!--SegNumber — номер сегмента-->
246 <DocStringFormats>
247 <!--Zero or more repetitions:-->
248 <DocStringFormat>?</DocStringFormat>
249 <!--DocStringFormat — формат паспортной строки, возможные значения:
250 DOCS — строка формата DOCS, FOID — строка формата FOID-->
251 </DocStringFormats>
252 </Traveller>
253 </Travellers>
254 </BookFlight>
255 <Requisites/>
256 <RequestType xsi:nil="true"/>
257 <UserID xsi:nil="true"/>
258 <Errors>
259 <Error Code="?">
260 <!--Code — код ошибки в системе Nemo-->
261 <ServiceErrorMessage>?</ServiceErrorMessage>
262 <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
263 <Message>?</Message>
264 <!--Message — сообщение об ошибке от системы Nemo-->
265 </Error>
266 </Errors>
267 </Response>
268 </ResponseBin>
269 </ns1:TicketingResponse>
270 </SOAP-ENV:Body>
271 </SOAP-ENV:Envelope>
Общий формат запроса / ответа войдирования
Данный запрос запускается после выписки билета, если необходимо его отменить.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=VoidTicket
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:VoidTicket>
5 <RequestBin>
6 <Request>
7 <VoidTicket>
8 <BookID>?</BookID>
9 <!--BookID — Id брони в системе Nemo, целое число-->
10 </VoidTicket>
11 </Request>
12 <Source>
13 <ClientId>?</ClientId>
14 <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
15 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
16 <APIKey>?</APIKey>
17 <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
18 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
19 <Language>?</Language>
20 <!--Language — язык, например: RU-->
21 <Currency>?</Currency>
22 <!-- Currency — валюта, например: RUB, EUR-->
23 </Source>
24 </RequestBin>
25 </ver:VoidTicket>
26 </soapenv:Body>
27 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:VoidTicketResponse>
4 <ResponseBin>
5 <Response>
6 <VoidTicket BookID="?">
7 <!--BookID — Id брони в системе Nemo, целое число-->
8 <Result Success="?"/>
9 <!--Sucscess — результат отмены выписки, true или false-->
10 </VoidTicket>
11 <Requisites/>
12 <RequestType xsi:nil="true"/>
13 <UserID xsi:nil="true"/>
14 <Errors xsi:nil="true"/>
15 </Response>
16 </ResponseBin>
17 </ns1:VoidTicketResponse>
18 </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>