Web-сервисы: Сервис бронирования — различия между версиями
[непроверенная версия] | [досмотренная версия] |
Porunova (обсуждение | вклад) |
Porunova (обсуждение | вклад) (→Общие настройки) |
||
(не показано 10 промежуточных версий 4 участников) | |||
Строка 163: | Строка 163: | ||
| <syntaxhighlight lang="xml" enclose="div"> | | <syntaxhighlight lang="xml" enclose="div"> | ||
<add key="combinedPlaces" value="true" /> | <add key="combinedPlaces" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 9 | ||
+ | | Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке. | ||
+ | | | ||
+ | * '''true''' — включена проверка; | ||
+ | * '''false''' или '''отсутствие настройки''' — проверка отключена. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="IsAuthDubUser" value="true" /> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 291: | Строка 302: | ||
==Подготовка данных== | ==Подготовка данных== | ||
+ | |||
+ | [[Файл:am_063.png|left|Предупреждение]]<br /> | ||
+ | С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты | ||
+ | Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи | ||
+ | с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер. | ||
+ | Установить дату, начиная с которой данное ограничение начинает функционировать, можно в [[Мастер-Тур:Администрирование системы#Дополнительные настройки|дополнительных настройках]] ПК «Мастер-Тур». | ||
+ | <span style="color:red">Настройка работает, начиная с релиза '''9222SP0'''. | ||
+ | |||
===Описание формата данных=== | ===Описание формата данных=== | ||
====MainDependentAccommodation (Доступное основное или зависимое размещение)==== | ====MainDependentAccommodation (Доступное основное или зависимое размещение)==== | ||
Строка 674: | Строка 693: | ||
|} | |} | ||
<br /> | <br /> | ||
− | ====Метод получения | + | ====Метод получения дополнительных услуг (GetNotCalculatedServices)==== |
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
{| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" | ||
Строка 683: | Строка 702: | ||
| <syntaxhighlight lang="cpp"> | | <syntaxhighlight lang="cpp"> | ||
/// <summary> | /// <summary> | ||
− | /// Возвращает список | + | /// Возвращает список дополнительных услуг по ключу цены. Дополнительные услуги не могут быть отелем или перелётом. |
/// </summary> | /// </summary> | ||
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | /// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param> | ||
Строка 693: | Строка 712: | ||
|} | |} | ||
<br /> | <br /> | ||
+ | |||
====Метод получения вариантов услуги (GetServiceVariants)==== | ====Метод получения вариантов услуги (GetServiceVariants)==== | ||
=====Сигнатура вызова===== | =====Сигнатура вызова===== | ||
Строка 1482: | Строка 1502: | ||
<Duration>0</Duration> | <Duration>0</Duration> | ||
<Attribute>7</Attribute> | <Attribute>7</Attribute> | ||
+ | <RateBrutto>$</RateBrutto> | ||
<NMen>1</NMen> | <NMen>1</NMen> | ||
<Partner> | <Partner> | ||
Строка 1542: | Строка 1563: | ||
<Duration>0</Duration> | <Duration>0</Duration> | ||
<Attribute>7</Attribute> | <Attribute>7</Attribute> | ||
− | <RateBrutto /> | + | <RateBrutto>$</RateBrutto> |
<Brutto>0</Brutto> | <Brutto>0</Brutto> | ||
<RateNetto /> | <RateNetto /> | ||
Строка 2155: | Строка 2176: | ||
<ID>157</ID> | <ID>157</ID> | ||
</Visa> | </Visa> | ||
+ | </Service> | ||
+ | <Service xsi:type="ExcursionService"> | ||
+ | <StartDay>2</StartDay> | ||
+ | <Duration>1</Duration> | ||
+ | <Attribute>0</Attribute> | ||
+ | <Partner> | ||
+ | <ID>10771</ID> | ||
+ | </Partner> | ||
+ | <PacketID>682</PacketID> | ||
+ | <City> | ||
+ | <ID>35</ID> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>90</ID> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist> | ||
+ | <ID>0</ID> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <ServiceClass> | ||
+ | <ID>4</ID> | ||
+ | </ServiceClass> | ||
+ | <Excursion> | ||
+ | <ID>52</ID> | ||
+ | </Excursion> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | </Transport> | ||
</Service> | </Service> | ||
<Service xsi:type="InsuranceService"> | <Service xsi:type="InsuranceService"> | ||
Строка 2259: | Строка 2309: | ||
<ID>2</ID> | <ID>2</ID> | ||
</Pansion> | </Pansion> | ||
+ | <Notes>some service comment</Notes> | ||
+ | <Brutto>2</Brutto> | ||
+ | <RateBrutto>$</RateBrutto> | ||
+ | <Netto>3</Netto> | ||
+ | <Discount>4</Discount> | ||
</Service> | </Service> | ||
<Service xsi:type="TransferService"> | <Service xsi:type="TransferService"> | ||
Строка 2368: | Строка 2423: | ||
<AdvertiseID>-1</AdvertiseID> | <AdvertiseID>-1</AdvertiseID> | ||
<CauseDiscountID>-1</CauseDiscountID> | <CauseDiscountID>-1</CauseDiscountID> | ||
+ | <ExternalReservationId>ext res code</ExternalReservationId> | ||
<CountryID>90</CountryID> | <CountryID>90</CountryID> | ||
<DupUserID>-1</DupUserID> | <DupUserID>-1</DupUserID> | ||
Строка 2443: | Строка 2499: | ||
<GetDogovorInfoResponse xmlns="http://megatec.ru/"> | <GetDogovorInfoResponse xmlns="http://megatec.ru/"> | ||
<GetDogovorInfoResult> | <GetDogovorInfoResult> | ||
− | <Code> | + | <Code>LON8052402</Code> |
− | <TurDate> | + | <TurDate>2018-05-24T00:00:00</TurDate> |
− | <Price> | + | <Price>4537</Price> |
− | <Discount> | + | <Discount>10</Discount> |
− | <DiscountSum> | + | <DiscountSum>30</DiscountSum> |
<DogovorStatus>3</DogovorStatus> | <DogovorStatus>3</DogovorStatus> | ||
− | <Nmen> | + | <Nmen>6</Nmen> |
− | <Ndays> | + | <Ndays>6</Ndays> |
<CountryName>Англия</CountryName> | <CountryName>Англия</CountryName> | ||
<CityName>Лондон</CityName> | <CityName>Лондон</CityName> | ||
<RateCode>USD</RateCode> | <RateCode>USD</RateCode> | ||
<ReservationServices> | <ReservationServices> | ||
− | + | <Service xsi:type="HotelService" Brutto="472.5" Netto="450"> | |
− | + | <ID>-150</ID> | |
− | + | <Name> | |
+ | HOTEL::Лондон/Тестовый отель-1*,5 ночей/DBL(Standart),2A/FB Пансион/ | ||
+ | </Name> | ||
+ | <ExternalID>0</ExternalID> | ||
+ | <StartDate>2018-05-24T00:00:00</StartDate> | ||
+ | <EndDate>2018-05-28T00:00:00</EndDate> | ||
+ | <StartDay>1</StartDay> | ||
+ | <Duration>5</Duration> | ||
+ | <Attribute>670</Attribute> | ||
+ | <RateBrutto/> | ||
+ | <Brutto>472.5</Brutto> | ||
+ | <DetailBrutto/> | ||
+ | <RateNetto/> | ||
+ | <Netto>450</Netto> | ||
+ | <DetailNetto/> | ||
+ | <Discount xsi:nil="true"/> | ||
+ | <NMen>3</NMen> | ||
+ | <Partner> | ||
+ | <ID>10766</ID> | ||
+ | <Name>Консульство</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName/> | ||
+ | <BossName/> | ||
+ | <Fax/> | ||
+ | <Address/> | ||
+ | <Zip/> | ||
+ | <Email/> | ||
+ | <Phones/> | ||
+ | </Partner> | ||
+ | <Status> | ||
+ | <ID>1</ID> | ||
+ | <Name>Заказ на бронирование</Name> | ||
+ | <NameLat>order for booking</NameLat> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Status> | ||
+ | <Quota>NotChecked</Quota> | ||
+ | <PacketID>211</PacketID> | ||
+ | <City> | ||
+ | <ID>25</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>222</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> | ||
+ | <ID>1</ID> | ||
+ | <Name> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>2</ID> | ||
+ | <Name> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>3</ID> | ||
+ | <Name> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
+ | <Notes/> | ||
+ | <PartnerContractId>0</PartnerContractId> | ||
+ | <LinkingStatus>0</LinkingStatus> | ||
+ | <LinkingServiceKey>0</LinkingServiceKey> | ||
+ | <IsAllNetCostOffers>false</IsAllNetCostOffers> | ||
+ | <IsAllGrossCostOffers>false</IsAllGrossCostOffers> | ||
+ | <ServiceClass> | ||
+ | <ID>3</ID> | ||
+ | <Name>Отель/Круиз</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <ServiceClasses>None</ServiceClasses> | ||
+ | </ServiceClass> | ||
+ | <IsGroup>false</IsGroup> | ||
+ | <Hotel> | ||
+ | <ID>3231</ID> | ||
+ | <Name>Тестовый отель 1*</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <City> | ||
+ | <ID>3231</ID> | ||
+ | <Name>Лондон</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | </Hotel> | ||
+ | <Room> | ||
+ | <ID>1117</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <RoomType> | ||
+ | <ID>2</ID> | ||
+ | <Name>DBL</Name> | ||
+ | <NameLat/> | ||
+ | <Code>DBL</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <Places> | ||
+ | <Main>2</Main> | ||
+ | <Extra>3</Extra> | ||
+ | </Places> | ||
+ | </RoomType> | ||
+ | <RoomCategory> | ||
+ | <ID>20</ID> | ||
+ | <Name>Standart</Name> | ||
+ | <NameLat/> | ||
+ | <Code>STD</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PrintOrder>0</PrintOrder> | ||
+ | </RoomCategory> | ||
+ | <RoomAccomodation> | ||
+ | <ID>325</ID> | ||
+ | <Name>2A</Name> | ||
+ | <NameLat/> | ||
+ | <Code>2A</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <Places> | ||
+ | <Main>2</Main> | ||
+ | <Extra>1</Extra> | ||
+ | </Places> | ||
+ | <IsMain>true</IsMain> | ||
+ | <AgeRange AgeFrom="0" AgeTo="0"/> | ||
+ | <AgeRange2 AgeFrom="0" AgeTo="0"/> | ||
+ | <PerRoom>true</PerRoom> | ||
+ | </RoomAccomodation> | ||
+ | </Room> | ||
+ | <Pansion> | ||
+ | <ID>1</ID> | ||
+ | <Name>Пансион</Name> | ||
+ | <NameLat/> | ||
+ | <Code>FB</Code> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Pansion> | ||
+ | </Service> | ||
+ | <Service xsi:type="ExcursionService" Brutto="5.25" Netto="5"> | ||
+ | <ID>-162</ID> | ||
+ | <Name> | ||
+ | Экскурсия::Лондон/Британский музей, 3 часа/автобус,20 чел./ | ||
+ | </Name> | ||
<ExternalID>0</ExternalID> | <ExternalID>0</ExternalID> | ||
− | <StartDate> | + | <StartDate>2018-05-24T00:00:00</StartDate> |
− | <EndDate> | + | <EndDate>2018-05-24T00:00:00</EndDate> |
<StartDay>1</StartDay> | <StartDay>1</StartDay> | ||
− | <Duration> | + | <Duration>0</Duration> |
<Attribute>0</Attribute> | <Attribute>0</Attribute> | ||
<RateBrutto/> | <RateBrutto/> | ||
− | <Brutto> | + | <Brutto>5.25</Brutto> |
+ | <DetailBrutto/> | ||
<RateNetto/> | <RateNetto/> | ||
− | <Netto> | + | <Netto>5</Netto> |
+ | <DetailNetto/> | ||
+ | <Discount xsi:nil="true"/> | ||
<NMen>1</NMen> | <NMen>1</NMen> | ||
+ | <Partner> | ||
+ | <ID>10760</ID> | ||
+ | <Name>партнер</Name> | ||
+ | <NameLat>partner</NameLat> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PartnersGroupID>0</PartnersGroupID> | ||
+ | <FullName/> | ||
+ | <BossName/> | ||
+ | <Fax/> | ||
+ | <Address/> | ||
+ | <Zip/> | ||
+ | <Email/> | ||
+ | <Phones/> | ||
+ | </Partner> | ||
<Status> | <Status> | ||
− | + | <ID>0</ID> | |
− | + | <Name>Ok</Name> | |
− | + | <NameLat>Ok</NameLat> | |
− | + | <Code/> | |
− | + | <CodeLat/> | |
− | + | <Unicode/> | |
− | + | <Description/> | |
</Status> | </Status> | ||
<Quota>NotChecked</Quota> | <Quota>NotChecked</Quota> | ||
− | <PacketID> | + | <PacketID>252</PacketID> |
− | <Tourists/> | + | <City> |
− | + | <ID>25</ID> | |
− | < | + | <Name/> |
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </City> | ||
+ | <Country> | ||
+ | <ID>222</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <IsIncoming>false</IsIncoming> | ||
+ | </Country> | ||
+ | <Tourists> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> | ||
+ | <ID>1</ID> | ||
+ | <Name> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>AAA</FirstName> | ||
+ | <LastName>AAA</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | </Tourists> | ||
<Notes/> | <Notes/> | ||
<PartnerContractId>0</PartnerContractId> | <PartnerContractId>0</PartnerContractId> | ||
Строка 2490: | Строка 2800: | ||
<IsAllGrossCostOffers>false</IsAllGrossCostOffers> | <IsAllGrossCostOffers>false</IsAllGrossCostOffers> | ||
<ServiceClass> | <ServiceClass> | ||
− | + | <ID>4</ID> | |
− | + | <Name>Экскурсия</Name> | |
− | + | <NameLat/> | |
− | + | <Code/> | |
− | + | <CodeLat/> | |
− | + | <Unicode/> | |
− | + | <Description/> | |
− | + | <ServiceClasses>None</ServiceClasses> | |
</ServiceClass> | </ServiceClass> | ||
− | + | <IsGroup>false</IsGroup> | |
+ | <Excursion> | ||
+ | <ID>41</ID> | ||
+ | <Name>Британский музей</Name> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | <PlaceFrom/> | ||
+ | <PlaceTo/> | ||
+ | <TimeBeg>0001-01-01T00:00:00</TimeBeg> | ||
+ | <TimeEnd>0001-01-01T00:00:00</TimeEnd> | ||
+ | </Excursion> | ||
+ | <Transport> | ||
+ | <ID>3</ID> | ||
+ | <Name/> | ||
+ | <NameLat/> | ||
+ | <Code/> | ||
+ | <CodeLat/> | ||
+ | <Unicode/> | ||
+ | <Description/> | ||
+ | </Transport> | ||
</Service> | </Service> | ||
− | + | </ReservationServices> | |
− | + | <ReservationTourists> | |
− | <Tourist Sex="Male" BirthDate=" | + | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0"> |
− | + | <ID>1</ID> | |
− | + | <Name> | |
− | + | <FirstName>AAA</FirstName> | |
− | + | <LastName>AAA</LastName> | |
− | + | </Name> | |
− | + | <NameLat> | |
− | + | <FirstName>AAA</FirstName> | |
− | + | <LastName>AAA</LastName> | |
− | + | </NameLat> | |
− | + | <LocalPassport IssuedBy="" Series="" Number=""/> | |
− | + | <ForeignPassport IssuedBy="" Series="" Number=""/> | |
+ | </Tourist> | ||
+ | <Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>2</ID> | ||
+ | <Name> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>BBB</FirstName> | ||
+ | <LastName>BBB</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
+ | </Tourist> | ||
+ | <Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0"> | ||
+ | <ID>3</ID> | ||
+ | <Name> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </Name> | ||
+ | <NameLat> | ||
+ | <FirstName>CCC</FirstName> | ||
+ | <LastName>CCC</LastName> | ||
+ | </NameLat> | ||
+ | <LocalPassport IssuedBy="" Series="" Number=""/> | ||
+ | <ForeignPassport IssuedBy="" Series="" Number=""/> | ||
</Tourist> | </Tourist> | ||
− | + | </ReservationTourists> | |
− | + | <DogovorGlobalStatus>3</DogovorGlobalStatus> | |
+ | </ReservationInfo> | ||
</GetDogovorInfoResult> | </GetDogovorInfoResult> | ||
</GetDogovorInfoResponse> | </GetDogovorInfoResponse> | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
<br /> | <br /> | ||
+ | |||
====Метод получения информации по путевке (GetReservationInfo)==== | ====Метод получения информации по путевке (GetReservationInfo)==== | ||
=====Пример SOAP-запроса к сервису===== | =====Пример SOAP-запроса к сервису===== | ||
Строка 2626: | Строка 2985: | ||
Метод ничего не возвращает. | Метод ничего не возвращает. | ||
− | [[Category: | + | [[Category:Web-сервисы]] |
Текущая версия на 12:44, 24 мая 2018
Версия статьи от 24-05-2018.
Более ранние версии: |
Содержание
[убрать]- 1 Введение
- 2 Установка
- 3 Настройка
- 4 Настройки в файле WEB.CONFIG
- 5 Подготовка данных
- 5.1 Описание формата данных
- 5.1.1 MainDependentAccommodation (Доступное основное или зависимое размещение)
- 5.1.2 CalculatedPriceInfo (Информация по расчитанной цене)
- 5.1.3 ReservationParams (Параметры бронирования)
- 5.1.4 ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)
- 5.1.5 ReservationInfoParams (Параметры путевки)
- 5.1.6 ReservationInfo (Описание путевки, включая все услуги и туристов)
- 5.2 Сервис формирования списка услуг («ServiceProvider.asmx»)
- 5.2.1 Метод получения основных и неосновных размещений (GetAvailableAccommodations)
- 5.2.2 Метод получения информации по ключу цены (GetCalculatedPriceInfo)
- 5.2.3 Метод получения рассчитанных услуг (GetCalculatedServices)
- 5.2.4 Метод получения информации о дополнительных услугах (GetExtraServiceInfo)
- 5.2.5 Метод получения дополнительных услуг (GetNotCalculatedServices)
- 5.2.6 Метод получения вариантов услуги (GetServiceVariants)
- 5.3 Сервис бронирования (ReservationService.asmx)
- 5.1 Описание формата данных
- 6 Работа в системе
- 6.1 Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
- 6.1.1 Метод получения основных и неосновных размещений (GetAvailableAccommodations )
- 6.1.2 Метод получения информации по ключу цены (GetCalculatedPriceInfo )
- 6.1.3 Метод получения рассчитанных услуг (GetCalculatedServices)
- 6.1.4 Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)
- 6.1.5 Метод получения нерассчитанных услуг (GetNotCalculatedServices)
- 6.1.6 Метод получения вариантов услуги (GetServiceVariants)
- 6.2 Работа с сервисом «ReservationService.asmx» (Бронирование)
- 6.1 Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
Введение
Данный модуль включает в себя два сервиса.
Сервис формирования списка услуг предназначен для получения следующей информации:
- Общие данные по ключу цены, такие как тур, продолжительности в днях и ночах, описание тура и условия бронирования;
- Список услуг, включенных в стоимость, по ключу цены;
- Список не рассчитанных услуг по ключу цены;
- Список вариантов какой-либо услуги.
Сервис бронирования предназначен для расчета стоимости совокупности услуг, с возможностью их последующего бронирования в базе данных.
Ссылка на тестовый сервис
С работой тестового сервиса формирования списка услуг и сервиса бронирования вы можете ознакомиться на нашем демо-сервере.
Установка
Создание виртуального каталога
По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot
. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
2 Диспетчер служб IIS
3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
4 В открывшемся окне нужно нажать кнопку ОК
Подключение к базе данных ПК «Мастер-Тур»
В файле web.config
, расположенном в папке Reservation пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести).
Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>
Настройка
После установки Сервис бронирования доступен по адресу:
http://ip-адрес сервера Мастер-Веб/Reservation/ServiceProvider.asmx
(сервис формирования списка услуг);http://ip-адрес сервера Мастер-Веб/Reservation/ReservationService.asmx
(сервис бронирования).
Для корректной работы сервиса Reservation на релизах ПК «Мастер-Web» 2009.2.15 и выше нужно включить настройку customErrors в элементе <system.web>: <system.web> <customErrors mode="On"/> … </system.web>
Настройки в файле WEB.CONFIG
Общие настройки
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Пользователь, который будет отображаться как Владелец путевки (если не указан ведущий менеджер по туру и партнеру). | Ключ пользователя - поле US_KEY из таблицы [UserList] .
|
<add key="webUserKey" value="458" />
|
2 | Определение приоритета проставления ведущего менеджера по путевке. |
|
<add key="managerPriority" value="partner" />
|
3 | Задание статуса заявки в ПК «Мастер-Тур», забронированной через систему бронирования ПК «Мастер-Web». |
Подробнее см. Механизм изменения статуса путевки. |
<add key="orderStatus" value="web" />
|
4 | Настройка, определяющая максимальный возможный возраст детей.
Работает только совместно с настройкой «checkTouristAgeEnable». |
Максимальный возраст ребенка. При отсутствии настройки максимальный возраст ребенка равен 14 лет. |
<add key="maxChildAge" value="16" />
|
5 | Определяет справочник, по которому будет проверяться количество основных мест при поиске в экране «Динамический лист предложений» и при бронировании в коризинах бронирования ПК «Мастер-Web». |
Если соответствующее поле там не заполнено, то из справочника «Типы номеров».
|
<add key="useAccomodationPlaces" value="false" />
|
6 | Определяет справочник, по которому будет проверяться количество дополнительных мест при поиске в экране «Динамический лист предложений» и при бронировании в коризинах бронирования ПК «Мастер-Web». |
Если соответствующее поле там не заполнено, то из справочника «Типы размещений».
|
<add key="useRoomsExtraPlaces" value="false" />
|
7 | Настройка, включающая режим учета процента при конвертации валют. | Коэффициент, на который умножается конвертируемая сумма. | <add key="courseMultiplier" value="1,02" />
|
8 | Настройка указывает на то, что в справочнике «Типы номеров» в колонке Число основных мест указано общее количество взрослых и детей. Дополнительно должно быть прописано и количество детей в соответствующей колонке.
При включенной настройке в случае, если сумма основных и дополнительных мест в справочнике «Типы размещений» превышает значение в колонке число основных мест, бронирование невозможно. |
|
<add key="combinedPlaces" value="true" />
|
9 | Настройка, включающая проверку прав текущего пользователя на получение доступа к путевке. |
|
<add key="IsAuthDubUser" value="true" />
|
Настройки бронирования инфантов
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Ключи тарифов на авиаперелет для размещения Младенец (Infant).
Настройка используется либо в дополнительном модуле «Бронирование индивидуального тура», либо для исключения тарифов при отображении списка рейсов в корзинах бронирования. |
Ключи тарифов - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="infantCharterClasses" value="132,110" />
|
2 | Взрослые тарифы (эконом) авиаперелетов, для которых будет подбираться тариф - YCH - Экономический класс (детский). | Ключи тарифа - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="YCH" value="81,87,89" />
|
3 | Взрослые тарифы (бизнес) авиаперелетов, для которых будет подбираться тариф - CCH - Бизнес класс (детский). | Ключи тарифа - поле AS_CODE из таблицы [AirService] через запятую.
|
<add key="CCH" value="67,68,74" />
|
Настройки добавления доплат к рейсам
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение отображения блока доплат к рейсу. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] , к которому должны привязываться туры, содержащие доплаты к рейсам.
|
<add key="addFlightTourType" value="13" />
|
2 | Название доплаты за изменение рейса. | Текст - название доплаты за изменение рейса, которое будет отображаться в блоке доплат. | <add key="changeFlightPaymentName" value="Доплата за выбор рейса" />
|
3 | Настройка, скрывающая поле с доплатой за изменение рейса в блоке доплат. | false - поле с доплатой за изменение рейса скрыто;
true или отсутствие настройки - поле с доплатой за изменение рейса отображается. |
<add key="showFlightVariantDifference" value="true" />
|
Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл web.config
настройку <add key="addFlightTourType" value="ххх" />
, где ххх - ключ типа тура, откуда берутся доплаты. Например, ключ типа у текущего тура - 17, а дополнительная услуга топливного сбора лежит в пакете с ключом типа тура 50. Значит, нам надо указать 50 вместо ххх. При получении списка услуг необходимо использовать метод GetCalculatedServices
сервиса ServiceProvider.asmx
. Услуга топливного сбора будет находиться в подразделе AdditionalPayments
раздела Service
структуры XML.
Настройки дополнительного модуля «Бронирование новогодних и рожденственских ужинов»
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение дополнительного модуля «Бронирование новогодних и рожденственских ужинов». | Ссылка на дополнительный модуль. | <add key="happyNewYearServiceManager" value="MasterWebStandard.Extra.HappyNewYearServices.HappyNewYearStandardManager, MasterWebStandard.Extra.HappyNewYearServices" />
|
2 | Тип тура для обязательных праздничных ужинов. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] для обязательных ужинов.
|
<add key="requiredNewYearServicesTourTypes" value="12" />
|
3 | Тип тура для необязательных праздничных ужинов. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] для необязательных ужинов.
|
<add key="optionalNewYearServicesTourTypes" value="12" />
|
Подготовка данных
С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер. Установить дату, начиная с которой данное ограничение начинает функционировать, можно в дополнительных настройках ПК «Мастер-Тур». Настройка работает, начиная с релиза 9222SP0.
Описание формата данных
MainDependentAccommodation (Доступное основное или зависимое размещение)
/// <summary>
/// Доступное основное или зависимое размещение
/// </summary>
public class MainDependentAccommodation
{
/// <summary>
/// Ключ прайса, к которому относится размещение
/// </summary>
public Int32 PriceKey { get; set; }
/// <summary>
/// Название размещения
/// </summary>
public String AccommodationName { get; set; }
/// <summary>
/// Количество человек
/// </summary>
public Int32 Places { get; set; }
/// <summary>
/// Цена
/// </summary>
public Decimal Price { get; set; }
/// <summary>
/// Валюта цены
/// </summary>
public String Currency { get; set; }
/// <summary>
/// Наличие мест
/// </summary>
public QuotaResultStatus QuotaStatus { get; set; }
}
|
CalculatedPriceInfo (Информация по расчитанной цене)
/// <summary>
/// Информация по рассчитанной цене
/// </summary>
public class CalculatedPriceInfo
{
/// <summary>
/// Прайс-лист
/// </summary>
public PriceTour PriceTour { get; set; }
/// <summary>
/// Дата тура
/// </summary>
public DateTime TourDate { get; set; }
/// <summary>
/// Количество дней по туру
/// </summary>
public int TotalDays { get; set; }
/// <summary>
/// Количество ночей по туру
/// </summary>
public int Nights { get; set; }
}
|
ReservationParams (Параметры бронирования)
/// <summary>
/// Параметры бронирования
/// </summary>
public class ReservationParams
{
/// <summary>
/// Идентификатор рекламного источника в БД
/// </summary>
public int AdvertiseID { get; set; }
/// <summary>
/// Идентификатор основания для скидки в БД
/// </summary>
public int CauseDiscountID { get; set; }
/// <summary>
/// Идентификатор страны тура
/// </summary>
public int CountryID { get; set; }
/// <summary>
/// Идентификатор пользователя, бронирующего тур
/// </summary>
public int DupUserID { get; set; }
/// <summary>
/// Имя оператора
/// </summary>
public string OperatorName { get; set; }
/// <summary>
/// Иденификатор ведущего менеджера по путевке
/// </summary>
public int OwnerID { get; set; }
/// <summary>
/// Идентификатор партнера, бронирующего тур
/// </summary>
public int PartnerID { get; set; }
/// <summary>
/// Валюта, в котрой производится бронирование
/// (если не задана, то вытягивается из тура)
/// </summary>
public string RateCode { get; set; }
/// <summary>
/// Бронируемая продолжительность
/// (если не задана, то высчитывается на основании услуг)
/// </summary>
public int ReserveDuration { get; set; }
/// <summary>
/// Дата тура
/// </summary>
public DateTime TourDate { get; set; }
/// <summary>
/// Идентификатор тура
/// </summary>
public int TourID { get; set; }
/// <summary>
/// Количество туристов по услугам
/// </summary>
public int TouristsCount { get; set; }
}
|
ReservationResult (Результат расчета стоимости и бронирования комплекса услуг)
/// <summary>
/// Класс, описывающий результат расчета стоимости и бронирования комплекса услуг
/// </summary>
public class ReservationResult
{
/// <summary>
/// Стоимость к оплате
/// </summary>
public double Brutto { get; set; }
/// <summary>
/// Процент скидки
/// </summary>
public double DiscountPercent { get; set; }
/// <summary>
/// Абсолютная величина скидки
/// </summary>
public double DiscountSumm { get; set; }
/// <summary>
/// Валюта
/// </summary>
public string Rate { get; set; }
/// <summary>
/// Код сформированной путевки
/// </summary>
public string ReservationCode { get; set; }
/// <summary>
/// Сообщение об ошибке
/// </summary>
public string ErrorMessage { get; set; }
}
|
ReservationInfoParams (Параметры путевки)
/// <summary>
/// Класс, описывающий параметры путевки
/// </summary>
public class ReservationInfoParams
{
/// <summary>
/// код путевки
/// </summary>
public string Code { get; set; }
/// <summary>
/// значение скидки
/// </summary>
public double Discount { get; set; }
/// <summary>
/// стоимость путевки
/// </summary>
public double Price { get; set; }
}
|
ReservationInfo (Описание путевки, включая все услуги и туристов)
/// <summary>
/// Класс, описывающий путевку, включая все услуги путевки и туристов
/// </summary>
public class ReservationInfo
{
/// <summary>
/// Название города поездки
/// </summary>
public string CityName { get; set; }
/// <summary>
/// Код путевки
/// </summary>
public string Code { get; set; }
/// <summary>
/// Название страны поездки
/// </summary>
public string CountryName { get; set; }
/// <summary>
/// Скидка по путевке
/// </summary>
public double Discount { get; set; }
/// <summary>
/// Сумма скидки
/// </summary>
public double DiscountSum { get; set; }
/// <summary>
/// Обобщенный статус путевки
/// </summary>
public int? DogovorGlobalStatus { get; set; }
/// <summary>
/// Статус путевки
/// </summary>
public int DogovorStatus { get; set; }
/// <summary>
/// Кол-во дней поездки
/// </summary>
public int Ndays { get; set; }
/// <summary>
/// Количество туристов в путевке
/// </summary>
public int Nmen { get; set; }
/// <summary>
/// Цена без учета скидки
/// </summary>
public double Price { get; set; }
/// <summary>
/// Код валюты путевки
/// </summary>
public string RateCode { get; set; }
/// <summary>
/// Список всеу услуг в путевке
/// </summary>
public List<Service> ReservationServices { get; set; }
/// <summary>
/// Список всех туристов в путевке
/// </summary>
public List<Tourist> ReservationTourists { get; set; }
/// <summary>
/// Дата начала поездки
/// </summary>
public DateTime TurDate { get; set; }
}
|
Сервис формирования списка услуг («ServiceProvider.asmx»)
Метод получения основных и неосновных размещений (GetAvailableAccommodations)
Сигнатура вызова
/// <summary>
/// Возвращает доступные для бронирования размещения
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены (ключ прайса)</param>
/// <param name="isCheckExtraPlaceQuota:">Проверять ли места на еще одно такое же размещение</param>
/// <returns>Список пар [основное размещение; коллекция неосновных]</returns>
[WebMethod]
public List<SerializableKeyValuePair<MainDependentAccommodation, List<MainDependentAccommodation>>>
GetAvailableAccommodations(String token, Int32 priceKey, Boolean isCheckExtraPlaceQuota)
|
Метод получения информации по ключу цены (GetCalculatedPriceInfo)
Сигнатура вызова
/// <summary>
/// Получение информации о цене
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ цены</param>
/// <param name="includeTourDescriptionText">Возвращать ли описание тура</param>
/// <param name="includeBookingConditionsText">Возвращать ли условия бронирования по туру</param>
/// <returns></returns>
[WebMethod]
public CalculatedPriceInfo GetCalculatedPriceInfo(String token, int priceKey, bool includeTourDescriptionText, bool includeBookingConditionsText)
|
Метод получения рассчитанных услуг (GetCalculatedServices)
Сигнатура вызова
/// <summary>
/// Возвращает список рассчитанных услуг по ключу цены
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены</param>
/// <returns></returns>
[WebMethod]
public List<Service> GetCalculatedServices(String token, int priceKey)
|
Метод получения информации о дополнительных услугах (GetExtraServiceInfo)
Сигнатура вызова
/// <summary>
/// Получение информации о дополнительных услугах
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ цены</param>
/// <returns></returns>
[WebMethod]
public ExtraServiceInfo GetExtraServiceInfo(String token, int priceKey)
|
Метод получения дополнительных услуг (GetNotCalculatedServices)
Сигнатура вызова
/// <summary>
/// Возвращает список дополнительных услуг по ключу цены. Дополнительные услуги не могут быть отелем или перелётом.
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="priceKey">Ключ обсчитанной цены</param>
/// <returns></returns>
[WebMethod]
public List<Service> GetNotCalculatedServices(String token, int priceKey)
|
Метод получения вариантов услуги (GetServiceVariants)
Сигнатура вызова
/// <summary>
/// Получение вариантов услуги
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="service">Базовая услуга</param>
/// <param name="dtDate">Дата заезда</param>
/// <param name="duration">Продолжительность тура</param>
/// <param name="allowHidden">Искать ли аналоги для скрытой услуги</param>
/// <param name="allowHotelCodeChange">Можно ли поменять отель</param>
/// <param name="CheckFlightPacket">Проверять ли пакет услуги</param>
/// <param name="checkQuotes">Нужно ли делать проверку квот и удалять варианты без мест</param>
/// <param name="nMen">Количество мест для проверки (если 0, то игнорируем byRoom и userKey</param>
/// <param name="byRoom">Что проверяем. Места или комнаты</param>
/// <param name="userKey">Агент</param>
/// <param name="includeOriginal">Включать в результат базовую услугу</param>
/// <param name="excludeCharterClasses">Исключить из подбора данные классы перелетов</param>
/// <returns>Список услуг</returns>
[WebMethod]
public List<Service> GetServiceVariants(String token, Megatec.Travel.Entities.Service service
, DateTime tourDate
, int tourDuration
, bool allowHidden
, bool allowHotelCodeChange
, bool checkFlightPacket
, bool checkQuotes
, short nMen
, bool byRoom
, int userKey
, bool includeOriginal
, string excludeCharterClasses)
|
Сервис бронирования (ReservationService.asmx)
Метод расчета стоимости услуг (CalculateReservation)
Сигнатура вызова
/// <summary>
/// Метод расчета стоимости услуг
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="services">Список услуг, по которым рассчитывается стоимость</param>
/// <param name="parameters">Параметры расчета</param>
/// <returns>Результат расчета стоимости</returns>
public ReservationResult CalculateReservation(String token, List<Service> services, ReservationParams parameters)
|
Метод бронирования услуг (CreateReservation)
Сигнатура вызова
/// <summary>
/// Метод бронирования
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="services">Список бронируемых услуг</param>
/// <param name="tourists">Список туристов по путевке</param>
/// <param name="parameters">Параметры бронирования</param>
/// <returns></returns>
[WebMethod]
public ReservationResult CreateReservation(String token, List<Service> services, List<Tourist> tourists, ReservationParams parameters)
|
Метод получения данных по путевке (GetDogovorInfo)
Сигнатура метода
/// <summary>
/// Метод получения полной информации по путевке
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Код путевки</param>
/// <returns>Полная информация по услугам и туристам в путевке</returns>
public Megatec.Travel.DataObjects.ReservationInfo GetDogovorInfo(String token, String reservationCode)
|
Метод получения информации по путевке (GetReservationInfo)
Сигнатура метода
/// <summary>
/// Метод получения HTML-информации по путевке
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Код путевки</param>
/// <param name="partnerKey">Идентификатор покупателя</param>
/// <param name="param">Параметры бронирования</param>
/// <returns>HTML-информация по путевке</returns>
public String GetReservationInfo(String token, String reservationCode, Int32 partnerKey, Megatec.Travel.DataObjects.ReservationInfoParams param)
|
Метод для сохранения номера путевки (SetReservationCode)
Сигнатура метода
/// <summary>
/// Сохраняет номер путевки субагента в БД агента
/// (в историю путевки должен записать номер путевки субагента)
/// </summary>
/// <param name="token">Авторизационный токен (если сервисом запрещен анонимный доступ)</param>
/// <param name="reservationCode">Номер путевки в БД агента</param>
/// <param name="partnerCode">Номер путевки в БД субагента</param>
public void SetReservationCode(String token, String reservationCode, String partnerCode)
|
Работа в системе
Работа с сервисом «ServiceProvider.asmx» (Формирование списка услуг)
Метод получения основных и неосновных размещений (GetAvailableAccommodations )
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAvailableAccommodations xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>33345</priceKey>
<isCheckExtraPlaceQuota>true</isCheckExtraPlaceQuota>
</GetAvailableAccommodations>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAvailableAccommodationsResponse xmlns="http://megatec.ru/">
<GetAvailableAccommodationsResult>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33349</PriceKey>
<AccommodationName>DBL 1-1 STD</AccommodationName>
<Places>2</Places>
<Price>812</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33337</PriceKey>
<AccommodationName>DBL 2-0 Sea View</AccommodationName>
<Places>2</Places>
<Price>938</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33345</PriceKey>
<AccommodationName>DBL 1-1 Sea View</AccommodationName>
<Places>2</Places>
<Price>740</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33353</PriceKey>
<AccommodationName>DBL 0-2 Sea View</AccommodationName>
<Places>1</Places>
<Price>650</Price>
<Currency>$</Currency>
<QuotaStatus>No</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
<Key>
<PriceKey>33341</PriceKey>
<AccommodationName>DBL 2-0 GV</AccommodationName>
<Places>2</Places>
<Price>1370</Price>
<Currency>$</Currency>
<QuotaStatus>Request</QuotaStatus>
</Key>
<Value>
<MainDependentAccommodation xsi:nil="true" />
<MainDependentAccommodation xsi:nil="true" />
</Value>
</SerializableKeyValuePairOfMainDependentAccommodationListOfMainDependentAccommodation>
</GetAvailableAccommodationsResult>
</GetAvailableAccommodationsResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения информации по ключу цены (GetCalculatedPriceInfo )
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedPriceInfo xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
<includeTourDescriptionText>true</includeTourDescriptionText>
<includeBookingConditionsText>true</includeBookingConditionsText>
</GetCalculatedPriceInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedPriceInfoResponse xmlns="http://megatec.ru/">
<GetCalculatedPriceInfoResult>
<PriceTour>
<ID>667</ID>
<Name>Test Tour</Name>
<Description />
<Country>
<ID>90</ID>
<Name>Австрия</Name>
</Country>
<Tour>
<ID>542</ID>
<Name>Test Tour</Name>
<Description />
<BookingConditions />
</Tour>
<Attribute>0</Attribute>
<IncludedServices> Авиаперелет, Трансфер, Проживание(питание: Полупансион), Виза, Страховка, Доп. услуги</IncludedServices>
</PriceTour>
<TourDate>2010-07-02T00:00:00</TourDate>
<TotalDays>11</TotalDays>
<Nights>10</Nights>
</GetCalculatedPriceInfoResult>
</GetCalculatedPriceInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения рассчитанных услуг (GetCalculatedServices)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedServices xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
</GetCalculatedServices>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCalculatedServicesResponse xmlns="http://megatec.ru/">
<GetCalculatedServicesResult>
<Service xsi:type="HotelService">
<ID>-159</ID>
<Name>Отель/Отель 5*+ (Арльберг), Single Standart Взрослый, Полупансион, ,</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>3</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Hotel>
<ID>3254</ID>
<Name>Отель 5*+</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<City>
<ID>3254</ID>
<Name>Арльберг</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
</Hotel>
<Room>
<ID>1112</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<RoomType>
<ID>1</ID>
<Name>Single</Name>
<NameLat />
<Code>SGL</Code>
<CodeLat />
<Unicode />
<Description />
<PrintOrder>0</PrintOrder>
<Places>
<Main>1</Main>
<Extra>1</Extra>
</Places>
</RoomType>
<RoomCategory>
<ID>20</ID>
<Name>Standart</Name>
<NameLat />
<Code>STD</Code>
<CodeLat />
<Unicode />
<Description />
<PrintOrder>0</PrintOrder>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
<Name>Взрослый</Name>
<NameLat />
<Code>Взр.</Code>
<CodeLat />
<Unicode />
<Description />
<Places>
<Main>0</Main>
<Extra>0</Extra>
</Places>
<IsMain>true</IsMain>
<AgeRange AgeFrom="0" AgeTo="0" />
<AgeRange2 AgeFrom="0" AgeTo="0" />
<PerRoom>false</PerRoom>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
<Name>Полупансион</Name>
<NameLat />
<Code>HB</Code>
<CodeLat />
<Unicode />
<Description />
</Pansion>
</Service>
</GetCalculatedServicesResult>
</GetCalculatedServicesResponse>
</soap:Body>
</soap:Envelope>
|
Meтод получения получения информации о дополнительных услугах (GetExtraServiceInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetExtraServiceInfo xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>27084</priceKey>
</GetExtraServiceInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetExtraServiceInfoResponse xmlns="http://megatec.ru/">
<GetExtraServiceInfoResult>
<ExtraServiceInfo>
<ID>76</ID>
<Name>Лондонский Тауэр</Name>
<ServiceClass>
<ID>4</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Attribute>0</Attribute>
<CountryKey>222</CountryKey>
<CityKey>25</CityKey>
<IsRequired>true</IsRequired>
<Direction>0</Direction>
<ServiceVariants>
</ExtraServiceInfo>
<ExtraServiceInfo>
<ID>3231</ID>
<Name>test</Name>
<ServiceClass>
<ID>8</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Attribute>0</Attribute>
<CountryKey>222</CountryKey>
<CityKey>25</CityKey>
<IsRequired>false</IsRequired>
<Direction>0</Direction>
<ServiceVariants>
<ExtraServiceVariant xsi:type="ExtraAddHotelService">
<AvailableDate>2015-06-01T00:00:00</AvailableDate>
<Day>1</Day>
<PartnerKey>10760</PartnerKey>
<PacketKey>249</PacketKey>
<Cost>0</Cost>
<IsCostForPerson>true</IsCostForPerson>
<NMen>1</NMen>
<Description1>
<ID>0</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description1>
<Description2>
<ID>3</ID>
<Name>test,1/</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description2>
<IsPackage>false</IsPackage>
<HasDuration>false</HasDuration>
</ExtraServiceVariant>
<ExtraServiceVariant xsi:type="ExtraAddHotelService">
<AvailableDate>2015-06-02T00:00:00</AvailableDate>
<Day>2</Day>
<PartnerKey>10760</PartnerKey>
<PacketKey>249</PacketKey>
<Cost>0</Cost>
<IsCostForPerson>true</IsCostForPerson>
<NMen>1</NMen>
<Description1>
<ID>0</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description1>
<Description2>
<ID>3</ID>
<Name>test,1/</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Description2>
<IsPackage>false</IsPackage>
<HasDuration>false</HasDuration>
</ExtraServiceVariant>
</ServiceVariants>
</ExtraServiceInfo>
</GetExtraServiceInfoResult>
</GetExtraServiceInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения нерассчитанных услуг (GetNotCalculatedServices)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetNotCalculatedServices xmlns="http://megatec.ru/">
<token>?</token>
<priceKey>5038425</priceKey>
</GetNotCalculatedServices>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetNotCalculatedServicesResponse xmlns="http://megatec.ru/">
<GetNotCalculatedServicesResult>
<Service xsi:type="ExcursionService">
<ID>-190</ID>
<Name>Экскурсия::Арльберг/Кладбища Австрии, /Крысиная упряжка /</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>1</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>0</NMen>
<Partner>
<ID>10760</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>4</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Excursion>
<ID>292</ID>
<Name>Кладбища Австрии</Name>
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PlaceFrom />
<PlaceTo />
<TimeBeg>0001-01-01T00:00:00</TimeBeg>
<TimeEnd>0001-01-01T00:00:00</TimeEnd>
</Excursion>
<Transport>
<ID>28</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</Transport>
</Service>
</GetNotCalculatedServicesResult>
</GetNotCalculatedServicesResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения вариантов услуги (GetServiceVariants)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServiceVariants xmlns="http://megatec.ru/">
<token>?</token>
<service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto>$</RateBrutto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
</Partner>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>89</ID>
</Tariff>
<Flight>
<ID>523</ID>
</Flight>
</service>
<tourDate>2010-07-02T00:00:00</tourDate>
<tourDuration>11</tourDuration>
<allowHidden>false</allowHidden>
<allowHotelCodeChange>false</allowHotelCodeChange>
<checkFlightPacket>true</checkFlightPacket>
<checkQuotes>true</checkQuotes>
<nMen>1</nMen>
<byRoom>false</byRoom>
<userKey>1</userKey>
<includeOriginal>true</includeOriginal>
<excludeCharterClasses />
</GetServiceVariants>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetServiceVariantsResponse xmlns="http://megatec.ru/">
<GetServiceVariantsResult>
<Service xsi:type="FlightService">
<ID>-209</ID>
<Name>А_П::Москва/Арльберг/P74211, DME-AL, 12:12-15:15/Y Экономический класс/</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto>$</RateBrutto>
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Tariff>
<ID>89</ID>
<Name>Экономический класс</Name>
<NameLat>Coach economy</NameLat>
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClassID>0</ServiceClassID>
<Comment />
<CreateDate>0001-01-01T00:00:00</CreateDate>
</Tariff>
<Flight>
<ID>525</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<CityFrom>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityFrom>
<CityTo>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityTo>
<AirportFrom>
<ID>-212</ID>
<Name />
<NameLat />
<Code>DME</Code>
<CodeLat />
<Unicode />
<Description />
</AirportFrom>
<AirportTo>
<ID>-213</ID>
<Name />
<NameLat />
<Code>AL</Code>
<CodeLat />
<Unicode />
<Description />
</AirportTo>
<Airline>
<ID>-211</ID>
<Name />
<NameLat />
<Code>P7</Code>
<CodeLat />
<Unicode />
<Description />
</Airline>
<Number>4211</Number>
<TimeFrom>1899-01-01T12:12:00</TimeFrom>
<TimeTo>1899-01-01T15:15:00</TimeTo>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsArrival>false</IsArrival>
<Available>No</Available>
</Flight>
</Service>
<Service xsi:type="FlightService">
<ID>-245</ID>
<Name>А_П::Москва/Арльберг/SU1875, SVO1-AL, 20:20-23:30/Y Экономический класс/</Name>
<ExternalID>0</ExternalID>
<StartDate>0001-01-01T00:00:00</StartDate>
<EndDate>0001-01-01T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>7</Attribute>
<RateBrutto />
<Brutto>0</Brutto>
<RateNetto />
<Netto>0</Netto>
<NMen>1</NMen>
<Partner>
<ID>10762</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<PartnersGroupID>0</PartnersGroupID>
<FullName />
<BossName />
<Fax />
<Address />
<Zip />
<Email />
<Phones />
</Partner>
<Quota>NotChecked</Quota>
<PacketID>248</PacketID>
<City>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</City>
<Country>
<ID>90</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<IsIncoming>false</IsIncoming>
</Country>
<Tourists />
<DetailNetto />
<DetailBrutto />
<Notes />
<ServiceClass>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<Tariff>
<ID>89</ID>
<Name>Экономический класс</Name>
<NameLat>Coach economy</NameLat>
<Code />
<CodeLat />
<Unicode />
<Description />
<ServiceClassID>0</ServiceClassID>
<Comment />
<CreateDate>0001-01-01T00:00:00</CreateDate>
</Tariff>
<Flight>
<ID>523</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
<CityFrom>
<ID>1</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityFrom>
<CityTo>
<ID>275</ID>
<Name />
<NameLat />
<Code />
<CodeLat />
<Unicode />
<Description />
</CityTo>
<AirportFrom>
<ID>-248</ID>
<Name />
<NameLat />
<Code>SVO1</Code>
<CodeLat />
<Unicode />
<Description />
</AirportFrom>
<AirportTo>
<ID>-249</ID>
<Name />
<NameLat />
<Code>AL</Code>
<CodeLat />
<Unicode />
<Description />
</AirportTo>
<Airline>
<ID>-247</ID>
<Name />
<NameLat />
<Code>SU</Code>
<CodeLat />
<Unicode />
<Description />
</Airline>
<Number>1875</Number>
<TimeFrom>1899-01-01T20:20:00</TimeFrom>
<TimeTo>1899-01-01T23:30:00</TimeTo>
<DateFrom>0001-01-01T00:00:00</DateFrom>
<DateTo>0001-01-01T00:00:00</DateTo>
<IsArrival>false</IsArrival>
<Available>No</Available>
</Flight>
</Service>
</GetServiceVariantsResult>
</GetServiceVariantsResponse>
</soap:Body>
</soap:Envelope>
|
Работа с сервисом «ReservationService.asmx» (Бронирование)
Метод расчета стоимости услуг (CalculateReservation)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CalculateReservation xmlns="http://megatec.ru/">
<token>?</token>
<services>
<Service xsi:type="TransferService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>372</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="VisaService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>131</Attribute>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>5</ID>
</ServiceClass>
<Visa>
<ID>157</ID>
</Visa>
</Service>
<Service xsi:type="InsuranceService">
<StartDay>1</StartDay>
<Duration>11</Duration>
<Attribute>151</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10763</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>6</ID>
</ServiceClass>
<AddDescription1>
<ID>6</ID>
</AddDescription1>
<AddDescription2>
<ID>0</ID>
</AddDescription2>
<Insurance>
<ID>174</ID>
</Insurance>
</Service>
<Service xsi:type="AdditionalService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>3</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>1032</ID>
</ServiceClass>
<Description>
<ID>183</ID>
</Description>
<Description1>
<ID>0</ID>
</Description1>
<Description2>
<ID>0</ID>
</Description2>
</Service>
<Service xsi:type="HotelService">
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>3</ID>
</ServiceClass>
<Hotel>
<ID>3254</ID>
</Hotel>
<Room>
<ID>1112</ID>
<RoomType>
<ID>1</ID>
</RoomType>
<RoomCategory>
<ID>20</ID>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
</Pansion>
</Service>
<Service xsi:type="TransferService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>373</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>19443</PacketID>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17234</ID>
<CityFrom>
<ID>30</ID>
</CityFrom>
<CityTo>
<ID>65</ID>
</CityTo>
</Flight>
</Service>
<Service xsi:type="FlightService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>18920</PacketID>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17235</ID>
<CityFrom>
<ID>65</ID>
</CityFrom>
<CityTo>
<ID>30</ID>
</CityTo>
</Flight>
</Service>
</services>
<parameters>
<AdvertiseID>-1</AdvertiseID>
<CauseDiscountID>-1</CauseDiscountID>
<CountryID>90</CountryID>
<DupUserID>-1</DupUserID>
<OperatorName />
<OwnerID>-1</OwnerID>
<PartnerID>10764</PartnerID>
<RateCode />
<ReserveDuration>-1</ReserveDuration>
<TourDate>2010-07-02T00:00:00</TourDate>
<TourID>542</TourID>
<TouristsCount>1</TouristsCount>
</parameters>
</CalculateReservation>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CalculateReservationResponse xmlns="http://megatec.ru/">
<CalculateReservationResult>
<Brutto>1646</Brutto>
<DiscountPercent>10</DiscountPercent>
<DiscountSumm>172</DiscountSumm>
<Rate>$</Rate>
<ReservationCode />
<ErrorMessage />
</CalculateReservationResult>
</CalculateReservationResponse>
</soap:Body>
</soap:Envelope>
|
Метод бронирования услуг (CreateReservation)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateReservation xmlns="http://megatec.ru/">
<token>?</token>
<services>
<Service xsi:type="TransferService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>372</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="VisaService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>131</Attribute>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>5</ID>
</ServiceClass>
<Visa>
<ID>157</ID>
</Visa>
</Service>
<Service xsi:type="ExcursionService">
<StartDay>2</StartDay>
<Duration>1</Duration>
<Attribute>0</Attribute>
<Partner>
<ID>10771</ID>
</Partner>
<PacketID>682</PacketID>
<City>
<ID>35</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>4</ID>
</ServiceClass>
<Excursion>
<ID>52</ID>
</Excursion>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="InsuranceService">
<StartDay>1</StartDay>
<Duration>11</Duration>
<Attribute>151</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10763</ID>
</Partner>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>6</ID>
</ServiceClass>
<AddDescription1>
<ID>6</ID>
</AddDescription1>
<AddDescription2>
<ID>0</ID>
</AddDescription2>
<Insurance>
<ID>174</ID>
</Insurance>
</Service>
<Service xsi:type="AdditionalService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>3</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1032</ID>
</ServiceClass>
<Description>
<ID>183</ID>
</Description>
<Description1>
<ID>0</ID>
</Description1>
<Description2>
<ID>0</ID>
</Description2>
</Service>
<Service xsi:type="HotelService">
<StartDay>1</StartDay>
<Duration>10</Duration>
<Attribute>390</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<Quota>NotChecked</Quota>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>3</ID>
</ServiceClass>
<Hotel>
<ID>3254</ID>
</Hotel>
<Room>
<ID>1112</ID>
<RoomType>
<ID>1</ID>
</RoomType>
<RoomCategory>
<ID>20</ID>
</RoomCategory>
<RoomAccomodation>
<ID>320</ID>
</RoomAccomodation>
</Room>
<Pansion>
<ID>2</ID>
</Pansion>
<Notes>some service comment</Notes>
<Brutto>2</Brutto>
<RateBrutto>$</RateBrutto>
<Netto>3</Netto>
<Discount>4</Discount>
</Service>
<Service xsi:type="TransferService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>19975</Attribute>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
</Partner>
<PacketID>250</PacketID>
<City>
<ID>275</ID>
</City>
<Country>
<ID>90</ID>
</Country>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>2</ID>
</ServiceClass>
<Transfer>
<ID>373</ID>
</Transfer>
<Transport>
<ID>3</ID>
</Transport>
</Service>
<Service xsi:type="FlightService">
<StartDay>1</StartDay>
<Duration>0</Duration>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>19443</PacketID>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17234</ID>
<CityFrom>
<ID>30</ID>
</CityFrom>
<CityTo>
<ID>65</ID>
</CityTo>
</Flight>
</Service>
<Service xsi:type="FlightService">
<StartDay>8</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<NMen>2</NMen>
<Partner>
<ID>27990</ID>
</Partner>
<PacketID>18920</PacketID>
<Tourists>
<Tourist>
<ID>0</ID>
</Tourist>
</Tourists>
<ServiceClass>
<ID>1</ID>
</ServiceClass>
<Tariff>
<ID>226</ID>
</Tariff>
<Flight>
<ID>17235</ID>
<CityFrom>
<ID>65</ID>
</CityFrom>
<CityTo>
<ID>30</ID>
</CityTo>
</Flight>
</Service>
</services>
<tourists>
<Tourist Sex="Male" BirthDate="1980-02-01T00:00:00" AgeType="Adult" Citizen="" IsMain="true" ExternalID="0">
<ID>0</ID>
<Name>
<FirstName />
<SecondName />
<LastName />
</Name>
<NameLat>
<FirstName>SEMEN</FirstName>
<SecondName />
<LastName>IVANOV</LastName>
</NameLat>
</Tourist>
</tourists>
<parameters>
<AdvertiseID>-1</AdvertiseID>
<CauseDiscountID>-1</CauseDiscountID>
<ExternalReservationId>ext res code</ExternalReservationId>
<CountryID>90</CountryID>
<DupUserID>-1</DupUserID>
<OperatorName />
<OwnerID>-1</OwnerID>
<PartnerID>10764</PartnerID>
<RateCode />
<ReserveDuration>-1</ReserveDuration>
<TourDate>2010-07-02T00:00:00</TourDate>
<TourID>542</TourID>
<TouristsCount>1</TouristsCount>
</parameters> </CreateReservation>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateReservationResponse xmlns="http://megatec.ru/">
<CreateReservationResult>
<Brutto>1646</Brutto>
<DiscountPercent>10</DiscountPercent>
<DiscountSumm>172</DiscountSumm>
<Rate>$</Rate>
<ReservationCode>AT 0702007</ReservationCode>
<ErrorMessage />
</CreateReservationResult>
</CreateReservationResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения данных по путевке (GetDogovorInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<GetDogovorInfo xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
</GetDogovorInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetDogovorInfoResponse xmlns="http://megatec.ru/">
<GetDogovorInfoResult>
<Code>LON8052402</Code>
<TurDate>2018-05-24T00:00:00</TurDate>
<Price>4537</Price>
<Discount>10</Discount>
<DiscountSum>30</DiscountSum>
<DogovorStatus>3</DogovorStatus>
<Nmen>6</Nmen>
<Ndays>6</Ndays>
<CountryName>Англия</CountryName>
<CityName>Лондон</CityName>
<RateCode>USD</RateCode>
<ReservationServices>
<Service xsi:type="HotelService" Brutto="472.5" Netto="450">
<ID>-150</ID>
<Name>
HOTEL::Лондон/Тестовый отель-1*,5 ночей/DBL(Standart),2A/FB Пансион/
</Name>
<ExternalID>0</ExternalID>
<StartDate>2018-05-24T00:00:00</StartDate>
<EndDate>2018-05-28T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>5</Duration>
<Attribute>670</Attribute>
<RateBrutto/>
<Brutto>472.5</Brutto>
<DetailBrutto/>
<RateNetto/>
<Netto>450</Netto>
<DetailNetto/>
<Discount xsi:nil="true"/>
<NMen>3</NMen>
<Partner>
<ID>10766</ID>
<Name>Консульство</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PartnersGroupID>0</PartnersGroupID>
<FullName/>
<BossName/>
<Fax/>
<Address/>
<Zip/>
<Email/>
<Phones/>
</Partner>
<Status>
<ID>1</ID>
<Name>Заказ на бронирование</Name>
<NameLat>order for booking</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Status>
<Quota>NotChecked</Quota>
<PacketID>211</PacketID>
<City>
<ID>25</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
<Country>
<ID>222</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<IsIncoming>false</IsIncoming>
</Country>
<Tourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>2</ID>
<Name>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</Name>
<NameLat>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>3</ID>
<Name>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</Name>
<NameLat>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</Tourists>
<Notes/>
<PartnerContractId>0</PartnerContractId>
<LinkingStatus>0</LinkingStatus>
<LinkingServiceKey>0</LinkingServiceKey>
<IsAllNetCostOffers>false</IsAllNetCostOffers>
<IsAllGrossCostOffers>false</IsAllGrossCostOffers>
<ServiceClass>
<ID>3</ID>
<Name>Отель/Круиз</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<IsGroup>false</IsGroup>
<Hotel>
<ID>3231</ID>
<Name>Тестовый отель 1*</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<City>
<ID>3231</ID>
<Name>Лондон</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
</Hotel>
<Room>
<ID>1117</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<RoomType>
<ID>2</ID>
<Name>DBL</Name>
<NameLat/>
<Code>DBL</Code>
<CodeLat/>
<Unicode/>
<Description/>
<Places>
<Main>2</Main>
<Extra>3</Extra>
</Places>
</RoomType>
<RoomCategory>
<ID>20</ID>
<Name>Standart</Name>
<NameLat/>
<Code>STD</Code>
<CodeLat/>
<Unicode/>
<Description/>
<PrintOrder>0</PrintOrder>
</RoomCategory>
<RoomAccomodation>
<ID>325</ID>
<Name>2A</Name>
<NameLat/>
<Code>2A</Code>
<CodeLat/>
<Unicode/>
<Description/>
<Places>
<Main>2</Main>
<Extra>1</Extra>
</Places>
<IsMain>true</IsMain>
<AgeRange AgeFrom="0" AgeTo="0"/>
<AgeRange2 AgeFrom="0" AgeTo="0"/>
<PerRoom>true</PerRoom>
</RoomAccomodation>
</Room>
<Pansion>
<ID>1</ID>
<Name>Пансион</Name>
<NameLat/>
<Code>FB</Code>
<CodeLat/>
<Unicode/>
<Description/>
</Pansion>
</Service>
<Service xsi:type="ExcursionService" Brutto="5.25" Netto="5">
<ID>-162</ID>
<Name>
Экскурсия::Лондон/Британский музей, 3 часа/автобус,20 чел./
</Name>
<ExternalID>0</ExternalID>
<StartDate>2018-05-24T00:00:00</StartDate>
<EndDate>2018-05-24T00:00:00</EndDate>
<StartDay>1</StartDay>
<Duration>0</Duration>
<Attribute>0</Attribute>
<RateBrutto/>
<Brutto>5.25</Brutto>
<DetailBrutto/>
<RateNetto/>
<Netto>5</Netto>
<DetailNetto/>
<Discount xsi:nil="true"/>
<NMen>1</NMen>
<Partner>
<ID>10760</ID>
<Name>партнер</Name>
<NameLat>partner</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PartnersGroupID>0</PartnersGroupID>
<FullName/>
<BossName/>
<Fax/>
<Address/>
<Zip/>
<Email/>
<Phones/>
</Partner>
<Status>
<ID>0</ID>
<Name>Ok</Name>
<NameLat>Ok</NameLat>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Status>
<Quota>NotChecked</Quota>
<PacketID>252</PacketID>
<City>
<ID>25</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</City>
<Country>
<ID>222</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<IsIncoming>false</IsIncoming>
</Country>
<Tourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</Tourists>
<Notes/>
<PartnerContractId>0</PartnerContractId>
<LinkingStatus>0</LinkingStatus>
<LinkingServiceKey>0</LinkingServiceKey>
<IsAllNetCostOffers>false</IsAllNetCostOffers>
<IsAllGrossCostOffers>false</IsAllGrossCostOffers>
<ServiceClass>
<ID>4</ID>
<Name>Экскурсия</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<ServiceClasses>None</ServiceClasses>
</ServiceClass>
<IsGroup>false</IsGroup>
<Excursion>
<ID>41</ID>
<Name>Британский музей</Name>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
<PlaceFrom/>
<PlaceTo/>
<TimeBeg>0001-01-01T00:00:00</TimeBeg>
<TimeEnd>0001-01-01T00:00:00</TimeEnd>
</Excursion>
<Transport>
<ID>3</ID>
<Name/>
<NameLat/>
<Code/>
<CodeLat/>
<Unicode/>
<Description/>
</Transport>
</Service>
</ReservationServices>
<ReservationTourists>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="true" ExternalID="0">
<ID>1</ID>
<Name>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</Name>
<NameLat>
<FirstName>AAA</FirstName>
<LastName>AAA</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Male" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>2</ID>
<Name>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</Name>
<NameLat>
<FirstName>BBB</FirstName>
<LastName>BBB</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
<Tourist Sex="Female" BirthDate="1990-12-12T00:00:00" AgeType="Adult" Citizen="Россия" IsMain="false" ExternalID="0">
<ID>3</ID>
<Name>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</Name>
<NameLat>
<FirstName>CCC</FirstName>
<LastName>CCC</LastName>
</NameLat>
<LocalPassport IssuedBy="" Series="" Number=""/>
<ForeignPassport IssuedBy="" Series="" Number=""/>
</Tourist>
</ReservationTourists>
<DogovorGlobalStatus>3</DogovorGlobalStatus>
</ReservationInfo>
</GetDogovorInfoResult>
</GetDogovorInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод получения информации по путевке (GetReservationInfo)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<GetReservationInfo xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
<partnerKey>0</partnerKey>
<param>
<Code>EN40228001</Code>
<Price>225</Price>
<Discount>0</Discount>
</param>
</GetReservationInfo>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetReservationInfoResponse xmlns="http://megatec.ru/">
<GetReservationInfoResult><![CDATA[<table border="2">
<tr><td colspan="2">
Новая заявка
на организацию экскурсионного туристического /
санаторно-курортного обслуживания к путевке EN40228001
(Англия, Лондон, Индивидуально)</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td colspan="2"></td></tr>
<tr><td colspan="2">Даты заезда: с 28.02.2014 по 03.03.2014, кол-во дней 4</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td> Наименование: </td><td>Отель в Лондоне 1* (Лондон)</td></tr>
<tr><td> Категория номера: </td><td>Single Standart Взрослый</td></tr>
<tr><td> Размещение (кол-во мест в номере):</td><td> 1</td></tr>
<tr><td> Список заезжающих:</td><td> Лондон Джек /М; </td></tr>
<tr><td> Питание:</td><td> Пансион</td></tr>
<tr><td colspan="2"></td></tr>
<tr><td>Полный список заезжающих: </td><td>Лондон Джек /М ;</td></tr>
<tr><td>Экскурсионная программа:</td><td> </td></tr>
<tr><td>Дополнительные услуги:</td><td> </td></tr>
<tr><td colspan="2"></td></tr>
<tr><td>Итого к оплате: </td><td>225 $ (Двести двадцать пять $ 00 )</td></tr>
<tr><td>Сумма заказа: </td><td>225 $</td></tr>
<tr><td>Номер путевке в базе данных субагента: </td><td>EN40228001</td></tr>
<tr><td>Дата продажи: </td><td>24.02.2014</td></tr>
</table>]]></GetReservationInfoResult>
</GetReservationInfoResponse>
</soap:Body>
</soap:Envelope>
|
Метод для сохранения номера путевки (SetReservationCode)
Пример SOAP-запроса к сервису
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://megatec.ru/">
<soap:Header/>
<soap:Body>
<SetReservationCode xmlns="http://megatec.ru/">
<token>?</token>
<reservationCode>EN40228001</reservationCode>
<partnerCode>40228001EN</partnerCode>
</SetReservationCode>
</soap:Body>
</soap:Envelope>
|
Пример SOAP-ответа сервиса
Метод ничего не возвращает.