Инструкция по загрузке туров в XML формате
Список текущих файлов, доступных для скачивания, находится по адресу http://www.maldives.ru/xml/
Полная перегенерация XML-файлов делается один раз в 24 часа.
Для того, чтобы иметь у себя актуальные данные загружайте наши файлы с обновлениями, которые мы регулярно выкладываем.
Пример файла:
<?xml version="1.0" encoding="UTF-8"?>
<file_list>
<file>
<id>1309816783</id>
<date>01:59:43 05.07.2011</date>
<type>0</type>
<url>http://www.maldives.ru/xml/1309816783.rar</url>
</file>
<file>
<id>1309861800</id>
<date>14:30:00 05.07.2011</date>
<type>1</type>
<url>http://www.maldives.ru/xml/1309861800.rar</url>
</file>
</file_list>
Где,
ID – id файла
DATE – дата создания
TYPE – тип файла (0 – полные данные, 1 – частичные данные)
URL – url для загрузки файла.
Логика работы: Раз в сутки создается полный список туров для экспорта (type 0), его необходимо импортировать полностью, стирая перед этим старые данные. При наличии изменений в ценах, создается файл изменений (type 1) который содержит новые цены, которых нет в файле type 0, а также, список цен на удаление.
ID идут в порядке увеличения. Таким образом, чтобы получить актуальный список цен, необходимо скачать все файлы с ID большим, чем предыдущий загруженный, при этом, если попадается файл type 0 – удалить все цены перед его импортом.
Отличия от предыдущего формата архивов:
Старое название файлов с ценами – tours_?.xml , где ? – просто номер.
В новой версии файлы с информацией о ценах называются tour_?.xml , где ? – ID тура.
В новой версии также появились файлы с удаляемыми ценами delete_tour_?.xml , где ? – ID тура. Такие файлы присутствуют только в архивах (type 1). При их наличии, данные из таких файлов должны быть обработаны первее, чем из tour_?.xml.
Внутренний формат файла аналогичен формату tour_?.xml, за исключением того, что блок <price> пуст.
Пример:
<?xml version="1.0" encoding="UTF-8"?>
<tour_list>
<tour>
<id>238</id>
<dates_list>
<date>
<name>04.07.2011</name>
<price_list>
<price hotel_id="1885" roomtype_id="28" pansion_id="4"></price>
<price hotel_id="1885" roomtype_id="126" pansion_id="4"></price>
</price_list>
</date>
</dates_list>
</tour>
</tour_list>
Соответственно, содержимое файла означает, что для тура с id=258 , date=04.07.2011 hotel_id=1885, roomtype_id=28 и 126 pansion_id=4 присутствующие цены необходимо удалить.
На выходе из скрипта экспорта данных получаются следующие файлы:
country.xml, curorts.xml, hotels.xml, pansion.xml, roomtypes.xml, tourtypes.xml, vcity.xml - справочники (ID - значение) tours_XXX.xml - прайс-листы
Обобщенный пример данных:
country.xml
<?xml version="1.0" encoding="UTF-8"?>
<country_list>
<country><id>6247</id><name>Доминикана</name></country>
<country><id>974</id><name>Катар</name></country>
<country><id>6230</id><name>Маврикий</name></country>
…
</country_list>
curorts.xml
<?xml version="1.0" encoding="UTF-8"?>
<curort_list>
<curort><id>20</id><name> Ари & Расду Атоллы</name></curort> <curort><id>84</id><name>Абу-Даби</name></curort>
<curort><id>62</id><name>Адду Атолл</name></curort> … </curort_list>
hotels.xml
<?xml version="1.0" encoding="UTF-8"?>
<hotel_list>
<hotel>
<id>1916</id>
<country_id>6247</country_id>
<curort_id>97</curort_id>
<name>Barcelo Bavaro Casino</name>
<category>4*</category>
<transfer>автобус</transfer>
</hotel>
…
</hotel_list>
pansion.xml
<?xml version="1.0" encoding="UTF-8"?>
<pansion_list>
<pansion>
<id>21</id>
<name>AP</name>
</pansion>
<pansion>
<id>15</id>
<name>ALL</name>
</pansion>
…
</pansion_list>
roomtypes.xml
<?xml version="1.0" encoding="UTF-8"?>
<roomtype_list>
<roomtype>
<id>608</id>
<name></name>
</roomtype>
<roomtype>
<id>539</id>
<name>1 B/R Apartment</name>
</roomtype>
…
</roomtype_list>
tourtypes.xml
<?xml version="1.0" encoding="UTF-8"?>
<tourtype_list>
<tourtype>
<id>20</id>
<name>Городской тур</name>
</tourtype>
<tourtype>
<id>9</id>
<name>Городской тур + пляжный отдых</name> </tourtype> <tourtype> <id>24</id>
<name>Городской тур +пляжный отдых - а/к "EMIRATES"</name>
</tourtype>
…
</tourtype_list>
vcity.xml
<?xml version="1.0" encoding="UTF-8"?>
<vcity_list>
<vcity>
<id>64</id>
<name>Екатеринбург</name>
</vcity>
<vcity><id>63</id><name>Казань</name></vcity>
…
</vcity_list>
tours_XXX.xml
<?xml version="1.0" encoding="UTF-8"?>
<tour_list>
<tour>
<id>302</id>
<vcity_id>1</vcity_id>
<country_id>6230</country_id>
<tourtype_id>1</tourtype_id>
<nights>7</nights>
<name>Название тура</name>
<dates_list>
<date>
<name>02.10.2010</name>
<price_list>
<price hotel_id="1869" roomtype_id="604" pansion_id="15"> <double> <cost>2558.3039</cost> <available>1</available> </double> <single> <cost>2874.8232</cost> <available>1</available> </single> <child> <cost>2108.1431</cost> <available></available> </child> <extrabed> <cost>5515.8215</cost> <available></available> </extrabed> </price>
</price_list>
</date>
</dates_list>
</tour>
</tour_list>
Цены в xml в долларах США (USD)
Цены указаны на одного человека!