Назначение
Предназначено для переливки данных в режиме историчности.
Переливка включается активацией соответствующего раздела с джобами в конфиге пампера.
Предоставляет информацию о таймлайнах, включая их свойства (для хранилища)
Особенности работы представления
Используется для передачи данных в хранилище.
Для таймлайнов, в которых нет привязанной комнаты и у которых тип комнаты = компонетному, для них вычисляется фиктивный номер комнаты многокомпонентного типа, чтобы распределить такие таймлайны по родительским комнатам. В дальнейшем этот фиктивный номер используется при формировании отчетов По номерам.
Не учитываются часовые таймлайны.
Содержит в том числе таймлайны, дата которых выходит за даты реального проживания брони. Для таких таймлайнов не считаются никакие числовые показатели, только финансовые, поскольку бронь уже не проживала в это время и соответственно не занимала место. Эти таймлайны существуют для анализа всех дней из брони, вне зависимости от того, жила ли она фактически в эти дни или нет.
Представление содержит в том числе строки для групповых броней со следующими условиями:
- если нет броней по группе Квота\Тип комнаты\День, то берем контракт, как он есть
выбираем контракты, у которых по группе Квота\Тип комнаты\День есть подходящие, не аннулированные брони, такие контракты схлопываем до одной строки
Описание полей
| Имя поля | Тип данных | Описание | Примечание |
|---|---|---|---|
| property_code | nvarchar (8) | Код объекта | |
| day_date | date | Дата проживания | |
| reservation_no | nvarchar (20) | Номер брони | PropertyCode.ReservationNo Для строк по контрактам групповых броней тут пусто |
| quota_id | nvarchar (39) | Идентификатор квоты | Для строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0. PropertyCode.QuotaId |
| quota_item_id | nvarchar (39) | Идентификатор контракта квоты | Для строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0. PropertyCode.QuotaItemId |
| room_count | int | Комнато-ночь | Для индивидуальных броней считаем как 1, если выполняется один из наборов условий:
Для групповых броней берем количество комнат из контракта. |
| place_count | int | Койко-ночь | Для индивидуальных броней считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для компонентных типов номеров или на 1 для остальных |
| room_place_count | int | Комнато/койко ночь | Для индивидуальных броней считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для многокомпонентных типов номеров или на 1 для остальных |
| man_count | int | Человеко-ночь | Для индивидуальных броней Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: Для групповых броней берем количество всех гостей из контракта и умножаем на количество комнат из контракта |
| adult_count | int | Количество гостей-взрослых | Для индивидуальных броней: если выполняются условия из примечания к полю ManCount Для групповых броней берем количество гостей-взрослых из контракта и умножаем на количество комнат из контракта |
| adult_count_occupation | int | Количество гостей-взрослых, используемое в расчете загрузки по людям. | Определяется, как наименьшее между реальным количеством гостей-взрослых и количеством основных мест по данному типу номеров. Если выполняются условия из примечания к полю ManCount |
| child1_count | int | Количество гостей-детей 1-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| child2_count | int | Количество гостей-детей 2-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| child3_count | int | Количество гостей-детей 3-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| child4_count | int | Количество гостей-детей 4-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| child5_count | int | Количество гостей-детей 5-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| child_count_occupation | int | Количество гостей-детей, используемое в расчете загрузки по людям | Без учета детей без места. Определяется, как наименьшее между реальным количеством гостей-детей и остатком от количества основных мест после вычета AdultCountOccupation. Если выполняются условия из примечания к полю ManCount |
| extra_bed_adult_count | int | Количество гостей-взрослых на доп. месте | Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_child1_count | int | Количество гостей-детей 1-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_child2_count | int | Количество гостей-детей 2-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_child3_count | int | Количество гостей-детей 3-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_child4_count | int | Количество гостей-детей 4-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_child5_count | int | Количество гостей-детей 5-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| extra_bed_guest_count_sum | int | Количество гостей всего на доп. месте | Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| rate_code | nvarchar (8) | Код тарифа | |
| rate_name | nvarchar (255) | Наименование тарифа | |
| rate_category | varchar (9) | Категория тарифа | Гостевой, Льготный, Для сотрудников |
| room_code | nvarchar (8) | Код комнаты | |
| room_name | nvarchar (255) | Наименование комнаты | |
| parent_room_code | nvarchar (8) | Код родительского расположения (как правило корпус) | |
| location_code | nvarchar (8) | Код расположения номера (как правило этаж) | |
| location_name | nvarchar (255) | Наименование расположения номера | |
| room_type_code | nvarchar (8) | Код типа комнаты | |
| room_type_name | nvarchar (255) | Наименование типа комнаты | |
| room_type_category_code | nvarchar (8) | Код категории типа комнаты | |
| room_type_category_name | nvarchar (255) | Наименование категории типа комнаты | |
| geo_code_grand_parent | nvarchar (MAX) | Гео-код третьего уровня | |
| geo_code_parent | nvarchar (MAX) | Гео-код второго уровня. | |
| geo_code_name | nvarchar (255) | Гео-код первого уровня | |
| geo_code | nvarchar (8) | Код гео-кода | |
| track_code | nvarchar (8) | Трэк-код | |
| open_code | nvarchar (8) | Открытый код. | |
| market_segment_code | nvarchar (8) | Код сегмента рынка | |
| booking_source_code | nvarchar (8) | Код источник бронирования | |
| is_guaranteed | int | Признак гарантированная / негарантированная бронь | Определяется по наличию хотя бы одной гарантированной брони среди всех разделенных |
| guarantee_code | nvarchar (8) | Код гарантии брони | |
| arrival_room_count | int | Комнато-ночь прибытия брони | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| arrival_place_count | int | Койко-ночь прибытия брони | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| arrival_room_place_count | int | Комнат/койко-ночь прибытия брони | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| arrival_adult_count | int | Человеко-ночь прибытия для взрослых гостей | Количество гостей-взрослых, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| arrival_child_count | int | Человеко-ночь прибытия для детей гостей | Количество гостей-детей, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| arrival_man_count | int | Человеко-ночь прибытия для всех гостей | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| departure_room_count | int | Комнато-ночь выбытия брони | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| departure_place_count | int | Койко-ночь выбытия брони | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| departure_room_place_count | int | Комнато/койко-ночь выбытия брони | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| departure_man_count | int | Человеко-ночь выбытия брони | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| departure_adult_count | int | Человеко-ночь выбытия для взрослых гостей | Количество гостей-взрослых, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| departure_child_count | int | Человеко-ночь выбытия для детей гостей | Количество гостей-детей, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| day_use_room_count | int | Комнато-ночь DayUse | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| day_use_place_count | int | Койко-ночь DayUse | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| day_use_room_place_count | int | Комнато/койко ночь DayUse | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| day_use_man_count | int | Человеко-ночь выбытия | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если это DayUse бронь Для групповых броней всегда 0 |
| wait_list_room_count | int | Комнато-ночь в листе ожидания | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| wait_list_place_count | int | Койко-ночь в листе ожидания | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| wait_list_room_place_count | int | Комнато/койко ночь в листе ожидания | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| revenue_stay | decimal | Сумма за проживание по данному таймлайну | Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода = ROOM (проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline Сумма контрактов квот за вычетом суммы из броней этих квот |
| revenue_stay_exclude_tax | decimal | Сумма за проживание без учета налогов по данному таймлайну | Сумма из предыдущей строки за вычетом суммы налогов Для групповой брони: цена контракта без налогов, деленная на количество дней контракта |
| revenue_other | decimal | Сумма прочих доходов по данному таймлайну (кроме проживания) | Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода <> ROOM (не проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline Сумма контрактов квот за вычетом суммы из броней этих квот |
| revenue_other_exclude_tax | decimal | Сумма прочих доходов без учета налогов по данному таймлайну (кроме проживания) | Сумма из предыдущей строки за вычетом суммы налогов Для групповых броней всегда 0 |
| parent_location_code | nvarchar (8) | Код родительской комнаты | |
| reservation_timeline_id | nvarchar (39) | Идентификатор таймлайна | PropertyCode.ReservationTimelineId |
| actual_date | datetime | Актуальная дата | Системное поле, использующееся для определения, какие строки необходимо перелить в хранилище. Если дата в этом поле больше или равна дате последней переливки - строка переливается в хранилище. Используется дата выезда брони. Соответственно, до даты выезда брони включительно переливка будет переносить все изменения маркетинговой информации и таймлайнов, после - нет. |
| commission_amount | decimal | Сумма комиссионного вознаграждения агенту. Заполняется для броней, у которых указан агент, размер вознаграждения считается как % от суммы транзакций за день, в кодах которых установлен признак "начислять комиссию". Максимальный размер суммы, от которой берётся комиссия, указан в поле ComissionLimit таблицы ReservationTimeline. | |
| history_date_from | datetime | Дата начала периода. Используется для механизма историчности | Текущая дата объекта. |
| history_date_to | datetime | Дата окончания периода. Используется для механизма историчности | Если дата выезда брони позже текущей даты объекта, то берется дата объекта, иначе 01.01.2200 |