Импорт прайс-листов №1.

Спецификация требований

2  Варианты использования

Запуск импорта цен производится из экрана «Цены на отели». При нажатии командной кнопки «Дополнительные модули» выбирается пункт меню «Импорт прайс-листов», открывается диалоговое окно «Импорт прайс-листов», в котором выбирается профиль для импорта и файл, из которого импортируются данные.

Цены сохраняются в базу данных.

3  Функциональные требования

3.1  Ввод основной ценовой информации

3.1.1  R001 Формат данных прайс-листа

Файл состоит из нескольких таблиц с ценами, каждая таблица – новый отель. Заголовка перед таблицами нет, первая непустая строка – начало таблицы с ценами. Таблицы разделяются пустыми строками. Во всем файле первая колонка не заполнена, поэтому пустой считается строка, у которой не заполнена вторая ячейка. Все строки рассматриваются начиная со второй ячейки.

3.1.1.1  Разбор таблицы с ценами

1.  Первая строка – название отеля, через запятую категория отеля (звездность), через запятую город отеля.

2.  Вторая строка – адрес отеля (не обрабатывается и в сопоставлении не участвует).

3.  Третья строка – адрес сайта отеля (не обрабатывается и не сопоставлении не участвует).

4.  Четвертая строка содержит общий период, за который вводятся цены (при импорте не используется – используются конкретные периоды из соответствующих ячеек), валюту, возраст детей, соответствующий детскому размещению

5.  Пятая строка – строка заголовков

6.  Шестая строка – строка заголовков:

НЕ нашли? Не то? Что вы ищете?

6.1.  первые две ячейки – «RoomCategory»,

6.2.  третья ячейка – тип номера «SGL» (одноместный номер)

6.3.  четвертая ячейка – тип номера «DBL» (двухместный номер)

6.4.  пятая ячейка - тип номера «Suite» (при импорте не используется)

6.5.  шестая ячейка – «Apt» (эта колонка показывает, есть ли дополнительные места для данной категории номера)

6.6.  седьмая ячейка – тип размещения «Adult» (дополнительное размещение для взрослых)

6.7.  восьмая ячейка – тип размещения «Child» (дополнительное размещение для детей)

6.8.  девятая ячейка – «Meal» (эта колонка показывает, включена ли стоимость завтрака в стоимость проживания)

6.9.  десятая и одиннадцатая ячейки - типы размещения «Adult» (размещение для взрослых, основное и дополнительное) и «Child» (размещение для детей, основное и дополнительное), для которых в нижеследующих колонках задаются цены на завтрак

6.10. двенадцатая и тринадцатая - типы размещения «Adult» (размещение для взрослых, основное и дополнительное) и «Child» (размещение для детей, основное и дополнительное), для которых в нижеследующих колонках задаются цены на ланч

6.11. четырнадцатая и пятнадцатая - типы размещения «Adult» (размещение для взрослых, основное и дополнительное) и «Child» (размещение для детей, основное и дополнительное), для которых в нижеследующих колонках задаются цены на ланч

Все остальные колонки в импорте не участвуют.

7.  Седьмая строка – период дат, для которого импортируются цены

Далее идет блок цен на конкретный период дат.

3.1.1.2  Разбор блока цен на период дат

Блок цен на период дат имеет следующий вид:

В блоке цен могут быть пустые строки, либо заполненные названием корпуса отеля (при импорте не рассматривается).

Поэтому строка с ценами определяется по заполненности третьей или четвертой ячейки.

Строка с ценами имеет следующую структуру:

-  Первая ячейка – категория номера

-  Третья ячейка – цена за одноместный номер (основное размещение)

-  Четвертая ячейка – цена за двухместный номер, основное размещение (т. к. в результате импорта должны быть получены цены за человека, цена делится на два)

-  Пятая ячейка – пустая

-  Шестая ячейка – показывает, есть ли дополнительное размещение для данной категории номера (Yes – есть, N/A – нет). Если нет, цены из столбцов 7 и 8 не импортируются.

-  Седьмая и восьмая ячейка – цены за взрослое и детское дополнительное размещение (если ячейка не заполнена, цена не импортируется)

-  Девятая ячейка – показывает, включена ли цена питания в цену проживания, или ее надо добавить: included или BB – цена включена, N/I – ее надо добавить

-  Десятая и одиннадцатая ячейки – цена завтрака для взрослого (основного/дополнительного) и детского (основного/дополнительного) размещений. Импортируется (добавляется к цене проживания) только в том случае, если в девятой ячейке значение N/I

-  Двенадцатая и тринадцатая ячейки – цена ланча для взрослого (основного/дополнительного) и детского (основного/дополнительного) размещений

-  Двенадцатая и тринадцатая ячейки – цена ланча для взрослого (основного/дополнительного) и детского (основного/дополнительного) размещений

3.2  Ограничения

Данные, которые содержатся между таблицами с ценами, не обрабатываются.

Вся информация находится на первом листе xls-файла.

Файл не должен быть защищен паролем и не должен содержать макросов (т. е. должен открываться сразу).