Target audienceRMS, BI and other subscribers who want more comprehensive financial information of ancillary items
Version3.0.
AuthenticationBearer Token
Message typeAsynchronous, Push
DirectionOutbound

Message Description

protel I/O uses this request and response message pair to notify central reservation office (CRO), or management company system about guest stay information. The Statistic Notification Request is a report that may be generated at regular intervals (e.g. End of Day process) by the property management system (PMS). It provides an update of hotel statistics for analysis and may be sent unsolicited by the PMS to the receiving system. The scope of the message provided by the originating system--a minimum of once per day--will be composed of the following four report definitions. These reports are necessary to facilitate the initial build of the revenue management system as well as to support the subsequent daily processing. They are also necessary for the revenue management system to maintain its updated forecasts and decisions, and comprise of the following: 

  • Reservation related revenue for a specified number of days in the past.
  • Reservation related revenue for a specified number of days in the future.
  • Room Type occupancy for a specified number of days in the past.
  • Room Type occupancy for a specified number of days in the future.


Note!

  • Amounts are only showing net values

  • POS | @FiscalDate is always the current Business Date
  • Statistic | @FiscalDate is always the Date the last End Of Day process has been run for

  • ALL CurrentDaily Reports do contain the data excluding Statistic | @FiscalDate (from FiscalDate +1 on for by default 365 days)

  • ALL Past Daily Reports do contain the data including Statistic | @FiscalDate (from 45 days back until FiscalDate)

  • In case of no existing reservations within the exported period (or only rooms "out of order") only 1 day for the affected Report Code will be displayed with zero data

Sequence

  1. The Publisher (the system that maintains the statistical data) constructs IO_StatsNotifRQ containing the statistical change(s).
  2. The Publisher successfully transmits message payload.
  3. The Subscriber (the system that requires statistical data) receives the message payload.
  4. The Subscriber processes IO_StatsNotifRQ.
  5. The Subscriber acknowledges with the IO_StatsNotifRS indicating processing status of the message.
  6. The Publisher may update their database to log what was last successfully processed by the Subscriber.

Message Attributes

OTA_HotelStatsNotifRQ

Element | @Attribute

Type

Num

Description

Comments + Contents outboundpAIROnPrem

OTA_HotelStatsNotifRQ


1

Root element of the message.


(Haken)(Haken)

@EchoToken

string

0..1

A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value.


(Haken)(Haken)

@PrimaryLangID

string

0..1

The primary language preference for the message encoded as ISO 639-3.


(Haken)(Haken)

@TimeStamp

dateTime1

Time of the transaction.

"2019-05-16T05:24:25.8094251Z"(Haken)(Haken)

@Version

string

0..1

Version of the message

"4.001"(Haken)(Haken)

@CorrelationID

string

1

Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | POS


0..1

POS provides a mechanism to indicate the source of the message.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | POS | Source


1

This holds the details about the requestor. It may be repeated to also accommodate the delivery systems.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | POS | Source | RequestorID


1

An identifier of the entity making the request.


(Haken)(Haken)

@Type 

OTA_CodeType UIT

1

A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT)

(Haken)(Haken)

@ID 

StringLength1to32

1

The ID will transfer the HotelID and needs to be agreed by the trading partners and remain the same throughout the messages.


(Haken)(Haken)

@ID_Context

StringLength1to32

1

Used to identify where the ID comes from.

“protelIO”(Haken)(Haken)
OTA_HotelStatsNotifRQ | POS | Source | BookingChannel
0..1Specifies the booking channel type and whether it is the primary means of connectivity of the source.
(Haken)(Haken)
@Primaryboolean0..1Indicates whether the enumerated booking channel is in the primary means of connectivity used by the source 
  • true 
  • false
(Haken)(Haken)

@Type

OTA_CodeType BCT

1

Indicates the type of booking channel per the Open Travel BCT codes. 

(Haken)(Haken)
OTA_HotelStatsNotifRQ | POS | Source | TPA_Extensions
0..1A placeholder in the schema to allow for additional elements and attributes to be included per Trading Partner Agreement (TPA).
Allows extensions to be added to the OpenTravel specification per trading partner agreement.

(Haken)(Haken)
OTA_HotelStatsNotifRQ | POS | Source | TPA_Extensions | px:POSExtensions
0..1Extensions about the transferred POS.
(Haken)(Haken)
OTA_HotelStatsNotifRQ | POS | Source | TPA_Extensions | px:POSExtensions | px:HotelInfo
0..1Extensions about the transferred POS - specifying details about the hotel's system.
(Haken)(Haken)
@FiscalDatedate1Actual date in PMS.
(Haken)(Haken)

OTA_HotelStatsNotifRQ | Statistics | Statistic


1…​n

If only sending one report then this element is present once. It is possible to send other reports in the same message by sending this element several times.


(Haken)(Haken)

@HotelCode

StringLength1to16

0..1

This is the Hotel ID of the property whose availability is being updated.


(Haken)(Haken)
@ChainCodeStringLength1to80.1The code that identifies a hotel chain per management group. The hotel code is decided btw vendors. The attribute is optional if the hotel is independent property that can be identified by the HotelCode attribute .

(Haken)

@HotelCodeContext

StringLength1to32

0..1

A text field used to communicate the context  (or source of ) the hotel ReferenceGroup codes.

Default value is “protelIO”
(Haken)

@HotelName

StringLength1to128

0..1

A text field used to communicate the the proper name of the hotel




@ReportCode

StringLength1to64

1

String identifying the predefined report and thus what fields and values are expected. These ones are the supported report types:

Current Daily Totals Report:
HTNG_CurrentDailyPropertyStatistics_v1
HTNG_CurrentDailyRoomTypeStatistics_v1

Current Daily Categorized Report:
HTNG_CurrentDailySegmentRoomTypeStatistics_v1

Past Daily Totals Report:
HTNG_PastDailyPropertyStatistics_v1 
HTNG_PastDailyRoomTypeStatistics_v1

Past Daily Categorized Report:
HTNG_PastDailySegmentRoomTypeStatistics_v1


If in the period of time, which is configured for the past/future report, ALL days contains no reservation or only OOO reservation, we will send the reports in the following way

  • HTNG_CurrentDailyPropertyStatistics_v1 →  display the last day of the period which is configured for the report

  • HTNG_CurrentDailyRoomTypeStatistics_v1 → display the last day of the period which is configured for the report, but all possible room types

  • HTNG_CurrentDailySegmentRoomTypeStatistics_v1 → display the last day of the period which is configured for the report, and all possible RoomType/MarketCode combinations

  • HTNG_PastDailyPropertyStatistics_v1 → display the first day of the period which is configured for the report

  • HTNG_PastDailyRoomTypeStatistics_v1 → display the first day of the period which is configured for the report, but all possible room types

  • HTNG_PastDailySegmentRoomTypeStatistics_v1 → display the first day of the period which is configured for the report, and all possible RoomType/MarketCode combinations

(Haken)(Haken)

@FiscalDate

date

1

Capture date and time. Indicates the time at which the data was captured. This is always the date the last End of Day process has been done for.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet


1..n

This element represents a “row” in the report and so it is repeated for the length of the report. For this report N is the number of days in the report, normally 365.


(Haken)(Haken)

@Start

date

1

The start date for which the statistics in the sub-elements that follow was collected.


(Haken)(Haken)

@End

date

1

The end date for which the statistics in the sub-elements that follow was collected.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet | StatisticCodes | StatisticCode


0..1

Element with the categories at which the data has been gathered. This element is Required when sending values at room type level or the combined one with room type/market segment.


(Haken)(Haken)
@StatCategoryCodeOTA_CodeType SCC0..1Code "Pseudo" Room or Code = 3 for the RoomType(Haken)(Haken)

@StatCode

StringLength1to64

1

String with the room type code | market segment from the property.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | Statistics | Statistic | StatisticApplicationSets | StatisticApplicationSet | RevenueCategorySummaries | RevenueCategorySummary


0..17

Repeating element for each revenue value in the report.
All values correspond to the totals for the date in the @Start attribute defined above.

The following values are provided:
· Room Revenue: Room only revenue.
· Food & Beverage Revenue: Food and beverage revenue.
· Total Revenue: Total revenue, must be greater than or equal to the sum of room revenue and food and beverage revenue.


(Haken)(Haken)
@RevenueCategoryCodeOTA_CodeType RCC1

Code value from OpenTravel Alliance Code List Revenue Category Code (RCC).


(Haken)(Haken)

@Amount

Money

1

Net amount value for the revenue code being reported.


(Haken)(Haken)

@CurrencyCode

AlphaLength3

0..1

Currency for the amount transferred for the revenue code being reported.


(Haken)(Haken)

OTA_HotelStatsNotifRQ | Statistics | StatisticApplicationSet | CountCategorySummaries | CountCategorySummary


6..10

Each CountCategorySummary is presented by CountCategoryCode for the specified date.
Counts for all defined CountCategoryCode are mandatory.


(Haken)(Haken)
@CountCategoryCodeOTA_CodeType CNT

1

Code value from OpenTravel Alliance Code List Count Category Code (CNT).

Count Category (CNT)
  1. HTNG_PastDailyPropertyStatistics_v1

    CountCategoryCode="8"
    CountCategoryCode="9"
    CountCategoryCode="10"
    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="14"
    CountCategoryCode="15"
    CountCategoryCode="19"
    CountCategoryCode="22"

  2. HTNG_CurrentDailyPropertyStatistics_v1

    CountCategoryCode="8"
    CountCategoryCode="9"
    CountCategoryCode="10"
    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="22"

  3. HTNG_CurrentDailyRoomTypeStatistics_v1

    CountCategoryCode="8"
    CountCategoryCode="9"
    CountCategoryCode="10"
    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="22"

  4. HTNG_PastDailyRoomTypeStatistics_v1

    CountCategoryCode="8"
    CountCategoryCode="9"
    CountCategoryCode="10"
    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="14"
    CountCategoryCode="15"
    CountCategoryCode="19"
    CountCategoryCode="22"

  5. HTNG_CurrentDailySegmentRoomTypeStatistics_v1

    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="22"

  6. HTNG_PastDailySegmentRoomTypeStatistics_v1

    CountCategoryCode="11"
    CountCategoryCode="12"
    CountCategoryCode="13"
    CountCategoryCode="14"
    CountCategoryCode="15"
    CountCategoryCode="19"
    CountCategoryCode="22"
(Haken)(Haken)

@SummaryCount

integer

1

Amount value for the count code being reported.


(Haken)(Haken)
OTA_HotelStatsNotifRQ | UniqueID
0..1Uniquely identifies this message.
(Haken)(Haken)

@Type 

OTA_CodeType UIT

1

A reference to the type of object defined by the UniqueID element. Refer to OpenTravel Code List Unique ID Type (UIT)

(Haken)(Haken)

@ID 

StringLength1to32

1

The ID will transfer the HotelID and needs to be agreed by the trading partners and remain the same throughout the messages.


(Haken)(Haken)

@ID_Context

StringLength1to32

1

Used to identify where the ID comes from.

“protelIO”(Haken)(Haken)

OTA_HotelStatsNotifRS

Element | @Attribute

Type

Num

Description

Comments + Contents inboundpAIROnPrem

OTA_HotelStatsNotifRS


1

Root element of the message.


(Haken)(Haken)

@EchoToken

StringLength1to128

0..1

A reference for additional message identification, assigned by the requesting host system. When a request message includes an echo token the corresponding response message MUST include an echo token with an identical value.


(Haken)(Haken)

@CorrelationID

StringLength1to641

Used to match result messages (*RS) to request messages (*RQ) in asynchronous communication patterns. Therefore mandatory.


(Haken)(Haken)

@TimeStamp

dateTime

1

Indicates the creation date and time of the message in UTC using the format specified by ISO 8601 with time values using the 24-hour clock

(e.g., 20 November 2003, 1:59:38 pm UTC becomes 2003-11-20T13:59:38Z).

YYYY-MM-DDThh:mm:ssZ

(Haken)(Haken)

@Version

decimal

0..1

For all OpenTravel versioned messages, the version of the message is indicated by a decimal value.


(Haken)(Haken)

@PrimaryLangID

language

0..1

The default language of the property

ISO-639-1 (2-char code)


(Haken)

OTA_HotelStatsNotifRS | Errors | Error


1..99

An error that occurred during the processing of a message.


(Haken)(Haken)

@Type 

OTA_CodeType

1

Mandatory. Refer to the OTA Code List: Error Warning Type (EWT).

(Haken)(Haken)

@Code 

OTA_CodeType

0..1 

Refers to the OTA Code List: Error Codes (ERR). 

(Haken)(Haken)

@RecordID 

StringLength1to64

0..1 

If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here. 


(Haken)(Haken)

@ShortText

StringLength1to64

0..1

Describes the occurring error in short.
Example: "A room type 'XY' was not found for the code provided."


(Haken)(Haken)

OTA_HotelStatsNotifRS | Success


1

This is the annotation that the rate plan message batch was received successfully. It could be combined with warning messages if some of the messages in the batch had issues.


(Haken)(Haken)

OTA_HotelStatsNotifRS | Warnings | Warning


1..99

Used in conjunction with the Success element to define a business error.


(Haken)(Haken)

@Type 

OTA_CodeType

1

Mandatory in OTA. Refers to OpenTravel Alliance EWT list (error warning type).

(Haken)(Haken)

@Code 

OTA_CodeType

0..1

Refers to OpenTravel Alliance list ERR. Should be used wherever possible.

(Haken)(Haken)

@RecordID 

StringLength1to64

0..1

If the receiving system is able to identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here. 


(Haken)(Haken)

@ShortText

StringLength1to64

0..1Describes the warning in short.
Example: "Insufficient Days in Report"

(Haken)(Haken)
  • Keine Stichwörter