Веб-служба бронирования: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 1211: | Строка 1211: | ||
== См. также == | == См. также == | ||
+ | *[[Агентский АПИ]] | ||
*[[Бронирование]] | *[[Бронирование]] | ||
*[[Бронирование через TravellerId]] | *[[Бронирование через TravellerId]] | ||
[[Категория:Интеграция]] | [[Категория:Интеграция]] |
Версия 11:51, 13 марта 2014
Содержание
Запросы
- Запрос на бронирование
- Односторонний перелет. Бронирование
- Бронирование через TravellerId
Запрос на бронирование
Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр - «FlightId» - Id перелёта, для которого будет производится бронирование. WSDL находится по адресу: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=BookFlight.
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://trunk.mlsd.ru/nemoflights/?version%3D1.0%26for%3DBookFlight">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:BookFlight>
5 <RequestBin>
6 <Request>
7 <BookFlight>
8 <FlightId>?</FlightId>
9 <!--FlightId - Id перелёта в системе Немо-->
10 <!--Optional:-->
11 <ValidatingCompany>?</ValidatingCompany> <!--необязательный-->
12 <!--ValidatingCompany - валидирующий перевозчик (тот кто выписывает билет)-->
13 <!--Optional:-->
14 <BookingCodes>
15 <!--Zero or more repetitions:-->
16 <BookingCode Code="?" SegNumber="?"/>
17 <!--Code - код класса перелёта-->
18 <!--SegNumber - номер сегмента в перелёте (начинаются с 1)-->
19 </BookingCodes>
20 <!--Optional:-->
21 <CurrencyCode>?</CurrencyCode> <!--необязательный-->
22 <!--CurrencyCode - код валюты-->
23 <!--Optional:-->
24 <TicketTimeLimit>?</TicketTimeLimit> <!--необязательный-->
25 <!--TicketTimeLimit - таймлимит на оплату, формат: ГГГГ-ММ-ДДTЧЧ:ММ:СС-->
26 <!--Optional:-->
27 <Agency Name="?"> <!--необязательный-->
28 <!--Name - название агентства-->
29 <Telephone Type="?">
30 <!--Type - тип номера, обязательный, возможные значения:
31 M - мобильный, H - домашний, B - рабочий, A - агенство-->
32 <!--Optional:-->
33 <PhoneNumber>?</PhoneNumber>
34 <!--PhoneNumber - номер телефона-->
35 <!--Optional:-->
36 <CountryAccessCode>?</CountryAccessCode> <!--необязательный-->
37 <!--CountryAccessCode - код страны-->
38 <!--Optional:-->
39 <AreaCityCode>?</AreaCityCode> <!--необязательный-->
40 <!--AreaCityCode - код региона/города-->
41 </Telephone>
42 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
43 <!--City - город-->
44 <!--State - штат-->
45 <!--StreetAddress - адрес в городе (улица, дом, корпус, офис и т.д.)-->
46 <!--PostalCode - почтовый индекс-->
47 <!--CountryCode - код страны (RU, UA и т.п.)-->
48 </Agency>
49 <Travellers>
50 <!--Zero or more repetitions:-->
51 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
52 <!--Type - тип пассажира, обязательный, возможные значения: ADT - взрослые,
53 CNN - дети со взрослыми,UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом-->
54 <!--IsContact - если true - то данный пассажир является контактным лицом, если false - то не является,
55 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
56 может быть контактным лицом, по умолчанию false-->
57 <!--Num - порядковый номер пассажира, начинается с 1-->
58 <!--LinkedTo - номер взрослого, к которому привязан младенец/ребёнок--> <!--необязательный-->
59 <!--TravellerId - индивидуальный номер пассажира--> <!--необязательный-->
60 <Meal>?</Meal> <!--необязательный-->
61 <!--Meal - код типа питания, возможные значения:
62 NONE - отсутствует
63 AVML - Азиатская вегетарианская кухня
64 BLML - Блюда щадящей диеты
65 CHML - Детское питание
66 CHPC - Детский холодный завтрак
67 СНСС - Детский горячий завтрак
68 CHHC - Детский ланч, ветчина и сыр
69 PBJS - Детский ланч, ореховое масло
70 CHMC - Детский обед макароны с сыром
71 DBML - Диабетическое питание
72 FPML - Фрукты
73 GFML - Питание без клейковины
74 HFML - Питание богатое клетчаткой
75 HNML - Индусская кухня
76 BBML - Питание для младенцев
77 KSML - Кошерная кухня
78 SMKB - Кошерный завтрак
79 SMKL - Кошерный ланч
80 SMKD - Кошерный обед
81 LPML - Малобелковое питание
82 LCML - Низкокалорийное питание
83 LFML - Низкохолестериновое питание
84 PRML - Низкопуриновое питание
85 LSML - Малосоленое питание
86 MOML - Мюсли
87 NLML - Безмолочные продукты
88 ORML - Восточная кухня
89 RVML - Сырые овощи
90 SFML - Морепродукты
91 SPML - Особое питание
92 VLML - Вегетарианское, молоко и яйца
93 VGML - Строго вегетарианское питание
94 VJML - Джайнизское вегетарианское
95 VOML - Восточное вегетарианское питание-->
96 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
97 <!--DateOfBirth - дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
98 <!--Nationality - гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
99 <!--Gender - пол пассажира, возможные значения: M - мужской(Male), F - женский(Female)-->
100 <FirstName>?</FirstName>
101 <!--FirstName - имя пассажира-->
102 <LastName>?</LastName>
103 <!--LastName - фамилия пассажира-->
104 <!--Optional:-->
105 <MiddleName>?</MiddleName> <!--необязательный-->
106 <!--MiddleName - отчество пассажира-->
107 </PersonalInfo>
108 <LoyaltyCard OpCode="?" Number="?"/> <!--необязательный-->
109 <!--OpCode - код авиакомпании-->
110 <!--Number - номер карточки-->
111 <ContactInfo> //необязательный
112 <!--Optional:-->
113 <EmailID>?</EmailID>
114 <!--EmailID - контактный email-->
115 <!--Optional:-->
116 <Telephone Type="?">
117 <!--Type - тип номера, возможные значения: M - мобильный, H - домашний, B - рабочий-->
118 <!--Optional:-->
119 <PhoneNumber>?</PhoneNumber>
120 <!--PhoneNumber - номер телефона-->
121 <!--Optional:-->
122 <CountryAccessCode>?</CountryAccessCode>
123 <!--CountryAccessCode - код страны-->
124 <!--Optional:-->
125 <AreaCityCode>?</AreaCityCode>
126 <!--AreaCityCode - код региона/города-->
127 </Telephone>
128 </ContactInfo>
129 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
130 <!--DocType - тип документа, возможные значения:
131 Р - Паспорт
132 A – Паспорт иностранца
133 С - Внутренний гражданский паспорт
134 F – Документ заменяющий паспорт
135 М - Воинское удостоверение
136 N – Сертификат натурализации(специфичный документ США)
137 T – Док.повторного въезда, паспорт беженца
138 V – Документ для пересечения границы-->
139 <!--DocNum - номер документа-->
140 <!--CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
141 <!--DocElapsedTime - срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
142 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
143 //необязательный
144 <!--Num - номер визы-->
145 <!--IssueDate - дата(ДД.ММ.ГГГГ) выдачи визы-->
146 <!--IssueCountry - страна выдачи визы-->
147 <!--IssuePlace - место выдачи визы-->
148 <!--BirthCountry - страна рождения(IATA код страны)-->
149 <!--BirthCity - город рождения(название)-->
150 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> <!--необязательный-->
151 <!--City - город-->
152 <!--State - штат или область въезда-->
153 <!--StreetAddress - адрес: улица, номер дома, квартиры и т.д.-->
154 <!--PostalCode - почтовый код-->
155 <!--CountryCode - код страны-->
156 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
157 <!--необязательный-->
158 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
159 <!--SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих-->
160 <!--Location - положение места в ряде, возможные значения:
161 W - у окна (Window)
162 M - где-то в середине ряда (Middle)
163 NPW - возле прохода (NearPassengerWay)
164 NS - нет предпочтения (NotSpecified)-->
165 <!--RowNumber - номер ряда-->
166 <!--PlaceNumber - номер места-->
167 <!--SegNumber - номер сегмента-->
168 <DocStringFormats>
169 <!--Zero or more repetitions:-->
170 <DocStringFormat>?</DocStringFormat>
171 <!--DocStringFormat - формат паспортной строки, возможные значения:
172 DOCS - строка формата DOCS, FOID - строка формата FOID-->
173 </DocStringFormats>
174 </Traveller>
175 </Travellers>
176 <!--Optional:-->
177 <QueueNum>?</QueueNum> <!--необязательный-->
178 <!--QueueNum - номер очереди, в которую необходимо поместить бронирование-->
179 </BookFlight>
180 </Request>
181 <Source>
182 <ClientId>?</ClientId>
183 <!--ClientId - ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
184 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
185 <APIKey>?</APIKey>
186 <!--APIKey - секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
187 "Администрирование" ⇨ "Веб-служба. Авторизация".-->
188 <Language>?</Language>
189 <!--Language - язык-->
190 <Currency>?</Currency>
191 <!-- CUrrency - валюта-->
192 </Source>
193 </RequestBin>
194 </ver:BookFlight>
195 </soapenv:Body>
196 </soapenv:Envelope>
Односторонний перелет: Москва - Санкт-Петербург
REQUEST
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://localhost/nemoflights/?version%3D1.0%26for%3DBookFlight"> <soapenv:Header/> <soapenv:Body> <ver:BookFlight> <RequestBin> <Request> <BookFlight> <!--@FlightId - Id перелёта в системе Немо, обязательный--> <FlightId>534733</FlightId> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValidatingCompany>SU</ValidatingCompany> <!--Код класс перелёта, один для каждого сегмента в перелёте, необязательный--> <BookingCodes> <!--@Code - код класса перелёта, обязательный--> <!--@SegNumber - номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode Code="Q" SegNumber="1"/> </BookingCodes> <!--Код валюты, необязательный--> <CurrencyCode>RUB</CurrencyCode> <!--Оплатить не позже, формат: ГГГГ-ММ-ДДTЧЧ:мм:СС, необязательный--> <TicketTimeLimit>2011-06-20 00:00:00</TicketTimeLimit> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <!--@ City - Город. Обязательный.--> <!--@StreetAddress - Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <!--@PostalCode - Почтовый индекс. Необязательный.--> <!--@CountryCode - Код страны (RU, UA и т.п.). Необязательный.--> <Address City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> </Agency> <!--Список пассажиров, обязательный--> <Travellers> <!--Информация о пассажире, обязательный--> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1, обязательный--> <!--@TravellerId - id номер пассажира из БД, необязательный--> <Traveller Type="ADT" IsContact="true" Num="1" TravellerId=""> <!--Код типа питания, необязательный, возможные значения: NONE - отсутствует AVML - Азиатская вегетарианская кухня BLML - Блюда щадящей диеты CHML - Детское питание CHPC - Детский холодный завтрак СНСС - Детский горячий завтрак CHHC - Детский ланч, ветчина и сыр PBJS - Детский ланч, ореховое масло CHMC - Детский обед макароны с сыром DBML - Диабетическое питание FPML - Фрукты GFML - Питание без клейковины HFML - Питание богатое клетчаткой HNML - Индусская кухня BBML - Питание для младенцев KSML - Кошерная кухня SMKB - Кошерный завтрак SMKL - Кошерный ланч SMKD - Кошерный обед LPML - Малобелковое питание LCML - Низкокалорийное питание LFML - Низкохолестериновое питание PRML - Низкопуриновое питание LSML - Малосоленое питание MOML - Мюсли NLML - Безмолочные продукты ORML - Восточная кухня RVML - Сырые овощи SFML - Морепродукты SPML - Особое питание VLML - Вегетарианское, молоко и яйца VGML - Строго вегетарианское питание VJML - Джайнизское вегетарианское VOML - Восточное вегетарианское питание--> <Meal></Meal> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате yyyy-mm-dd (например 2000-12-31), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="1975-05-15" Nationality="RU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>Ivan</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>Ivanov</LastName> <!--Отчество пассажира, обязательный--> <MiddleName></MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный--> <LoyaltyCard OpCode="" Number=""/> <!--Контактная информация, необязательный--> <ContactInfo> <!--Контактный email, необязательный--> <EmailID></EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в yyyy-mm-dd (например 2000-12-31), обязательный--> <DocumentInfo DocType="P" DocNum="1234123456" CountryCode="RU" DocElapsedTime="2025-06-15"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity="" IssueDate=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <!--Список форматов строк паспортных данных, необязательный--> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats> </Traveller> </Travellers> <!--Номер очереди, в которую необходимо поместить бронирование. Строка, необязательный--> <QueueNum></QueueNum> </BookFlight> </Request> <!--Авторизация, обязательный--> <!--@ClientId, идентификатор клиента, обязательный--> <!--@APIKey, API ключ клиента, обязательный--> <!--@Language, код языка, обязательный--> <!--@Currency код валюты, обязательный--> <Source> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source>
RESPONSE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/nemoflights/?version%3D1.0%26for%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:BookFlightResponse> <ResponseBin> <Response> <!--Ответ, обязательный--> <!--@ID - Id брони в системе немо, целое число, обязательный--> <!--@Status - Индикатор состояния брони, обязательный, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана UNDEFINED - статус не определён --> <!--@Code - Код брони в системе бронирования/поиска (sabre, sirena и т.д.), строка, обязательный--> <BookFlight ID="21282" Status="booked" Code="QSSRL0"> <!--Положение брони в очереди, необязательный--> <!--@Number - номер брони в очереди, обязательный--> <QueryPlace xsi:nil="true"/> <!--@FlightId ид перелёта в системе Немо, обязательный--> <Flight FlightId="535464"> <!--Веб-сервис из которого получен перелёт, обязательный--> <WebService>GALILEO</WebService> <!--Код авиакомпании - валидирующего перевозчика, IATA, обязательный--> <ValCompany>S7</ValCompany> <URL>http%3A%2F%2Flocalhost%2F%3Fgo%3Dbooking%2Finfo%26uid%3D26664%26flight%3D535464</URL> <Segments> <!--SegNum - Номер сегмента в перелёте, обязательный--> <Segment SegNum="1"> <!--Аэропорт отправления. Обязательный--> <DepAirp CodeType="IATA">DME</DepAirp> <!--Терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <DepTerminal xsi:nil="true"/> <!--Аэропорт прибытия. Обязательный--> <ArrAirp CodeType="IATA">LED</ArrAirp> <!--Терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <ArrTerminal>1</ArrTerminal> <!--Авиакомпания перевозчик. Обязательный--> <OpAirline>S7</OpAirline> <!--Авиакомпания, продающая перелёт. Обязательный--> <MarkAirline>S7</MarkAirline> <!--Номер рейса. Обязательный--> <FlightNumber>39</FlightNumber> <!--Тип воздушного судна, код. Обязательный--> <AircraftType>320</AircraftType> <!--Дата и время отправления, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <DepDateTime>2011-06-15T12:15:00</DepDateTime> <!--Дата и время прибытия, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <ArrDateTime>2011-06-15T13:45:00</ArrDateTime> <!--Количество остановок. Обязательный--> <StopNum>0</StopNum> <!--Код класса бронирования. Обязательный--> <BookingCodes> <BookingCode>O</BookingCode> </BookingCodes> <!--Время перелёта, в минутах. Обязательный--> <FlightTime>90</FlightTime> <!--Временные зоны точки отправления и прибытия. Необязательный--> <!--@departure временная зона аэропорта отправления, обязательный--> <!--@arrival - временная зона аэропорта прибытия, обязательный--> <TimeZone xsi:nil="true"/> <!--Признак электронного билета. Значения: true или false. Обязательный--> <ETicket>true</ETicket> </Segment> </Segments> <!--информация о стоимости, может встречаться более 1 раза, обязательный--> <!--@Refundable возвратный/невозвратный, true/false. Если пустое, то не известно, необязательный--> <PricingInfo Refundable="true"> <!--Типы пассажиров с ценами, таксами и тп, может встречаться более 1 раза, необязательный--> <!--@Type тип пассажира, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом, обязательный--> <!--@Quantity Количество пассажиров данного типа, обязательный--> <PassengerFare Type="ADT" Quantity="1"> <!--Базовая стоимость, в базовой валюте, обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <BaseFare Currency="RUB" Amount="3300"/> <!--Базовая стоимость, в эквивалентной валюте(валюте продажи), обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <EquiveFare Currency="RUB" Amount="3300"/> <!--Суммарная стоимость в эквивалентной валюте, необязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <TotalFare Currency="RUB" Amount="3710"/> <!--Массив такс, необязательный--> <Taxes> <!--Одна такса, обязательный--> <!--@CurCode код валюты, обязательный--> <!--@TaxCode код таксы, обязательный--> <!--@Amount сумма таксы, обязательный--> <Tax CurCode="RUB" TaxCode="RU" Amount="41"/> <Tax CurCode="RUB" TaxCode="YQ" Amount="369"/> </Taxes> <!--Массив тарифов, необязательный--> <Tariffs> <!--Тариф, обязательный--> <!--@Code код тарифа, обязательный--> <!--@SegNum номер сегмента, к которому применён тариф, обязательный--> <Tariff Code="OPOOW" SegNum="1"/> </Tariffs> <!--Строка расчёта цены, необязательный--> <FareCalc xsi:nil="true"/> <!--Дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧ:ММ:СС, обязательный--> <LastTicketDateTime>2011-05-27T23:59:00</LastTicketDateTime> </PassengerFare> </PricingInfo> <!--Комиссии, обязательный--> <!--@Currency, код валюты, обязательный--> <Commission Currency="RUB">382.2</Commission> <!--Сборы, обязательный--> <!--@Currency, код валюты, обязательный--> <Charges Currency="RUB">112</Charges> </Flight> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <Address> <!--Город. Обязательный.--> <City></City> <!--Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress></StreetAddress> <!--Почтовый индекс. Необязательный.--> <PostalCode></PostalCode> <!--Код страны (RU, UA и т.п.). Необязательный.--> <CountryCode></CountryCode> </Address> </Agency> <!--Маршрут квитанция, необязательный--> <!--@Encoding - кодировка, обязательный--> <!--@Format - формат, обязательный--> <ItinReceipts Encoding="" Format=""> <FareStored xsi:nil="true"/> <!--Список пассажиров, обязательный--> <Travellers> <!--@Type тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира , начинается с 1, обязательный--> <!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, необязательный--> <Traveller Type="ADT" IsContact="true" Num="1"> <!--Тип питания, обязательный, возможные значения: UNDEFINED - неизвестно N - Нет питания P - Алкогольные напитки в продаже B - Завтрак O - Холодная еда C - Бесплатные алкогольные напитки K - Континтальный завтрак D - Обед F - Еда в продаже G - Еда/напитки в продаже H - Горячая еда L - Ланч M - Еда R - Освежающие еда/напитки бесплатно V - Освежающие еда/напитки за отдельную плату S - Закуска --> <Meal xsi:nil="true"/> <!--Билет, необязательный--> <!--@TickectNum - номер билета, обязательный--> <Ticket TickectNum="" /> <Seats> <!--Место пассажира в самолёте, обязательный--> <!--@Number - номер места, обязательный--> <!--@Characteristic - Характеристика места в соответствии со стандартом EDIFACT, необязательный--> <!--@SmokingPreference - статус курения на этом месте, если Y - место для курящих, если N - место для некурящих, необязательный--> <!--@SegmentNumber - номер сегмента в перелёте, обязательный--> <Seat Number="" Characteristic="" SmokingPreference="" SegmentNumber=""/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="15.05.1975" Nationality="RU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>HKSFG</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>DFGDG</LastName> <!--Отчество пассажира, обязательный--> <MiddleName>SHHHHHHH</MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный --> <LoyaltyCard OpCode="" Number=""/> <ContactInfo> <!--Контактный email, необязательный--> <EmailID></EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000), обязательный--> <DocumentInfo DocType="P" DocNum="1234123456" CountryCode="RU" DocElapsedTime="15.06.2025"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueDate="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress CountryCode="" State="" PostalCode="" City="" StreetAddress=""/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats> </Traveller> </Travellers> </BookFlight> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Errors xsi:nil="true"/> </Response> </ResponseBin> </ns1:BookFlightResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Перелет Москва - Санкт-Петербург
REQUEST
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://localhost/nemoflights/?version%3D1.0%26for%3DBookFlight"> <soapenv:Header/> <soapenv:Body> <ver:BookFlight> <RequestBin> <Request> <BookFlight> <!--@FlightId ид перелёта в системе Немо, обязательный--> <FlightId>534339</FlightId> <!--Валидирующий перевозчик (тот кто выписывает билет), необязательный--> <ValidatingCompany>SU</ValidatingCompany> <!--Код класс перелёта, один для каждого сегмента в перелёте, необязательный--> <BookingCodes> <!--@Code - код класса перелёта, обязательный--> <!--@SegNumber - номер сегмента в перелёте (начинаются с 1), обязательный--> <BookingCode Code="Q" SegNumber="1"/> </BookingCodes> <!--Код валюты, необязательный--> <CurrencyCode>RUB</CurrencyCode> <!--Оплатить не позже, формат: ГГГГ-ММ-ДДTЧЧ:мм:СС, необязательный--> <TicketTimeLimit>2011-06-20 00:00:00</TicketTimeLimit> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <!--@ City - Город. Обязательный.--> <!--@StreetAddress - Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <!--@PostalCode - Почтовый индекс. Необязательный.--> <!--@CountryCode - Код страны (RU, UA и т.п.). Необязательный.--> <Address City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> </Agency> <!--Список пассажиров, обязательный--> <Travellers> <Travellers> <!--Информация о пассажире, обязательный--> <!--@Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира, начинается с 1, обязательный--> <!--@TravellerId - id пользователя в БД, необязательный--> <Traveller Type="ADT" IsContact="true" Num="1" TravellerId="32738"/> <!--Код типа питания, необязательный, возможные значения: NONE - отсутствует AVML - Азиатская вегетарианская кухня BLML - Блюда щадящей диеты CHML - Детское питание CHPC - Детский холодный завтрак СНСС - Детский горячий завтрак CHHC - Детский ланч, ветчина и сыр PBJS - Детский ланч, ореховое масло CHMC - Детский обед макароны с сыром DBML - Диабетическое питание FPML - Фрукты GFML - Питание без клейковины HFML - Питание богатое клетчаткой HNML - Индусская кухня BBML - Питание для младенцев KSML - Кошерная кухня SMKB - Кошерный завтрак SMKL - Кошерный ланч SMKD - Кошерный обед LPML - Малобелковое питание LCML - Низкокалорийное питание LFML - Низкохолестериновое питание PRML - Низкопуриновое питание LSML - Малосоленое питание MOML - Мюсли NLML - Безмолочные продукты ORML - Восточная кухня RVML - Сырые овощи SFML - Морепродукты SPML - Особое питание VLML - Вегетарианское, молоко и яйца VGML - Строго вегетарианское питание VJML - Джайнизское вегетарианское VOML - Восточное вегетарианское питание--> <Meal></Meal> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате yyyy-mm-dd (например 2000-12-31), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="1975-05-15" Nationality="RU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>Ivan</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>Ivanov</LastName> <!--Отчество пассажира, обязательный--> <MiddleName></MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный--> <LoyaltyCard OpCode="" Number=""/> <!--Контактная информация, необязательный--> <ContactInfo> <!--Контактный email, необязательный--> <EmailID></EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в yyyy-mm-dd (например 2000-12-31), обязательный--> <DocumentInfo DocType="P" DocNum="1234123456" CountryCode="RU" DocElapsedTime="2025-06-15"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity="" IssueDate=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress City="" State="" StreetAddress="" PostalCode="" CountryCode=""/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <!--Список форматов строк паспортных данных, необязательный--> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats> </Traveller> </Travellers> <!--Номер очереди, в которую необходимо поместить бронирование. Строка, необязательный--> <QueueNum></QueueNum> </BookFlight> </Request> <!--Авторизация, обязательный--> <!--@ClientId, идентификатор клиента, обязательный--> <!--@APIKey, API ключ клиента, обязательный--> <!--@Language, код языка, обязательный--> <!--@Currency код валюты, обязательный--> <Source> <ClientId>102</ClientId> <APIKey>7F48365D42B73307C99C12A578E92B36</APIKey> <Language>RU</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:BookFlight> </soapenv:Body> </soapenv:Envelope>
RESPONSE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://localhost/nemoflights/?version%3D1.0%26for%3DBookFlight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:BookFlightResponse> <ResponseBin> <Response> <!--Ответ, обязательный--> <!--@ID - Id брони в системе немо, целое число, обязательный--> <!--@Status - Индикатор состояния брони, обязательный, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана UNDEFINED - статус не определён --> <!--@Code - Код брони в системе бронирования/поиска (sabre, sirena и т.д.), строка, обязательный--> <BookFlight ID="21282" Status="booked" Code="QSSRL0"> <!--Положение брони в очереди, необязательный--> <!--@Number - номер брони в очереди, обязательный--> <QueryPlace xsi:nil="true"/> <!--@FlightId - Id перелёта в системе Немо, обязательный--> <Flight FlightId="535464"> <!--Веб-сервис из которого получен перелёт, обязательный--> <WebService>GALILEO</WebService> <!--Код авиакомпании - валидирующего перевозчика, IATA, обязательный--> <ValCompany>S7</ValCompany> <URL>http%3A%2F%2Flocalhost%2F%3Fgo%3Dbooking%2Finfo%26uid%3D26664%26flight%3D535464</URL> <Segments> <!--SegNum - Номер сегмента в перелёте, обязательный--> <Segment SegNum="1"> <!--Аэропорт отправления. Обязательный--> <DepAirp CodeType="IATA">DME</DepAirp> <!--Терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <DepTerminal xsi:nil="true"/> <!--Аэропорт прибытия. Обязательный--> <ArrAirp CodeType="IATA">LED</ArrAirp> <!--Терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал, необязательный--> <ArrTerminal>1</ArrTerminal> <!--Авиакомпания перевозчик. Обязательный--> <OpAirline>S7</OpAirline> <!--Авиакомпания, продающая перелёт. Обязательный--> <MarkAirline>S7</MarkAirline> <!--Номер рейса. Обязательный--> <FlightNumber>39</FlightNumber> <!--Тип воздушного судна, код. Обязательный--> <AircraftType>320</AircraftType> <!--Дата и время отправления, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <DepDateTime>2011-06-15T12:15:00</DepDateTime> <!--Дата и время прибытия, формат ГГГГ-MM-DDTЧЧ:ММ:СС. Обязательный--> <ArrDateTime>2011-06-15T13:45:00</ArrDateTime> <!--Количество остановок. Обязательный--> <StopNum>0</StopNum> <!--Код класса бронирования. Обязательный--> <BookingCodes> <BookingCode>O</BookingCode> </BookingCodes> <!--Время перелёта, в минутах. Обязательный--> <FlightTime>90</FlightTime> <!--Временные зоны точки отправления и прибытия. Необязательный--> <!--@departure временная зона аэропорта отправления, обязательный--> <!--@arrival - временная зона аэропорта прибытия, обязательный--> <TimeZone xsi:nil="true"/> <!--Признак электронного билета. Значения: true или false. Обязательный--> <ETicket>true</ETicket> </Segment> </Segments> <!--информация о стоимости, может встречаться более 1 раза, обязательный--> <!--@Refundable возвратный/невозвратный, true/false. Если пустое, то не известно, необязательный--> <PricingInfo Refundable="true"> <!--Типы пассажиров с ценами, таксами и тп, может встречаться более 1 раза, необязательный--> <!--@Type тип пассажира, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом, обязательный--> <!--@Quantity Количество пассажиров данного типа, обязательный--> <PassengerFare Type="ADT" Quantity="1"> <!--Базовая стоимость, в базовой валюте, обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <BaseFare Currency="RUB" Amount="3300"/> <!--Базовая стоимость, в эквивалентной валюте(валюте продажи), обязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <EquiveFare Currency="RUB" Amount="3300"/> <!--Суммарная стоимость в эквивалентной валюте, необязательный--> <!--@Currency код валюты, @Amount значение цены, обязательный--> <TotalFare Currency="RUB" Amount="3710"/> <!--Массив такс, необязательный--> <Taxes> <!--Одна такса, обязательный--> <!--@CurCode код валюты, обязательный--> <!--@TaxCode код таксы, обязательный--> <!--@Amount сумма таксы, обязательный--> <Tax CurCode="RUB" TaxCode="RU" Amount="41"/> <Tax CurCode="RUB" TaxCode="YQ" Amount="369"/> </Taxes> <!--Массив тарифов, необязательный--> <Tariffs> <!--Тариф, обязательный--> <!--@Code код тарифа, обязательный--> <!--@SegNum номер сегмента, к которому применён тариф, обязательный--> <Tariff Code="OPOOW" SegNum="1"/> </Tariffs> <!--Строка расчёта цены, необязательный--> <FareCalc xsi:nil="true"/> <!--Дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧ:ММ:СС, обязательный--> <LastTicketDateTime>2011-05-27T23:59:00</LastTicketDateTime> </PassengerFare> </PricingInfo> <!--Комиссии, обязательный--> <!--@Currency, код валюты, обязательный--> <Commission Currency="RUB">382.2</Commission> <!--Сборы, обязательный--> <!--@Currency, код валюты, обязательный--> <Charges Currency="RUB">112</Charges> </Flight> <!--Информация об агенстве, обязательный--> <!--@Name - название агентства, обязательный--> <Agency Name=""> <!--Телефон агентсва, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агенство--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> <!--Адресс агенства. Обязательный.--> <Address> <!--Город. Обязательный.--> <City></City> <!--Адрес в городе (улица, дом, корпус, офис и т.д.). Необязательный.--> <StreetAddress></StreetAddress> <!--Почтовый индекс. Необязательный.--> <PostalCode></PostalCode> <!--Код страны (RU, UA и т.п.). Необязательный.--> <CountryCode></CountryCode> </Address> </Agency> <!--Маршрут квитанция, необязательный--> <!--@Encoding - кодировка, обязательный--> <!--@Format - формат, обязательный--> <ItinReceipts Encoding="" Format=""> <FareStored xsi:nil="true"/> <!--Список пассажиров, обязательный--> <Travellers> <!--@Type тип пассажира, обязательный, возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> <!--@IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом, по умолчанию false, обязательный--> <!--@Num - порядковый номер пассажира , начинается с 1, обязательный--> <!--@LinkedTo - номер взрослого, к которому привязан младенец/ребёнок, необязательный--> <Traveller Type="ADT" IsContact="true" Num="1"> <!--Тип питания, обязательный, возможные значения: UNDEFINED - неизвестно N - Нет питания P - Алкогольные напитки в продаже B - Завтрак O - Холодная еда C - Бесплатные алкогольные напитки K - Континтальный завтрак D - Обед F - Еда в продаже G - Еда/напитки в продаже H - Горячая еда L - Ланч M - Еда R - Освежающие еда/напитки бесплатно V - Освежающие еда/напитки за отдельную плату S - Закуска --> <Meal xsi:nil="true"/> <!--Билет, необязательный--> <!--@TickectNum - номер билета, обязательный--> <Ticket TickectNum="" /> <Seats> <!--Место пассажира в самолёте, обязательный--> <!--@Number - номер места, обязательный--> <!--@Characteristic - Характеристика места в соответствии со стандартом EDIFACT, необязательный--> <!--@SmokingPreference - статус курения на этом месте, если Y - место для курящих, если N - место для некурящих, необязательный--> <!--@SegmentNumber - номер сегмента в перелёте, обязательный--> <Seat Number="" Characteristic="" SmokingPreference="" SegmentNumber=""/> </Seats> <!--Персональные данные, обязательный--> <!--@DateOfBirth - дата рождения в формате dd.mm.yyyy (например 31.12.2000), обязательный--> <!--@Nationality - национальность(гражданство?), двух буквенный код страны (RU, UA, US и т.д.), обязательный--> <!--@Gender - пол пассажира, обязательный, возможные значения: M - мужской(Male) F - женский(Female)--> <PersonalInfo DateOfBirth="01.05.1981" Nationality="AU" Gender="M"> <!--Имя пассажира, обязательный--> <FirstName>ANDREW</FirstName> <!--Фамилия пассажира, обязательный--> <LastName>RESH</LastName> <!--Отчество пассажира, обязательный--> <MiddleName>SARAT</MiddleName> </PersonalInfo> <!--Карточка часто летающего пассажира, необязательный --> <!--@OpCode - код авиакомпании, обязательный--> <!--@Number - номер карточки, обязательный --> <LoyaltyCard OpCode="" Number=""/> <ContactInfo> <!--Контактный email, необязательный--> <EmailID></EmailID> <!--Контактный телефон, необязательный--> <!--@Type - тип номера, обязательный, возможные значения: M - мобильный, H - домашний, B - рабочий--> <Telephone Type=""> <!--Номер телефона, обязательный--> <PhoneNumber></PhoneNumber> <!--Код страны, необязательный--> <CountryAccessCode></CountryAccessCode> <!--Код региона/города, необязательный--> <AreaCityCode></AreaCityCode> </Telephone> </ContactInfo> <!--Паспортные данные, обязательный--> <!--@DocType - тип документа, обязательный, возможные значения: Р - Паспорт A – Паспорт иностранца С - Внутренний гражданский паспорт F – Документ заменяющий паспорт М - Воинское удостоверение N – Сертификат натурализации(специфичный документ США) T – Док.повторного въезда, паспорт беженца V – Документ для пересечения границы--> <!--@DocNum - номер документа, обязательный--> <!--@CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.), обязательный--> <!--@DocElapsedTime - Срок истечения срока действия паспорта в dd.mm.yyyy (например 31.12.2000), обязательный--> <DocumentInfo DocType="P" DocNum="3254253345" CountryCode="AU" DocElapsedTime="29.05.2011"/> <!--информация о визе, необязательная.(Заполняется через SSR DOCO) @Num - номер визы, обязательный @IssueDate - дата(dd.mm.yyyy) выдачи визы, обязательный @IssueCountry - страна выдачи визы, обязательный @IssuePlace - место выдачи визы, обязательный @BirthCountry - страна рождения(IATA код страны), необязательный @BirthCity - город рождения(название), необязательный --> <VisaInfo Num="" IssueDate="" IssueCountry="" IssuePlace="" BirthCountry="" BirthCity=""/> <!--Адрес прибытия, необязательный.(Заполняется через SSR DOCA) Но для въезжающих в США(неграждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнить при посадке на самолёт. @CountryCode - Код страны. Обязательный @State - Штат или область въезда. Обязательный @PostalCode - Почтовый код. Обязательный @City - Город. Обязательный @StreetAddress - Адрес: улица, номер дома, квартиры и тп. Обязательный --> <ArrAddress CountryCode="" State="" PostalCode="" City="" StreetAddress=""/> <!--Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры @Smoking и @Location игнорируются и могут быть не указаны. Необязательный--> <!--@SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих, необязательный--> <!--@Location - положение места в ряде, необязательный, возможные значения: W - у окна (Window) M - где-то в середине ряда (Middle) NPW - возле прохода (NearPassengerWay) NS - нет предпочтения (NotSpecified) --> <!--@RowNumber - Номер ряда, строка, необязательный--> <!--@PlaceNumber - Номер места, строка, необязательный--> <!--@SegNumber - Номер сегмента, строка, обязательный--> <PreferedPlace SmokingAllowed="" Location="" RowNumber="" PlaceNumber="" SegNumber=""/> <DocStringFormats> <!--Формат паспортной строки, обязательный, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID--> <DocStringFormat></DocStringFormat> </DocStringFormats> </Traveller> </Travellers> </BookFlight> <Requisites/> <RequestType xsi:nil="true"/> <UserID xsi:nil="true"/> <Errors xsi:nil="true"/> </Response> </ResponseBin> </ns1:BookFlightResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>