Назначение

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

Особенности работы представления

Используется для передачи данных в хранилище.

Для таймлайнов, в которых нет привязанной комнаты и у которых тип комнаты = компонетному, для них вычисляется фиктивный номер комнаты многокомпонентного типа, чтобы распределить такие таймлайны по родительским комнатам. В дальнейшем этот фиктивный номер используется при формировании отчетов По номерам.

Не учитываются часовые таймлайны.

Содержит в том числе таймлайны, дата которых выходит за даты реального проживания брони. Для таких таймлайнов не считаются никакие числовые показатели, только финансовые, поскольку бронь уже не проживала в это время и соответственно не занимала место. Эти таймлайны существуют для анализа всех дней из брони, вне зависимости от того, жила ли она фактически в эти дни или нет.

Представление содержит в том числе строки для групповых броней со следующими условиями:

Описание полей

Имя поляТип данныхОписаниеПримечание
property_codenvarchar (8)Код объекта
day_datedateДата проживания
reservation_nonvarchar (20)Номер брониPropertyCode.ReservationNo Для строк по контрактам групповых броней тут пусто
quota_idnvarchar (39)Идентификатор квотыДля строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0.
PropertyCode.QuotaId
quota_item_idnvarchar (39)Идентификатор контракта квотыДля строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0.
PropertyCode.QuotaItemId
room_countintКомнато-ночь

Для индивидуальных броней считаем как 1, если выполняется один из наборов условий:

  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони, класс типа комнаты Гостевой или Многокомпонент, это первая бронь из разделенной
  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони, класс типа комнаты Компонент, берем 1 из нескольких таймлайнов на компоненты одной комнаты в один день


Для групповых броней берем количество комнат из контракта.

place_countint

Койко-ночь

Для индивидуальных броней считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере.

И выполняются следующие условия:
это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной


Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для компонентных типов номеров или на 1 для остальных

room_place_countintКомнато/койко ночь

Для индивидуальных броней считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1.

И выполняются следующие условия:
это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной


Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для многокомпонентных типов номеров или на 1 для остальных

man_countint

Человеко-ночь

Для индивидуальных броней

Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия:
это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони


Для групповых броней берем количество всех гостей из контракта и умножаем на количество комнат из контракта

adult_countint

Количество гостей-взрослых

Для индивидуальных броней: если выполняются условия из примечания к полю ManCount

Для групповых броней берем количество гостей-взрослых из контракта и умножаем на количество комнат из контракта

adult_count_occupationint

Количество гостей-взрослых, используемое в расчете загрузки по людям.

Определяется, как наименьшее между реальным количеством гостей-взрослых и количеством основных мест по данному типу номеров.

Если выполняются условия из примечания к полю ManCount

child1_countint

Количество гостей-детей 1-й возрастной группы

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount

child2_countint

Количество гостей-детей 2-й возрастной группы

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount

child3_countint

Количество гостей-детей 3-й возрастной группы

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount

child4_countint

Количество гостей-детей 4-й возрастной группы

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount

child5_countint

Количество гостей-детей 5-й возрастной группы

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount

child_count_occupationint

Количество гостей-детей, используемое в расчете загрузки по людям

Без учета детей без места.

Определяется, как наименьшее между реальным количеством гостей-детей и остатком от количества основных мест после вычета AdultCountOccupation.
Основная идея в том, что количество всех гостей в номере не должно превышать StandardGuestCount

Если выполняются условия из примечания к полю ManCount

extra_bed_adult_countint

Количество гостей-взрослых на доп. месте

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.
extra_bed_child1_countintКоличество гостей-детей 1-й возрастной группы на доп. месте

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.

extra_bed_child2_countintКоличество гостей-детей 2-й возрастной группы на доп. месте

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.

extra_bed_child3_countintКоличество гостей-детей 3-й возрастной группы на доп. месте

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.

extra_bed_child4_countintКоличество гостей-детей 4-й возрастной группы на доп. месте

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.

extra_bed_child5_countintКоличество гостей-детей 5-й возрастной группы на доп. месте

Без учета детей без места.

Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.

extra_bed_guest_count_sumintКоличество гостей всего на доп. местеЕсли выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте.
rate_codenvarchar (8)Код тарифа
rate_namenvarchar (255)Наименование тарифа
rate_categoryvarchar (9)

Категория тарифа

Гостевой, Льготный, Для сотрудников
room_codenvarchar (8)Код комнаты
room_namenvarchar (255)Наименование комнаты
parent_room_codenvarchar (8)Код родительского расположения (как правило корпус)
location_codenvarchar (8)Код расположения номера (как правило этаж)
location_namenvarchar (255)Наименование расположения номера
room_type_codenvarchar (8)Код типа комнаты
room_type_namenvarchar (255)Наименование типа комнаты
room_type_category_codenvarchar (8)Код категории типа комнаты
room_type_category_namenvarchar (255)Наименование категории типа комнаты
geo_code_grand_parentnvarchar (MAX)

Гео-код третьего уровня


geo_code_parentnvarchar (MAX)Гео-код второго уровня.


geo_code_namenvarchar (255)Гео-код первого уровня
geo_codenvarchar (8)Код гео-кода
track_codenvarchar (8)Трэк-код
open_codenvarchar (8)Открытый код.
market_segment_codenvarchar (8)Код сегмента рынка
booking_source_codenvarchar (8)Код источник бронирования
is_guaranteedint

Признак гарантированная / негарантированная бронь

Определяется по наличию хотя бы одной гарантированной брони среди всех разделенных
guarantee_codenvarchar (8)Код гарантии брони
arrival_room_countint

Комнато-ночь прибытия брони

Считаем как 1, если выполняется один из наборов условий:

  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони, класс типа комнаты Гостевой или Многокомпонент, это первый таймлайн прибытия среди броней в разделенной
  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это не день выезда ночной брони, класс типа комнаты Компонент, это таймлайн прибытия, берем 1 из нескольких таймлайнов на компоненты одной комнаты в один день

Для групповых броней всегда 0

arrival_place_countint

Койко-ночь прибытия брони

Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере.

И выполняются следующие условия:
это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это первый таймлайн прибытия среди броней в разделенной, класс типа комнаты не Служебный или Помещения


Для групповых броней всегда 0

arrival_room_place_countintКомнат/койко-ночь прибытия брони

Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1.

И выполняются следующие условия:
это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это первый таймлайн прибытия среди броней в разделенной, класс типа комнаты не Служебный или Помещения


Для групповых броней всегда 0

arrival_adult_countint

Человеко-ночь прибытия для взрослых гостей

Количество гостей-взрослых, если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия


Для групповых броней всегда 0

arrival_child_countintЧеловеко-ночь прибытия для детей гостей

Количество гостей-детей, если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия


Для групповых броней всегда 0

arrival_man_countintЧеловеко-ночь прибытия для всех гостей

Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия


Для групповых броней всегда 0

departure_room_countint

Комнато-ночь выбытия брони

Считаем как 1, если выполняется один из наборов условий:

  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, класс типа комнаты Гостевой или Многокомпонент, это последний таймлайн выбытия среди броней в разделенной
  • это не DayUse бронь, это "полноценная" ночь (то есть у таймлайна признак StayNight = 1), бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, класс типа комнаты Компонент, это таймлайн выбытия, берем 1 из нескольких таймлайнов на компоненты одной комнаты в один день

Для групповых броней всегда 0

departure_place_countint

Койко-ночь выбытия брони

Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере.

И выполняются следующие условия:
это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это последний таймлайн выбытия среди броней в разделенной, класс типа комнаты не Служебный или Помещения


Для групповых броней всегда 0

departure_room_place_countintКомнато/койко-ночь выбытия брони

Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1.

И выполняются следующие условия:
это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это последний таймлайн выбытия среди броней в разделенной, класс типа комнаты не Служебный или Помещения


Для групповых броней всегда 0

departure_man_countint

Человеко-ночь выбытия брони

Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия


Для групповых броней всегда 0

departure_adult_countintЧеловеко-ночь выбытия для взрослых гостей

Количество гостей-взрослых, если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия


Для групповых броней всегда 0

departure_child_countintЧеловеко-ночь выбытия для детей гостей

Количество гостей-детей, если выполняются следующие условия:

это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия


Для групповых броней всегда 0

day_use_room_countint

Комнато-ночь DayUse

Считаем как 1, если выполняется один из наборов условий:

  • это DayUse бронь, класс типа комнаты Гостевой или Многокомпонент, это первая бронь из разделенной
  • это DayUse бронь, класс типа комнаты Компонент, берем 1 из нескольких таймлайнов на компоненты одной комнаты в один день


Для групповых броней всегда 0

day_use_place_countint

Койко-ночь DayUse

Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере.

И выполняются следующие условия:
это DayUse бронь, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной


Для групповых броней всегда 0

day_use_room_place_countintКомнато/койко ночь DayUse

Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1.

И выполняются следующие условия:
это DayUse бронь, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной


Для групповых броней всегда 0

day_use_man_countint

Человеко-ночь выбытия

Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если это DayUse бронь


Для групповых броней всегда 0

wait_list_room_countint

Комнато-ночь в листе ожидания

Считаем как 1, если выполняется один из наборов условий:

  • это бронь в статусе WAIT, класс типа комнаты Гостевой или Многокомпонент, это таймлайн прибытия
  • это бронь в статусе WAIT, класс типа комнаты Компонент, берем 1 из нескольких таймлайнов на компоненты одной комнаты в один день

Для групповых броней всегда 0

wait_list_place_countint

Койко-ночь в листе ожидания

Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере.

И выполняются следующие условия:
это бронь в статусе WAIT, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной, это таймлайн прибытия


Для групповых броней всегда 0

wait_list_room_place_countintКомнато/койко ночь в листе ожидания

Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1.

И выполняются следующие условия:
это бронь в статусе WAIT, класс типа комнаты не Служебный или Помещения, это первая бронь из разделенной, это таймлайн прибытия


Для групповых броней всегда 0

revenue_staydecimal

Сумма за проживание по данному таймлайну

Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода = ROOM (проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline
Транзакции считаются по своему первоначальному счету на момент создания

Сумма контрактов квот за вычетом суммы из броней этих квот

Для групповой брони: цена контракта, деленная на количество дней контракта

revenue_stay_exclude_taxdecimalСумма за проживание без учета налогов по данному таймлайну

Сумма из предыдущей строки за вычетом суммы налогов
Транзакции считаются по своему первоначальному счету на момент создания

Для групповой брони: цена контракта без налогов, деленная на количество дней контракта

revenue_otherdecimalСумма прочих доходов по данному таймлайну (кроме проживания)

Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода <> ROOM (не проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline
Транзакции считаются по своему первоначальному счету на момент создания

Сумма контрактов квот за вычетом суммы из броней этих квот

Для групповых броней всегда 0

revenue_other_exclude_taxdecimalСумма прочих доходов без учета налогов по данному таймлайну (кроме проживания)

Сумма из предыдущей строки за вычетом суммы налогов
Транзакции считаются по своему первоначальному счету на момент создания

Для групповых броней всегда 0

parent_location_codenvarchar (8)Код родительской комнаты
reservation_timeline_idnvarchar (39)Идентификатор таймлайнаPropertyCode.ReservationTimelineId
actual_datedatetimeАктуальная дата

Системное поле, использующееся для определения, какие строки необходимо перелить в хранилище. Если дата в этом поле больше или равна дате последней переливки - строка переливается в хранилище.

Используется дата выезда брони. Соответственно, до даты выезда брони включительно переливка будет переносить все изменения маркетинговой информации и таймлайнов, после - нет.

commission_amountdecimal
Сумма комиссионного вознаграждения агенту. Заполняется для броней, у которых указан агент, размер вознаграждения считается как % от суммы транзакций за день, в кодах которых установлен признак "начислять комиссию". Максимальный размер суммы, от которой берётся комиссия, указан в поле ComissionLimit таблицы ReservationTimeline.
history_date_fromdatetimeДата начала периода. Используется для механизма историчностиТекущая дата объекта.
history_date_todatetimeДата окончания периода. Используется для механизма историчностиЕсли дата выезда брони позже текущей даты объекта, то берется дата объекта, иначе 01.01.2200