Мастер-Web:Дополнительный модуль Сервис TourML Приложение B

Материал из Megatec
Перейти к: навигация, поиск

Статья находится на стадии разработки.
Версия статьи от 8-02-2013.

Введение

Эта статья является приложением B к статье Дополнительный модуль Сервис TourML. В ней рассказывается о функциях проверки бронирования и функциях бронирования в веб-сервисе TourML.

Функция CheckBooking

Ниже представлен пример запроса на проверку возможности бронирования.

  <?xml version="1.0" ?> 
 <bookings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" date="2006-07-11" time="16:18:43.7311809+04:00" uri="http://www.ESystema.ru">
 <booking xmlns="http://tourml.ru/bookings/2004-09-28">
 <header id="10795" checkin="2009-09-04" buyerPerson="1" mainPerson="1" agreementKey="0">
  <comment>Данная заявка выполнена для проверки работы сервиса. Саму заявку в работу оправлять не нужно</comment> 
  </header>
 <packets>
 <packet id="_1">
  <calculated key="3203315" /> 
  </packet>
  </packets>
 <persons>
 <person key="1" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-03-03" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-03-03" /> 
  </passports>
  </person>
 <person key="2" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-02-02" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-02-02" /> 
  </passports>
  </person>
  </persons>
  </booking>
  </bookings>

В ответ на проверку бронирования возвращается результат проверки в виде XML-документа. Ниже представлен пример возвращаемого XML-документа.

  <?xml version="1.0" ?> 
 <agreements xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" date="0001-01-01" time="00:00:00.0000000+04:00">
 <agreement xmlns="http://tourml.ru/bookings/2004-09-28">
 <header uri="" checkin="2009-09-04" buyerPerson="1" mainPerson="1" agreementKey="-10" agreementCode="-10" country="Турция" city="АНТАЛИЯ" days="8" quantity="2" price="69939.01" pricePaid="0" currency="рб" creationDate="2009-08-04" payUntil="0001-01-01" status="ok" errorStatus="unknown" commission="699.39">
  <comment /> 
  </header>
 <packets>
 <packet id="_1">
 <services>
 <hotelServices>
  <hotelService key="-12" name="HOTEL::АНТАЛИЯ/_NO_CENDER-4*,7 ночей/Double(Standart),Взр./AI Всё включено/" dayBeg="1" nights="7" days="7" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" buildingKey="1037" roomKey="1113" mealKey="38" /> 
  </hotelServices>
 <flightServices>
 <flightService key="-10" name="А_П::АНТАЛИЯ/Москва/P76524, AYT-SVO2, 10:15-13:20/Y Экономический класс/" dayBeg="8" nights="0" days="0" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" flightKey="553" tariffKey="89" >
  </flightService>
 <flightService key="-11" name="А_П::Москва/АНТАЛИЯ/P76523, SVO2-AYT, 18:40-20:20/Y Экономический класс/" dayBeg="1" nights="0" days="0" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" flightKey="552" tariffKey="89" >
  </flightService>
  </flightServices>
  <excursionServices /> 
 <transferServices>
  <transferService key="-14" name="Трансфер::АНТАЛИЯ/Аэропорт-Отель (Белек), , /автобус /" dayBeg="1" nights="0" days="0" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" transferKey="383" transportKey="3" /> 
  <transferService key="-15" name="Трансфер::.БЕЛЕК/Отель (Белек) - Аэропорт, , /автобус /" dayBeg="8" nights="0" days="0" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" transferKey="385" transportKey="3" /> 
  </transferServices>
  <cruiseServices /> 
 <extraServices>
  <extraService key="-13" name="Страховка::Турция/Мед. страховка - 15000$,8 дней/-/" dayBeg="1" nights="7" days="8" men="2" reasonRus="Места есть" reasonLat="Places available" sourceKey="0" classKey="6" subKey="161" subKey1="18" subKey2="0" countryKey="86" cityKey="187" /> 
  </extraServices>
  </services>
  </packet>
  </packets>
 <persons>
 <person key="1" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-03-03" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-03-03" /> 
  </passports>
  </person>
 <person key="2" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-02-02" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-02-02" /> 
  </passports>
  </person>
  </persons>
  <penaltyConditions amount="0.0" currency="" percentage="0" dateLimit="0001-01-01" timeLimit="00:00:00.0000000+04:00" /> 
  </agreement>
  </agreements>

Функция CreateBooking

Ниже представлен пример запроса на бронирование.

  <?xml version="1.0" ?> 
 <bookings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" date="2006-07-11" time="16:18:43.7311809+04:00" uri="http://www.ESystema.ru">
 <booking xmlns="http://tourml.ru/bookings/2004-09-28">
 <header id="10795" checkin="2009-09-04" buyerPerson="1" mainPerson="1" agreementKey="0">
  <comment>Данная заявка выполнена для проверки работы сервиса. Саму заявку в работу оправлять не нужно</comment> 
  </header>
 <packets>
 <packet id="_1">
  <calculated key="3203315" /> 
  </packet>
  </packets>
 <persons>
 <person key="1" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-03-03" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-03-03" /> 
  </passports>
  </person>
 <person key="2" sourceKey="0" packets="_1" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-02-02" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
  <phones /> 
  <addresses /> 
  <emails /> 
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-02-02" /> 
  </passports>
  </person>
  </persons>
  </booking>
  </bookings>

В ответ на бронирование возвращается результат бронирования – путевка - в виде XML-документа. Ниже представлен пример возвращаемого XML-документа. Все ключи услуг и туристов реальные, полученные из базы данных.

  <?xml version="1.0" ?> 
 <agreements xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" date="0001-01-01" time="00:00:00.0000000+04:00">
 <agreement xmlns="http://tourml.ru/bookings/2004-09-28">
 <header uri="" checkin="2009-09-04" buyerPerson="0" mainPerson="92470" agreementKey="43037" agreementCode="TR 0904001" country="Турция" city="АНТАЛИЯ" days="8" quantity="2" price="69939.01" pricePaid="0" currency="рб" creationDate="2009-08-04" payUntil="2009-08-05" status="ok" errorStatus="unknown" commission="699.39">
  <comment /> 
  </header>
 <packets>
 <packet id="_1">
 <services>
 <hotelServices>
  <hotelService key="220699" name="HOTEL::АНТАЛИЯ/_NO_CENDER-4*,7 ночей/Double(Standart),Взр./AI Всё включено/" dayBeg="1" nights="7" days="7" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" buildingKey="1037" roomKey="1113" mealKey="38" /> 
  </hotelServices>
 <flightServices>
 <flightService key="220698" name="А_П::Москва/АНТАЛИЯ/P76523, SVO2-AYT, 18:40-20:20/Y Экономический класс/" dayBeg="1" nights="0" days="0" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" flightKey="552" tariffKey="89" >
  </flightService>
 <flightService key="220697" name="А_П::АНТАЛИЯ/Москва/P76524, AYT-SVO2, 10:15-13:20/Y Экономический класс/" dayBeg="8" nights="0" days="0" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" flightKey="553" tariffKey="89" >
  </flightService>
  </flightServices>
  <excursionServices /> 
 <transferServices>
  <transferService key="220702" name="Трансфер::.БЕЛЕК/Отель (Белек) - Аэропорт, , /автобус /" dayBeg="8" nights="0" days="0" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" transferKey="385" transportKey="3" /> 
  <transferService key="220701" name="Трансфер::АНТАЛИЯ/Аэропорт-Отель (Белек), , /автобус /" dayBeg="1" nights="0" days="0" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" transferKey="383" transportKey="3" /> 
  </transferServices>
  <cruiseServices /> 
 <extraServices>
  <extraService key="220700" name="Страховка::Турция/Мед. страховка - 15000$,8 дней/-/" dayBeg="1" nights="7" days="8" men="2" reasonRus="Ok" reasonLat="Ok" sourceKey="0" classKey="6" subKey="161" subKey1="18" subKey2="0" countryKey="86" cityKey="187" /> 
  </extraServices>
  </services>
  </packet>
  </packets>
 <persons>
 <person key="92471" sourceKey="92471" packets="_1" services="" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-02-02" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
 <phones>
  <phone /> 
  </phones>
 <addresses>
  <address postalIndex="" city="" street="" building="" flat="" /> 
  </addresses>
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-02-02" /> 
  <passport type="national" number="" emittedBy="" emittedWhen="0001-01-01" validTo="0001-01-01" /> 
  </passports>
  </person>
 <person key="92470" sourceKey="92470" packets="_1" services="" firstNameRus="TEST" lastNameRus="TEST" firstNameLat="TEST" lastNameLat="TEST" sex="male" birthday="1982-03-03" nationalityRus="" nationalityLat="" isTourist="true">
 <contacts>
 <phones>
  <phone /> 
  </phones>
 <addresses>
  <address postalIndex="" city="" street="" building="" flat="" /> 
  </addresses>
  </contacts>
 <passports>
  <passport type="foreign" series="1111" number="111111111" emittedBy="ОВД" emittedWhen="1990-01-01" validTo="2007-03-03" /> 
  <passport type="national" number="" emittedBy="" emittedWhen="0001-01-01" validTo="0001-01-01" /> 
  </passports>
  </person>
  </persons>
  </agreement>
  </agreements>

Ниже представлены экраны программного комплекса Мастер-Тур с результатами бронирования, выполненного в пункте работа с функцией CreateBooking.
Путевка в экране работа менеджера



Информация по путевке



Информация о туристах



Детальная информация о туристах