|
|
 |
 |
|
|
|
|
 |
 |
 |
 |
 |
Описание формата "TourML"
Формат "TourML" - совместная разработка «Мегатек» и «Само-Софт». Позволяет передавать прайс-листы, информацию о наличии мест, остановках продаж, а также осуществлять бронирование. Формат документирован, для него разработана xsd-схема для проверки валидности xml-документов. Формат поддерживается в версии 2003.4 и более новых.
Скачать описание формата TourML >>
По умолчанию, пространство имен всех элементов, если не указано обратное, есть http://tourml.ru/products/2004-04-19.
|
Название элемента |
TourML |
|
Описание |
Корневой элемент документа. |
|
Количество |
1 |
|
Родитель |
Нет |
|
Следующий узел |
Нет |
|
Содержание |
<TourML xmlns=" http://tourml.ru/products/2004-04-19">
Content: ( header, references?, sources) </TourML> |
|
Дети |
header – заголовок документа
- references (необязательна) – секция справочников
sources – секция цен |
|
Атрибуты |
Нет |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
header |
|
Описание |
Элемент header обязателен, но содержит необязательную для синхронизации информацию о том, кто и с помощью какой реализации сформировал документ. Эта информация может отличатся от информации в источнике. Например, в случае, если информация публикуется не туроператором, а пейджером.
В элемент header можно добавлять собственные элементы расширения, которые должны принадлежать другому пространству имен. Например, это может быть элемент расширения, с указанием даты/времени формирования документа. |
|
Количество |
1 |
|
Родитель |
TourML |
|
Следующий узел |
( references | sources) |
|
Содержание |
<header
vendor? : string
name : string
uri? : string
>
Content: ( comment?, any*) </header> |
|
Дети |
comment, любой элемент из пространства имен, отличающегося от http://tourml.ru/products/2004-04-19 |
|
Атрибуты |
vendor (необязателен) – строка, указывающая на реализацию, которая использовалась при создании документа
name (обязателен)– строка, содержащая значение, указывающее на владельца документа (но не информации, которая в нем находится). Обычно это название компании, которая формирует документ. Как правило, не используется при синхронизации.
uri (необязателен)– уникальный идентификатор владельца документа. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
comment |
|
Описание |
Элемент comment содержит произвольную информацию о документе. |
|
Количество |
1 |
|
Родитель |
header |
|
Следующий узел |
any? |
|
Содержание |
<comment>
Content: any
</comment> |
|
Дети |
Все, что допустимо спецификацией XML. |
|
Атрибуты |
Нет |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
references |
|
Описание |
Элемент references содержит информацию об используемых при описании цен, СПО или квот справочниках. Этот элемент является необязательным, однако, практически всегда используется, так как трудно описать информацию не сославшись как какой-либо справочник. Например, при описании СПО, необходимо ссылаться на страны, валюту и т.д. Таким образом, элементы справочников должны присутствовать в документе практически всегда для сохранения ссылочной целостности.
Элементы справочников, используемые во всем документе, описываются только в данном разделе, даже если документ содержит цены от нескольких источников (туроператоров).
Уникальность первичных ключей элементов справочников поддерживается в пределах элемента references. |
|
Количество |
1 |
|
Родитель |
TourML |
|
Следующий узел |
sources |
|
Содержание |
<references
partial? : Boolean = false
>
Content: ( countries, resorts, cities, categories, hotels, buildings, airlines, airports, aircrafts, flights, roomTypes, roomLocations, roomViews, roomCategories, roomDescriptions, roomAccomodations, rooms, serviceClasses, serviceDescriptions, serviceDescriptions1, serviceDescriptions2, transfers, excursions, transports, cabines, ships, boardings, currencies, tariffs, tourTypes)
</references> |
|
Дети |
-
countries – раздел, описывающий страны
-
resorts – раздел, описывающий регионы
-
cities – раздел, описывающий города
-
categories – раздел, описывающий категории звездности отелей и кают
-
hotels – раздел, описывающий отели
-
buildings – раздел, описывающий корпуса отелей
-
airlines – раздел, описывающий авиакомпании
-
airports – раздел, описывающий аэропорты
-
aircrafts – раздел, описывающий авиасуда
-
flights – раздел, описывающий перелеты
-
roomTypes – раздел, описывающий типы номеров
-
roomLocations – раздел, описывающий расположение номера
-
roomViews – раздел, описывающий вид из номера
-
roomCategories – раздел, описывающий уровень комфортности
-
roomDescriptions – используемые комбинации расположения номера, вида из номера и уровня комфортности номера
-
roomAccomodations – раздел, описывающий проживание в номере
-
rooms – используемые комбинации типов номеров, проживания и описания номера (roomDescriptions)
-
serviceClasses – раздел, описывающий типы услуг
-
serviceDescriptions – раздел, описывающий дополнительные услуги
-
serviceDescriptions1– раздел, описывающий дополнительные услуги
-
serviceDescriptions2– раздел, описывающий дополнительные услуги
-
transfers – раздел, описывающий услуги переезда
-
excursions – раздел, описывающий экскурсионные услуги
-
transports – раздел, описывающий транспорт
-
cabines – раздел, описывающий каюты
-
ships – раздел, описывающий морские суда
-
boardings – питание
-
currencies – валюта
-
tariffs – тарифа перелетов
-
tourTypes – типы туров |
|
Атрибуты |
-
partial (необязателен, по умолчанию - false) – атрибут, указывающий, что секция справочников заполнена частично (значение true). Частичное заполнение справочников необходимо для тех случаев, когда у принимающей стороны уже есть все необходимые справочники и ей нужно знать только идентификаторы используемых записей. Очевидно, что атрибут fake какого-либо элемента справочника в этом случае не должен иметь значение true. В противном случае реализация должна генерировать исключение. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
countries |
|
Описание |
Элемент countries содержит список стран |
|
Количество |
1 |
|
Родитель |
references |
|
Следующий узел |
resorts |
|
Содержание |
<countries>
Content: country*
</countries> |
|
Дети |
-
country (необязателен) – элемент, описывающий страну |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
country |
|
Описание |
Элемент country может встречаться более одного раза в элементе countries и содержит описание одной страны. |
|
Количество |
Не ограничено |
|
Родитель |
countries |
|
Следующий узел |
Нет |
|
Содержание |
<country
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
>
Content: нет
</country> |
|
Дети |
Нет. |
|
Атрибуты |
key (обязателен) – является первичным ключом в пределах элемента references.
fake (необязателен) – указывает на то, что первичный ключ является фиктивным (если значение true). Даже в том случае, когда первичный ключ является фиктивным, он должен быть уникален.
stdKey (необязателен) – стандартный ключ элемента справочника. Используется в тех случаях, когда принимающая сторона заранее не имеет данных справочников и не может синхронизировать запись по идентификатору. Реализация может при синхронизации отдавать приоритет атрибуту stdKey перед атрибутами code, name и nameLat, однако вследствие того, что туроператоры не заполняют это поле надлежащим образом, как правило, в нем содержится мусор не имеющий ничего общего со стандартным ключом (ISO кодом).
name (необязателен) – строковое представление элемента справочника на русском языке
nameLat (необязателен) – строковое представление элемента справочника на латинском языке
code (необязателен) – код элемента, практически тоже самое что и stdKey. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
resort |
|
Описание |
Элемент resort может встречаться более одного раза в элементе resorts и содержит описание одного региона. Под регионами понимается район страны (округ или штат) или курорт. |
|
Количество |
Не ограничено |
|
Родитель |
resorts |
|
Следующий узел |
Нет |
|
Содержание |
<resort
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
countryKey? : unsignedInt
>
Content: нет
</resort> |
|
Дети |
Нет. |
|
Атрибуты |
-
Описание стандартных атрибутов
countryKey (необязателен) – атрибут, указывающий на страну, в которой находится данный регион. Данный атрибут необязателен только в том случае, если атрибут partial элемента references установлен в true. В противном случае атрибут countryKey должен быть указан, поскольку не существует региона вне какой-либо страны. Значение данного атрибута должно учитываться при синхронизации региона. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
city |
|
Описание |
Элемент city может встречаться более одного раза в элементе cities и содержит описание одного города. |
|
Количество |
Не ограничено |
|
Родитель |
cities |
|
Следующий узел |
Нет |
|
Содержание |
<city
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
countryKey? : unsignedInt
resortKey? : unsignedInt
>
Content: нет
</city> |
|
Дети |
Нет. |
|
Атрибуты |
-
Описание стандартных атрибутов
-
countryKey (необязателен) – атрибут, указывающий на страну, в которой находится данный город. Данный атрибут необязателен только в том случае, если атрибут partial элемента references установлен в true. В противном случае атрибут countryKey должен быть указан, поскольку не существует города вне какой-либо страны. Значение данного атрибута должно учитываться при синхронизации города.
-
resortKey (необязателен) – атрибут, указывающий на регион, в котором находится данный город. Данный атрибут является необязательным, даже в том случае, если атрибут partial элемента references установлен в false. Значение данного атрибута может учитываться при синхронизации города. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
categories |
|
Количество |
1 |
|
Описание |
Элемент categories содержит список категорий звездности отелей и кают |
|
Родитель |
references |
|
Следующий узел |
hotels |
|
Содержание |
<categories>
Content: category*
</categories> |
|
Дети |
· category (необязателен) – элемент, описывающий категорию звездности |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
category |
|
Описание |
Элемент category может встречаться более одного раза в элементе categories и содержит описание категории звездности отеля или каюты.
Стандартным написанием категории звездности считается такая: 3*, 4* и т.д. |
|
Количество |
Не ограничено |
|
Родитель |
categories |
|
Следующий узел |
Нет |
|
Содержание |
<category
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
>
Content: нет
</category> |
|
Дети |
Нет. |
|
Атрибуты |
|
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
hotels |
|
Количество |
1 |
|
Описание |
Элемент hotels содержит список отелей |
|
Родитель |
references |
|
Следующий узел |
buildings |
|
Содержание |
<hotels>
Content: hotel*
</hotels> |
|
Дети |
-
hotel (необязателен) – элемент, описывающий отель |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
hotel |
|
Описание |
Элемент hotel может встречаться более одного раза в элементе hotels и содержит описание одного отеля.
Отель не имеет примой связи с категорией звездности, так как последняя относится к строению (building) отеля. У одного отеля может быть более одного строения с различными категориями звездности. |
|
Количество |
Не ограничено |
|
Родитель |
hotels |
|
Следующий узел |
Нет |
|
Содержание |
<hotel
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
countryKey? : unsignedInt
resortKey? : unsignedInt
cityKey? : unsignedInt
>
Content: нет
</hotel> |
|
Дети |
Нет. |
|
Атрибуты |
-
Описание стандартных атрибутов
-
countryKey (необязателен) – атрибут, указывающий на страну, в которой находится данный отель. Данный атрибут необязателен даже в том случае, если атрибут partial элемента references установлен в false. Значение данного атрибута может учитываться при синхронизации города.
-
resortKey (необязателен) – атрибут, указывающий на регион, в котором находится данный отель. Данный атрибут является необязательным, даже в том случае, если атрибут partial элемента references установлен в false. Значение данного атрибута может учитываться при синхронизации отеля.
-
cityKey (необязателен) – атрибут, указывающий на город, в котором находится данный отель. Данный атрибут необязателен только в том случае, если атрибут partial элемента references установлен в true. В противном случае атрибут cityKey должен быть указан, поскольку отель всегда привязан к какому-либо городу, даже если он в нем не находится. Значение данного атрибута должно учитываться при синхронизации отеля. Значения атрибутов resortKey и countryKey могут быть получены из описания города. Если атрибуты resortKey и countryKey присутствуют в описании отеля, их значения должны быть равны значениям соответствующих атрибутов из описания города. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
buildings |
|
Количество |
1 |
|
Описание |
Элемент buildings содержит список корпусов отелей |
|
Родитель |
references |
|
Следующий узел |
airlines |
|
Содержание |
<buildings>
Content: building*
</buildings> |
|
Дети |
· building (необязателен) – элемент, описывающий корпус отеля |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
building |
|
Описание |
Элемент building может встречаться более одного раза в элементе buildings и содержит описание одного корпуса отеля.
Как правило, туроператор (источник информации) не хранит информацию о корпусах. Если в БД присутствуют различные корпуса одного отеля, они трактуются как разные отели. При этом в название отеля дописывается (в скобках, через запятую или другим способом) название корпуса. Реализация вынуждена добавлять фиктивные корпуса (обычно с названиями типа Main Building или Base Building). Принимающая сторона в таких случаях может использовать различные специальные механизмы по синхронизации отелей и корпусов. Например, можно из названия отеля выделять отдельные слова и искать их как названия корпусов. Существуют и другие алгоритмы, однако принимающая сторона не обязана их реализовывать. |
|
Количество |
Не ограничено |
|
Родитель |
buildings |
|
Следующий узел |
Нет |
|
Содержание |
<building
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
categoryKey? : unsignedInt
hotelKey? : unsignedInt
>
Content: нет
</building> |
|
Дети |
Нет. |
|
Атрибуты |
-
Описание стандартных атрибутов
-
categoryKey (необязателен) – атрибут, указывающий на категорию звездности, которую имеет данный корпус. Данный атрибут необязателен только в том случае, если атрибут partial элемента references установлен в true. В противном случае атрибут categoryKey должен быть указан, поскольку звездность является обязательной для заполнения. Значение данного атрибута должно учитываться при синхронизации корпуса.
-
hotelKey (необязателен) – атрибут, указывающий на отель, в котором находится данный корпус. Данный атрибут является необязательным только в том случае, если атрибут partial элемента references установлен в true. В противном случае атрибут hotelKey должен быть указан, поскольку корпус не может находится вне какого-либо отеля. Значение данного атрибута должно учитываться при синхронизации корпуса. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
airlines |
|
Количество |
1 |
|
Описание |
Элемент airlines содержит список авиакомпаний |
|
Родитель |
references |
|
Следующий узел |
airports |
|
Содержание |
<airlines>
Content: airline*
</airlines> |
|
Дети |
airline (необязателен) – элемент, описывающий авиакомпанию |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
airline |
|
Описание |
Элемент airline может встречаться более одного раза в элементе airlines и содержит описание одной авиакомпании. |
|
Количество |
Не ограничено |
|
Родитель |
airlines |
|
Следующий узел |
Нет |
|
Содержание |
<airline
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
countryKey? : unsignedInt
>
Content: нет
</airline> |
|
Дети |
Нет. |
|
Атрибуты |
-
Описание стандартных атрибутов
-
countryKey (необязателен) – атрибут, указывающий на страну, в которой находится авиакомпания. Данный атрибут является необязательным, даже в том случае, если атрибут partial элемента references установлен в false. Значение данного атрибута может учитываться при синхронизации авиакомпании. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
airports |
|
Количество |
1 |
|
Описание |
Элемент airports содержит список аэропортов |
|
Родитель |
references |
|
Следующий узел |
aircrafts |
|
Содержание |
<airports>
Content: airport*
</airports> |
|
Дети |
-
airport (необязателен) – элемент, описывающий аэропорт |
|
Атрибуты |
Нет. |
|
Пространство имен |
http://tourml.ru/products/2004-04-19 |
|
Название элемента |
airport |
|
Описание |
Элемент airport может встречаться более одного раза в элементе airports и содержит описание одного аэропорта. |
|
Количество |
Не ограничено |
|
Родитель |
airports |
|
Следующий узел |
Нет |
|
Содержание |
<airport
key : unsignedInt
fake? : Boolean = false
stdKey? : string
name? :string
nameLat? : string
code? : string
cityKey : unsignedInt
distance? : int

|
 |
 |
 |
 |
|
|
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
|

|