Веб-служба бронирования: различия между версиями
Перейти к навигации
Перейти к поиску
м (→См. также) |
(→Запрос на бронирование) |
||
Строка 7: | Строка 7: | ||
== Запрос на бронирование == | == Запрос на бронирование == | ||
− | Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр - «FlightId» - ИД перелёта для которого будет производится бронирование. | + | Получить доступ к результатам бронирования в данном сервисе можно через 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> | |
− | + | <ver:BookFlight> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <BookFlight> | |
− | + | <FlightId>?</FlightId> | |
− | + | <!--FlightId - ид перелёта в системе Немо--> | |
− | + | <!--Optional:--> | |
− | + | <ValidatingCompany>?</ValidatingCompany> //необязательный | |
− | + | <!--ValidatingCompany - валидирующий перевозчик (тот кто выписывает билет)--> | |
− | + | <!--Optional:--> | |
− | + | <BookingCodes> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <BookingCode Code="?" SegNumber="?"/> | |
− | + | <!--Code - код класса перелёта--> | |
− | + | <!--SegNumber - номер сегмента в перелёте (начинаются с 1)--> | |
− | + | </BookingCodes> | |
− | + | <!--Optional:--> | |
− | + | <CurrencyCode>?</CurrencyCode> //необязательный | |
− | + | <!--CurrencyCode - код валюты--> | |
− | + | <!--Optional:--> | |
− | + | <TicketTimeLimit>?</TicketTimeLimit> //необязательный | |
− | + | <!--TicketTimeLimit - таймлимит на оплату, формат: ГГГГ-ММ-ДДTЧЧ:ММ:СС--> | |
− | + | <!--Optional:--> | |
− | + | <Agency Name="?"> | |
− | + | <!--Name - название агентства--> | |
− | + | <Telephone Type="?"> | |
− | + | <!--Type - тип номера, обязательный, возможные значения: | |
− | + | M - мобильный, H - домашний, B - рабочий, A - агенство--> | |
− | + | <!--Optional:--> | |
− | + | <PhoneNumber>?</PhoneNumber> | |
− | + | <!--PhoneNumber - номер телефона--> | |
− | + | <!--Optional:--> | |
− | + | <CountryAccessCode>?</CountryAccessCode> //необязательный | |
− | + | <!--CountryAccessCode - код страны--> | |
− | + | <!--Optional:--> | |
− | + | <AreaCityCode>?</AreaCityCode> //необязательный | |
− | + | <!--AreaCityCode - код региона/города--> | |
− | + | </Telephone> | |
− | + | <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> //необязательный | |
− | + | <!--City - город--> | |
− | + | <!--State - штат--> | |
− | + | <!--StreetAddress - адрес в городе (улица, дом, корпус, офис и т.д.)--> | |
− | + | <!--PostalCode - почтовый индекс--> | |
− | + | <!--CountryCode - код страны (RU, UA и т.п.)--> | |
− | + | </Agency> | |
− | + | <Travellers> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?"> | |
− | + | <!--Type - тип пассажира, обязательный, возможные значения: ADT - взрослые, | |
− | + | CNN - дети со взрослыми,UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом--> | |
− | + | <!--IsContact - если true - то данный пассажир является контактным лицом, если false - то не является, | |
− | + | контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них | |
− | + | может быть контактным лицом, по умолчанию false--> | |
− | + | <!--Num - порядковый номер пассажира, начинается с 1--> | |
− | + | <!--LinkedTo - номер взрослого, к которому привязан младенец/ребёнок--> //необязательный | |
− | + | <!--TravellerId - индивидуальный номер пассажира--> //необязательный | |
− | + | <Meal>?</Meal> //необязательный | |
− | + | <!--Meal - код типа питания, возможные значения: | |
− | |||
− | |||
− | |||
NONE - отсутствует | NONE - отсутствует | ||
AVML - Азиатская вегетарианская кухня | AVML - Азиатская вегетарианская кухня | ||
Строка 111: | Строка 108: | ||
VJML - Джайнизское вегетарианское | VJML - Джайнизское вегетарианское | ||
VOML - Восточное вегетарианское питание--> | VOML - Восточное вегетарианское питание--> | ||
− | + | <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?"> | |
− | + | <!--DateOfBirth - дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)--> | |
− | + | <!--Nationality - гражданство, двух буквенный код страны (RU, UA, US и т.д.)--> | |
− | + | <!--Gender - пол пассажира, возможные значения: M - мужской(Male), F - женский(Female)--> | |
− | + | <FirstName>?</FirstName> | |
− | + | <!--FirstName - имя пассажира--> | |
− | + | <LastName>?</LastName> | |
− | + | <!--LastName - фамилия пассажира--> | |
− | + | <!--Optional:--> | |
− | + | <MiddleName>?</MiddleName> //необязательный | |
− | <!-- | + | <!--MiddleName - отчество пассажира--> |
− | <!-- | + | </PersonalInfo> |
− | + | <LoyaltyCard OpCode="?" Number="?"/> //необязательный | |
− | + | <!--OpCode - код авиакомпании--> | |
− | + | <!--Number - номер карточки--> | |
− | + | <ContactInfo> //необязательный | |
− | + | <!--Optional:--> | |
− | + | <EmailID>?</EmailID> | |
− | + | <!--EmailID - контактный email--> | |
− | + | <!--Optional:--> | |
− | + | <Telephone Type="?"> | |
− | + | <!--Type - тип номера, возможные значения: M - мобильный, H - домашний, B - рабочий--> | |
− | + | <!--Optional:--> | |
− | + | <PhoneNumber>?</PhoneNumber> | |
− | + | <!--PhoneNumber - номер телефона--> | |
− | + | <!--Optional:--> | |
− | <!-- | + | <CountryAccessCode>?</CountryAccessCode> |
− | + | <!--CountryAccessCode - код страны--> | |
− | + | <!--Optional:--> | |
− | + | <AreaCityCode>?</AreaCityCode> | |
− | + | <!--AreaCityCode - код региона/города--> | |
− | + | </Telephone> | |
− | + | </ContactInfo> | |
− | + | <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/> | |
− | + | <!--DocType - тип документа, возможные значения: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Р - Паспорт | Р - Паспорт | ||
A – Паспорт иностранца | A – Паспорт иностранца | ||
Строка 165: | Строка 151: | ||
T – Док.повторного въезда, паспорт беженца | T – Док.повторного въезда, паспорт беженца | ||
V – Документ для пересечения границы--> | V – Документ для пересечения границы--> | ||
− | <!-- | + | <!--DocNum - номер документа--> |
− | <!-- | + | <!--CountryCode - двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)--> |
− | <!-- | + | <!--DocElapsedTime - срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)--> |
− | + | <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/> //необязательный | |
− | + | <!--Num - номер визы--> | |
− | + | <!--IssueDate - дата(ДД.ММ.ГГГГ) выдачи визы--> | |
− | + | <!--IssueCountry - страна выдачи визы--> | |
− | + | <!--IssuePlace - место выдачи визы--> | |
− | + | <!--BirthCountry - страна рождения(IATA код страны)--> | |
− | + | <!--BirthCity - город рождения(название)--> | |
− | + | <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> //необязательный | |
− | + | <!--City - город--> | |
− | + | <!--State - штат или область въезда--> | |
− | + | <!--StreetAddress - адрес: улица, номер дома, квартиры и т.д.--> | |
− | + | <!--PostalCode - почтовый код--> | |
− | + | <!--CountryCode - код страны--> | |
− | + | <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> //необязательный | |
− | + | <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются--> | |
− | + | <!--SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих--> | |
− | + | <!--Location - положение места в ряде, возможные значения: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <!-- | ||
− | <!-- | ||
W - у окна (Window) | W - у окна (Window) | ||
M - где-то в середине ряда (Middle) | M - где-то в середине ряда (Middle) | ||
NPW - возле прохода (NearPassengerWay) | NPW - возле прохода (NearPassengerWay) | ||
− | NS - нет предпочтения (NotSpecified) | + | NS - нет предпочтения (NotSpecified)--> |
− | + | <!--RowNumber - номер ряда--> | |
− | <!-- | + | <!--PlaceNumber - номер места--> |
− | <!-- | + | <!--SegNumber - номер сегмента--> |
− | <!-- | + | <DocStringFormats> |
− | + | <!--Zero or more repetitions:--> | |
− | + | <DocStringFormat>?</DocStringFormat> | |
− | + | <!--DocStringFormat - формат паспортной строки, обязательный, возможные значения: | |
− | + | DOCS - строка формата DOCS, FOID - строка формата FOID--> | |
− | + | </DocStringFormats> | |
− | + | </Traveller> | |
− | + | </Travellers> | |
− | + | <!--Optional:--> | |
− | + | <QueueNum>?</QueueNum> | |
− | + | <!--QueueNum - номер очереди, в которую необходимо поместить бронирование--> | |
− | + | </BookFlight> | |
− | + | </Request> | |
− | + | <Source> | |
+ | <ClientId>?</ClientId> | ||
+ | <APIKey>?</APIKey> | ||
+ | <Language>?</Language> | ||
+ | <Currency>?</Currency> | ||
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:BookFlight> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | </div> | ||
+ | </div> | ||
== Односторонний перелет: Москва - Санкт-Петербург == | == Односторонний перелет: Москва - Санкт-Петербург == |
Версия 15:19, 8 марта 2014
Содержание
Запросы
- Запрос на бронирование
- Односторонний перелет. Бронирование
- Бронирование через TravellerId
Запрос на бронирование
Получить доступ к результатам бронирования в данном сервисе можно через SOAP клиента. Для получения результата необходим параметр - «FlightId» - ИД перелёта для которого будет производится бронирование. 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 - ид перелёта в системе Немо-->
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 <!--Num - номер визы-->
144 <!--IssueDate - дата(ДД.ММ.ГГГГ) выдачи визы-->
145 <!--IssueCountry - страна выдачи визы-->
146 <!--IssuePlace - место выдачи визы-->
147 <!--BirthCountry - страна рождения(IATA код страны)-->
148 <!--BirthCity - город рождения(название)-->
149 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/> //необязательный
150 <!--City - город-->
151 <!--State - штат или область въезда-->
152 <!--StreetAddress - адрес: улица, номер дома, квартиры и т.д.-->
153 <!--PostalCode - почтовый код-->
154 <!--CountryCode - код страны-->
155 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/> //необязательный
156 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
157 <!--SmokingAllowed - булевское значение, true - место для курящих, false - место для некурящих-->
158 <!--Location - положение места в ряде, возможные значения:
159 W - у окна (Window)
160 M - где-то в середине ряда (Middle)
161 NPW - возле прохода (NearPassengerWay)
162 NS - нет предпочтения (NotSpecified)-->
163 <!--RowNumber - номер ряда-->
164 <!--PlaceNumber - номер места-->
165 <!--SegNumber - номер сегмента-->
166 <DocStringFormats>
167 <!--Zero or more repetitions:-->
168 <DocStringFormat>?</DocStringFormat>
169 <!--DocStringFormat - формат паспортной строки, обязательный, возможные значения:
170 DOCS - строка формата DOCS, FOID - строка формата FOID-->
171 </DocStringFormats>
172 </Traveller>
173 </Travellers>
174 <!--Optional:-->
175 <QueueNum>?</QueueNum>
176 <!--QueueNum - номер очереди, в которую необходимо поместить бронирование-->
177 </BookFlight>
178 </Request>
179 <Source>
180 <ClientId>?</ClientId>
181 <APIKey>?</APIKey>
182 <Language>?</Language>
183 <Currency>?</Currency>
184 </Source>
185 </RequestBin>
186 </ver:BookFlight>
187 </soapenv:Body>
188 </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 ид перелёта в системе Немо, обязательный--> <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 - Ид брони в системе немо, целое число, обязательный--> <!--@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 - Ид брони в системе немо, целое число, обязательный--> <!--@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="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>