Назначение
Предоставляет информацию о таймлайнах, включая их свойства (для хранилища)
Особенности работы представления
Используется для передачи данных в хранилище.
Для таймлайнов, в которых нет привязанной комнаты и у которых тип комнаты = компонетному, для них вычисляется фиктивный номер комнаты многокомпонентного типа, чтобы распределить такие таймлайны по родительским комнатам. В дальнейшем этот фиктивный номер используется при формировании отчетов По номерам.
Не учитываются часовые таймлайны.
Содержит в том числе таймлайны, дата которых выходит за даты реального проживания брони. Для таких таймлайнов не считаются никакие числовые показатели, только финансовые, поскольку бронь уже не проживала в это время и соответственно не занимала место. Эти таймлайны существуют для анализа всех дней из брони, вне зависимости от того, жила ли она фактически в эти дни или нет.
Представление содержит в том числе строки для групповых броней со следующими условиями:
- если нет броней по группе Квота\Тип комнаты\День, то берем контракт, как он есть
выбираем контракты, у которых по группе Квота\Тип комнаты\День есть подходящие, не аннулированные брони, такие контракты схлопываем до одной строки
Описание полей
| Имя поля | Тип данных | Описание | Примечание |
|---|---|---|---|
| PropertyCode | nvarchar (8) | Код объекта | |
| DayDate | date | Дата проживания | |
| ReservationNo | nvarchar (20) | Номер брони | PropertyCode.ReservationNo Для строк по контрактам групповых броней тут пусто |
| QuotaId | nvarchar (39) | Идентификатор квоты | Для строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0. PropertyCode.QuotaId |
| QuotaItemId | nvarchar (39) | Идентификатор контракта квоты | Для строк по индивидуальным броням, которые не связаны с групповыми бронями, тут ставим 0. PropertyCode.QuotaItemId |
| RoomCount | int | Комнато-ночь | Для индивидуальных броней считаем как 1, если выполняется один из наборов условий:
Для групповых броней берем количество комнат из контракта. |
| PlaceCount | int | Койко-ночь | Для индивидуальных броней считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для компонентных типов номеров или на 1 для остальных |
| RoomPlaceCount | int | Комнато/койко ночь | Для индивидуальных броней считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней берем количество комнат из контракта и умножаем на количество основных мест в номере для многокомпонентных типов номеров или на 1 для остальных |
| ManCount | int | Человеко-ночь | Для индивидуальных броней Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: Для групповых броней берем количество всех гостей из контракта и умножаем на количество комнат из контракта |
| AdultCount | int | Количество гостей-взрослых | Для индивидуальных броней: если выполняются условия из примечания к полю ManCount Для групповых броней берем количество гостей-взрослых из контракта и умножаем на количество комнат из контракта |
| AdultCountOccupation | int | Количество гостей-взрослых, используемое в расчете загрузки по людям. | Определяется, как наименьшее между реальным количеством гостей-взрослых и количеством основных мест по данному типу номеров. Если выполняются условия из примечания к полю ManCount |
| Child1Count | int | Количество гостей-детей 1-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| Child2Count | int | Количество гостей-детей 2-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| Child3Count | int | Количество гостей-детей 3-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| Child4Count | int | Количество гостей-детей 4-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| Child5Count | int | Количество гостей-детей 5-й возрастной группы | Без учета детей без места. Если выполняются условия из примечания к полю ManCount |
| ChildCountOccupation | int | Количество гостей-детей, используемое в расчете загрузки по людям | Без учета детей без места. Определяется, как наименьшее между реальным количеством гостей-детей и остатком от количества основных мест после вычета AdultCountOccupation. Если выполняются условия из примечания к полю ManCount |
| ExtraBedAdultCount | int | Количество гостей-взрослых на доп. месте | Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedChild1Count | int | Количество гостей-детей 1-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedChild2Count | int | Количество гостей-детей 2-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedChild3Count | int | Количество гостей-детей 3-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedChild4Count | int | Количество гостей-детей 4-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedChild5Count | int | Количество гостей-детей 5-й возрастной группы на доп. месте | Без учета детей без места. Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| ExtraBedGuestCountSum | int | Количество гостей всего на доп. месте | Если выполняются условия из примечания к полю ManCount и стоит признак размещения на доп месте. |
| RateCode | nvarchar (8) | Код тарифа | |
| RateName | nvarchar (255) | Наименование тарифа | |
| RateCategory | varchar (9) | Категория тарифа | Гостевой, Льготный, Для сотрудников |
| RoomCode | nvarchar (8) | Код комнаты | |
| RoomName | nvarchar (255) | Наименование комнаты | |
| ParentRoomCode | nvarchar (8) | Код родительского расположения (как правило корпус) | |
| LocationCode | nvarchar (8) | Код расположения номера (как правило этаж) | |
| LocationName | nvarchar (255) | Наименование расположения номера | |
| RoomTypeCode | nvarchar (8) | Код типа комнаты | |
| RoomTypeName | nvarchar (255) | Наименование типа комнаты | |
| RoomTypeCategoryCode | nvarchar (8) | Код категории типа комнаты | |
| RoomTypeCategoryName | nvarchar (255) | Наименование категории типа комнаты | |
| GeoCodeGrandParent | nvarchar (MAX) | Гео-код третьего уровня | |
| GeoCodeParent | nvarchar (MAX) | Гео-код второго уровня. | |
| GeoCodeName | nvarchar (255) | Гео-код первого уровня | |
| GeoCode | nvarchar (8) | Код гео-кода | |
| TrackCode | nvarchar (8) | Трэк-код | |
| OpenCode | nvarchar (8) | Открытый код. | |
| MarketSegmentCode | nvarchar (8) | Код сегмента рынка | |
| BookingSourceCode | nvarchar (8) | Код источник бронирования | |
| IsGuaranteed | int | Признак гарантированная / негарантированная бронь | Определяется по наличию хотя бы одной гарантированной брони среди всех разделенных |
| GuaranteeCode | nvarchar (8) | Код гарантии брони | |
| ArrivalRoomCount | int | Комнато-ночь прибытия брони | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| ArrivalPlaceCount | int | Койко-ночь прибытия брони | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| ArrivalRoomPlaceCount | int | Комнат/койко-ночь прибытия брони | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| ArrivalAdultCount | int | Человеко-ночь прибытия для взрослых гостей | Количество гостей-взрослых, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| ArrivalChildCount | int | Человеко-ночь прибытия для детей гостей | Количество гостей-детей, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| ArrivalManCount | int | Человеко-ночь прибытия для всех гостей | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн прибытия Для групповых броней всегда 0 |
| DepartureRoomCount | int | Комнато-ночь выбытия брони | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| DeparturePlaceCount | int | Койко-ночь выбытия брони | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| DepartureRoomPlaceCount | int | Комнато/койко-ночь выбытия брони | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| DepartureManCount | int | Человеко-ночь выбытия брони | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| DepartureAdultCount | int | Человеко-ночь выбытия для взрослых гостей | Количество гостей-взрослых, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| DepartureChildCount | int | Человеко-ночь выбытия для детей гостей | Количество гостей-детей, если выполняются следующие условия: это не DayUse бронь, бронь не в статусах WAIT, NOSHOW, CANCEL, дата начала таймлайна между актуальными датами проживания брони, это таймлайн выбытия Для групповых броней всегда 0 |
| DayUseRoomCount | int | Комнато-ночь DayUse | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| DayUsePlaceCount | int | Койко-ночь DayUse | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| DayUseRoomPlaceCount | int | Комнато/койко ночь DayUse | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| DayUseManCount | int | Человеко-ночь выбытия | Считаем как сумму всех значений в схеме размещения (взрослые + все категории детей), если это DayUse бронь Для групповых броней всегда 0 |
| WaitListRoomCount | int | Комнато-ночь в листе ожидания | Считаем как 1, если выполняется один из наборов условий:
Для групповых броней всегда 0 |
| WaitListPlaceCount | int | Койко-ночь в листе ожидания | Считаем как 1, если таймлайн на класс типа комнаты Компонент. Иначе берем количество основных мест в номере. И выполняются следующие условия: Для групповых броней всегда 0 |
| WaitListRoomPlaceCount | int | Комнато/койко ночь в листе ожидания | Считаем количество основных мест в номере, если таймлайн на класс типа комнаты Многокомпонент. Иначе считаем как 1. И выполняются следующие условия: Для групповых броней всегда 0 |
| RevenueStay | decimal | Сумма за проживание по данному таймлайну | Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода = ROOM (проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline Сумма контрактов квот за вычетом суммы из броней этих квот |
| RevenueStayExcludeTax | decimal | Сумма за проживание без учета налогов по данному таймлайну | Сумма из предыдущей строки за вычетом суммы налогов Для групповой брони: цена контракта без налогов, деленная на количество дней контракта |
| RevenueOther | decimal | Сумма прочих доходов по данному таймлайну (кроме проживания) | Сумма (LocaCurrencyAmount) по доходным транзакциям с кодом типа дохода <> ROOM (не проживание), связанных с данным таймлайнов по его идентифкатору через представление lr.VTransactionTimeline Сумма контрактов квот за вычетом суммы из броней этих квот |
| RevenueOtherExcludeTax | decimal | Сумма прочих доходов без учета налогов по данному таймлайну (кроме проживания) | Сумма из предыдущей строки за вычетом суммы налогов Для групповых броней всегда 0 |
| ParentLocationCode | nvarchar (8) | Код родительской комнаты | |
| ReservationTimelineId | nvarchar (39) | Идентификатор таймлайна | PropertyCode.ReservationTimelineId |
| ActualDate | datetime | Актуальная дата | Системное поле, использующееся для определения, какие строки необходимо перелить в хранилище. Если дата в этом поле больше или равна дате последней переливки - строка переливается в хранилище. Используется дата выезда брони. Соответственно, до даты выезда брони включительно переливка будет переносить все изменения маркетинговой информации и таймлайнов, после - нет. |
| HistoryDateFrom | datetime | Дата начала периода | Используется для механизма историчности |
| HistoryDateTo | datetime | Дата окончания периода | Используется для механизма историчности |
Фрагмент данных
