Открыть главное меню

Изменения

Веб-служба бронирования

606 байт добавлено, 15:19, 8 марта 2014
Запрос на бронирование
== Запрос на бронирование ==
Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр - «FlightId» - ИД перелёта для которого будет производится бронирование. WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=BookFlight.
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Запрос на бронирование выглядит следующим образом====<div class="mw-collapsible-content"><syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://trunk.mlsd.ru/nemoflights/?version%3D1.0%26for%3DBookFlight"> <soapenv:Header/> <soapenv:Body>'''Request''' <ver:BookFlight> <preRequestBin> <!--Запрос, обязательный--Request> <BookFlight> <FlightId>?</FlightId> <!--@FlightId - ид перелёта в системе Немо, обязательный--> <!--Optional:--> <FlightIdValidatingCompany>?</FlightIdValidatingCompany>//необязательный <!--Валидирующий ValidatingCompany - валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValidatingCompany>?</ValidatingCompany> <!--Код класс перелёта, один для каждого сегмента в перелёте, необязательныйOptional:--> <BookingCodes> <!--Код класс перелёта, обязательныйZero or more repetitions:--> <BookingCode Code="?" SegNumber="?"/> <!--@Code - код класса перелёта, обязательный--> <!--@SegNumber - номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode/BookingCodes> <Code>?</Code!--Optional:--> <SegNumberCurrencyCode>?</SegNumberCurrencyCode> </BookingCode>/необязательный </BookingCodes!--CurrencyCode - код валюты--> <!--Код валюты, необязательныйOptional:--> <CurrencyCodeTicketTimeLimit>?</CurrencyCodeTicketTimeLimit>//необязательный <!--Оплатить не позжеTicketTimeLimit - таймлимит на оплату, формат: ГГГГ-ММ-ДДTЧЧ:ммММ:СС, необязательный--> <TicketTimeLimit>?</TicketTimeLimit> <!--Информация об агенстве, обязательныйOptional:--> <Agency Name="?"> <!--@Name - название агентства, обязательный--> <Agency NameTelephone Type="?"> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type="?"> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>?</PhoneNumber> <!--Код страны, необязательныйPhoneNumber - номер телефона--> <!--Optional:--> <CountryAccessCode>?</CountryAccessCode> //необязательный <!--CountryAccessCode - код страны--> <!--Код региона/города, необязательныйOptional:--> <AreaCityCode>?</AreaCityCode> </Telephone>/необязательный <!--Адресс агенства. Обязательный.AreaCityCode - код региона/города--> <Address/Telephone> <!--Город. Обязательный.--> <Address City>="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?<"/City>//необязательный <!--Штат. Необязательный.City - город--> <!--State>?</State- штат--> <!--Адрес StreetAddress - адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress>?</StreetAddress> <!--Почтовый PostalCode - почтовый индекс. Необязательный.--> <PostalCode>?</PostalCode> <!--Код CountryCode - код страны (RU, UA и т.п.). Необязательный.--> <CountryCode>?</CountryCode> </AddressAgency> </AgencyTravellers> <!--Список пассажиров, обязательныйZero or more repetitions:--> <Travellers> <!--Информация о пассажире, обязательный--Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1, обязательный--> <!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, --> //необязательный <!--TravellerId - индивидуальный номер пассажира-->//необязательный <Traveller Type="Meal>?" IsContact="?" LinkedTo="?" Num="?"</Meal>//необязательный <!--Код Meal - код типа питания, необязательный, возможные значения:
NONE - отсутствует
AVML - Азиатская вегетарианская кухня
VJML - Джайнизское вегетарианское
VOML - Восточное вегетарианское питание-->
<Meal>?</Meal> <!--Optional:--> <Ticket TickectNumPersonalInfo DateOfBirth="?"/> <!--Optional:--> <Seats> <!--Zero or more repetitions:--> <Seat NumberNationality="?" Characteristic="?" SmokingPreference="?" SegmentNumberGender="?"/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате ddДД.mmММ.yyyy ГГГГ (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) , F - женский(Female)--> <PersonalInfo DateOfBirth="FirstName>?" Nationality="?" Gender="?"</FirstName> <!--Имя FirstName - имя пассажира, обязательный--> <FirstNameLastName>?</FirstNameLastName> <!--Фамилия LastName - фамилия пассажира, обязательный--> <LastName>?</LastName> <!--Отчество пассажира, необязательныйOptional:--> <MiddleName>?</MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, /необязательный --> <!--@OpCode MiddleName - код авиакомпании, обязательныйотчество пассажира--> <!--@Number - номер карточки, обязательный--/PersonalInfo> <LoyaltyCard OpCode="?" Number="?"/> //необязательный <!--OpCode - код авиакомпании--> <!--Контактная информация, необязательныйNumber - номер карточки--> <ContactInfo>//необязательный <!--Контактный email, необязательныйOptional:--> <EmailID>?</EmailID> <!--EmailID - контактный email--> <!--Контактный телефон, необязательныйOptional:--> <Telephone Type="?"> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type="?"> <!--Номер телефона, обязательныйOptional:--> <PhoneNumber>?</PhoneNumber> <!--PhoneNumber - номер телефона--> <!--Код страны, необязательныйOptional:--> <CountryAccessCode>?</CountryAccessCode> <!--CountryAccessCode - код страны--> <!--Код региона/города, необязательныйOptional:--> <AreaCityCode>?</AreaCityCode> <!--AreaCityCode - код региона/города--> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> <!--@DocType - тип документа, обязательный, возможные значения:
Р - Паспорт
A – Паспорт иностранца
T – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок срок истечения срока действия паспорта в ddДД.mmММ.yyyy ГГГ (например 31.12.2000), обязательный--> <DocumentInfo DocTypeVisaInfo Num="?" IssueCountry="?" IssuePlace="?" DocNumBirthCountry="?" CountryCodeBirthCity="?" DocElapsedTimeIssueDate="?"/>//необязательный <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный--> @ <!--IssueDate - дата(ddДД.mmММ.yyyyГГГГ) выдачи визы, обязательный--> @ <!--IssueCountry - страна выдачи визы, обязательный--> @ <!--IssuePlace - место выдачи визы, обязательный--> @ <!--BirthCountry - страна рождения(IATA код страны), необязательный--> @ <!--BirthCity - город рождения(название), необязательный --> <VisaInfo NumArrAddress City="?" IssueCountryState="?" IssuePlaceStreetAddress="?" BirthCountryPostalCode="?" BirthCity="?" IssueDateCountryCode="?"/> <!--Адрес прибытия, //необязательный--> <ArrAddress> <!--@City - Город. Обязательныйгород--> <City>?</City> <!--@State - Штат штат или область въезда. Обязательный--> <State>?</State> <!--@StreetAddress - Адресадрес: улица, номер дома, квартиры и тпт.д. Обязательный--> <StreetAddress>?</StreetAddress> <!--@PostalCode - Почтовый почтовый код. Обязательный--> <PostalCode>?</PostalCode> <!--@CountryCode - Код код страны. Обязательный--> <CountryCode>PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?<"/CountryCode> </ArrAddress>/необязательный <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking SmokingAllowed и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения:
W - у окна (Window)
M - где-то в середине ряда (Middle)
NPW - возле прохода (NearPassengerWay)
NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер номер места, строка, необязательный--> <!--@SegNumber - Номер номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/DocStringFormats> <!--Список форматов строк паспортных данны, необязательныйZero or more repetitions:--> <DocStringFormat>?<DocStringFormats/DocStringFormat> <!--Формат DocStringFormat - формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat/DocStringFormats>? </DocStringFormatTraveller> </DocStringFormatsTravellers> </Traveller!--Optional:--> <QueueNum>?</TravellersQueueNum> <!--Номер QueueNum - номер очереди, в которую необходимо поместить бронирование. Строка, необязательный--> </BookFlight> </Request> <Source> <ClientId>?</ClientId> <APIKey>?</APIKey> <Language>?</Language> <QueueNumCurrency>?</QueueNumCurrency> </Source> </RequestBin> </ver:BookFlight> </soapenv:Body></soapenv:Envelope></syntaxhighlight></div></prediv>
== Односторонний перелет: Москва - Санкт-Петербург ==
'