Yêu cầu
Cú pháp
Thông báo OTA_HotelRateAmountNotifRQ
sử dụng cú pháp sau:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Phần tử và thuộc tính
Thông báo OTA_HotelRateAmountNotifRQ
có các thành phần như sau và
thuộc tính:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Phần tử gốc của thông báo giá. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | Không gian tên XML. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | Giá trị nhận dạng duy nhất cho thông báo yêu cầu này. Giá trị này được trả về
trong tin nhắn phản hồi. Các ký tự được phép là a-z , A-Z , 0-9 , _ (underscore) và - (dash) . |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | Phiên bản của thông báo trên OpenTravel. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Loại thông báo sẽ áp dụng cho mọi
Các giá trị hợp lệ là: Để hiểu cách hoạt động của các thuộc tính này, hãy tham khảo ví dụ.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Phạm vi của Các giá trị hợp lệ là:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Vùng chứa để chỉ định tài khoản đối tác cho thông báo này (thường được sử dụng nếu phần phụ trợ của bạn cung cấp nguồn cấp dữ liệu giá cho nhiều tài khoản đối tác). |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Bắt buộc nếu có <POS> . Vùng chứa cho
<RequestorID> . |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | Bắt buộc nếu có <POS> . Xác định đối tác
tài khoản. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | Tài khoản đối tác dùng cho thư này. Giá trị chuỗi này là
"Khoá đối tác" giá trị được niêm yết trên
Trang Cài đặt tài khoản trong Hotel Center.
Lưu ý: Nếu bạn có phần phụ trợ cung cấp nguồn cấp dữ liệu cho nhiều
tài khoản, giá trị này cần phải khớp với |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Tập hợp phần tử <RateAmountMessage>
xác định tỷ lệ. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | Giá trị nhận dạng duy nhất của cơ sở lưu trú. Giá trị này phải khớp với Mã khách sạn được chỉ định bằng <id> inch phần tử <listing> trong Khách sạn Nguồn cấp dữ liệu danh sách. Mã khách sạn cũng có trong Hotel Center. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Một vùng chứa để đặt giá cho giá phòng (loại phòng và giá) kết hợp của các kế hoạch trong một phạm vi ngày). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Xác định phạm vi ngày cũng như các giá trị nhận dạng loại phòng
(InvTypeCode ) và gói giá (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày
phạm vi ngày. Phải bằng hoặc lớn hơn giá trị start .
Nếu start và end bằng nhau, nội dung cập nhật sẽ được áp dụng
cho đến ngày đó. Xin lưu ý rằng Google hỗ trợ tối đa 3 năm dữ liệu. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Hai.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Ba.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Tư.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Năm.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Sáu.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Thứ Bảy.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Đặt thành true hoặc 1 để đưa vào một cách rõ ràng
Chủ Nhật.
Nếu bạn đặt thành |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | Giá trị nhận dạng duy nhất của quỹ phòng (loại phòng). Giá trị này liên kết
cho <RoomID> trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | Giá trị nhận dạng duy nhất của gói giá. Giá trị nhận dạng này liên kết với
<PackageID> trong một giao dịch (Dữ liệu của cơ sở lưu trú)
. Gói giá được định nghĩa thêm và được đề cập đến
trong <StatusApplicationControl> ở cả hai
<OTA_HotelRateAmountNotifRQ> và
<OTA_HotelAvailNotifRQ> tin nhắn. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | Giá trị nhận dạng cho biết loại mô hình định giá ARI
áp dụng cho thông tin cập nhật về giá này. Bạn chỉ nên chỉ định thuộc tính này bằng cách sử dụng
là 26 , khi sử dụng mô hình định giá dựa trên thời gian lưu trú. Loại trừ
của thuộc tính này cho biết đây là định giá theo ngày
cập nhật. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | Vùng chứa tập hợp các phần tử <Rate> . Nếu
NotifType là "Remove" , phần tử này không được
được chỉ định. Nếu không, phần tử này phải được chỉ định chính xác một lần. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Vùng chứa bộ sưu tập <BaseByGuestAmts>
phần tử. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Đơn vị mà theo đó thời gian lưu trú được chỉ định. Chỉ có
giá trị là "Day" , nghĩa là thời gian lưu trú sẽ là
được chỉ định bằng ngày.
Để sử dụng giá dựa trên thời gian lưu trú,
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Số RateTimeUnits tạo nên độ dài của
ở lại với mức giá này.
Ví dụ: nếu giá trị (Các) Mức giá cho phòng được chỉ định theo Để sử dụng giá dựa trên thời gian lưu trú,
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Vùng chứa tập hợp các khoản phí cơ bản. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Xác định giá phòng bằng một đơn vị tiền tệ cụ thể. Giá có thể là
cho mỗi người lưu trú bằng cách sử dụng nhiều <BaseByGuestAmt>
các phần tử, mỗi phần tử có một giá trị NumberOfGuests riêng.
Nếu không, giá sẽ được áp dụng cho số lượng người lưu trú tối đa
do NumberOfGuests xác định. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Giá theo ngày của giá phòng chưa bao gồm thuế và phí. Cả Nếu bạn đang sử dụng chương trình khuyến mãi,
chiết khấu được áp dụng cho |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | Giá theo ngày của giá phòng sau khi bao gồm các khoản thuế hiện hành và
khác. Nếu bạn chỉ định AmountAfterTax , hãy tách từng tài sản
Bạn không cần gửi <TaxFeeInfo> tin nhắn. Chiến dịch này
có thể sử dụng kết hợp với AmountBeforeTax
để cung cấp cả giá cơ sở và tổng giá có thể hiển thị cho người dùng ở
một số khu vực nhất định.
Cảnh báo: Nếu bạn đang sử dụng chương trình khuyến mãi, chúng tôi đặc biệt
không nên dùng Lưu ý: Nếu |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Mã ký tự alpha theo ISO 4217 (3) cho một đơn vị tiền tệ cụ thể.
Tham khảo danh sách các thành phần được hỗ trợ đơn vị tiền tệ. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Số lượng khách tối đa có thể phục vụ theo giá này.
Mặc định là 2 khách nếu không được cung cấp.
Lưu ý rằng nếu |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Vùng chứa tính phí cho những khách lưu trú bổ sung.
Cú pháp này rất hữu ích nếu giá bổ sung cho khách hoặc trẻ em
thay đổi dựa trên ngày. Hãy cân nhắc sử dụng
Ví dụ: Giả sử giá cơ bản được chỉ định cho 1 và 2 người lớn.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Chỉ định giá dựa trên loại khách, được chỉ định đến
AgeQualifyingCode và độ tuổi của khách (nếu có)
được chỉ định thông qua MaxAge .
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Xác định loại khách bổ sung, người lớn hoặc trẻ em. Hợp lệ
gồm các lựa chọn sau:
Có thể đặt Bạn phải chỉ định |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | Bạn phải chỉ định MaxAge khi
AgeQualifyingCode là 8 . Không được
được chỉ định khi AgeQualifyingCode là 10 .
Việc chỉ định giá trị Giá trị lớn hơn Bạn có thể chỉ định nhiều độ tuổi của trẻ thông qua
Phần tử |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Số tiền trước khi tính các khoản thuế và phí vào giá cơ bản cho mỗi lượt chuyển đổi
khách bổ sung.
Các loại thuế và phí tuỳ thuộc vào người lưu trú phải chỉ định độ tuổi qua
phần tử |
Ví dụ
Phần này cung cấp các mã ví dụ để làm nổi bật cách:
- Thiết lập đơn giá cơ bản và tổng giá
- Thêm, ghi đè và xoá các mức giá
- Thêm, phủ và xoá số tiền bổ sung của khách
- Thiết lập mức giá dựa trên thời gian lưu trú
- Thêm, phủ và xoá mức giá dựa trên thời gian lưu trú
Khi bạn đặt giá trị add
, overlay
hoặc remove
, phạm vi ngày có thể
giống nhau hay khác nhau, tuỳ thuộc vào mục tiêu của bạn. Ví dụ: bạn có thể sử dụng
overlay
để chỉ đặt một vài tuần cho kỳ nghỉ lễ vào tháng 12 thay vì
toàn bộ phạm vi được đặt thành "Thêm giá" . Thông tin này sẽ thay thế số người lưu trú
giá chỉ cho khoảng thời gian này.
Giá theo ngày
Đối với một phòng và gói giá nhất định, có thể có tối đa 50 mức giá cho mỗi người lưu trú thuộc tính này. Nếu mức giá như nhau cho tất cả số người lưu trú, bạn chỉ cần gửi số người lưu trú tối đa với giá bắt buộc. Bằng cách này, Google suy luận rằng số người lưu trú thấp hơn cũng nhận được mức giá cơ bản tương tự.
Thiết lập đơn giá cơ bản và tổng giá
Ví dụ 1
Giá cơ bản (không bao gồm thuế hoặc phí) cho số người lưu trú mặc định (gấp đôi). Trong phần này
bạn phải xác định mô hình, thuế và phí bằng
<TaxFeeInfo>
tin nhắn. Mức cơ bản sẽ cao hơn
nổi bật đối với người dùng tìm kiếm từ các khu vực nhất định.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ví dụ 2
Giá cơ bản và tổng giá cho số người lưu trú mặc định (gấp đôi). Trong mô hình này, thuế
và các khoản phí không nên được xác định riêng bằng <TaxFeeInfo>
tin nhắn. Giá cơ bản sẽ nổi bật hơn đối với những người dùng tìm kiếm
một số khu vực nhất định.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ví dụ 3
Tổng giá (bao gồm thuế và phí) cho nhiều mức sức chứa. Trong mô hình này,
không thể xác định riêng thuế và phí bằng <TaxFeeInfo>
tin nhắn.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ví dụ 4
Giá cơ bản và tổng giá cho nhiều loại phòng và gói giá trên phạm vi ngày khác nhau.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Thêm, ghi đè và xoá đơn giá
Chỉ được có tối đa 5.000 sản phẩm – loại phòng và gói dịch vụ
kết hợp— cho mỗi thuộc tính. Sử dụng thông báo Overlay
hoặc Remove
để xóa các sản phẩm được xác định trước đó.
Thêm giá
Đặt NotifType
thành Delta
để thêm mức giá mỗi người lưu trú cho
RoomID_1 và PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021. Lưu ý rằng
Google hỗ trợ dữ liệu trong tối đa 3 năm.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Lớp phủ giá
Đặt NotifType
thành Overlay
để xoá toàn bộ số người lưu trú
giá cho RoomID_1 và PackageID_1 trong khoảng thời gian từ ngày 20/10/2021 đến 31/12/2021
và thay thế chúng bằng các mức giá theo số người lưu trú mới được chỉ định.
Ví dụ: Nếu thư này được gửi sau lệnh "Thêm giá" thông báo, Mức giá cho phòng 1, 2 và 3 sẽ bị xoá và chỉ còn phòng mới cho người lưu trú 1 tỷ giá sẽ được lưu trữ. Bạn cũng có thể đặt phạm vi ngày ngắn hơn (ví dụ: 2021-12-20 và 2021-12-31) để chỉ thay thế một số số người lưu trú giá vào các ngày nhất định, chẳng hạn như ngày lễ.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Xoá giá
Đặt NotifType
thành Remove
để xoá toàn bộ số người lưu trú
giá cho RoomID_1 và PackageID_1 trong khoảng thời gian từ ngày 20/10/2021 đến 31/12/2021.
Ví dụ: nếu thư này được gửi sau một trong những ví dụ khác thì sẽ không có mức giá theo số người lưu trú được lưu trữ.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Thêm, phủ và loại bỏ số tiền bổ sung cho khách
Thêm số tiền
Đặt NotifType
thành Delta
để thêm giá cơ bản cho
số người lưu trú 1 và 2 cũng như các khoản tiền bổ sung của khách cho RoomID_1 và
PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021.
Số tiền bổ sung cho khách sẽ được áp dụng cùng với giá cơ bản. được xác định theo số người lưu trú trong nội dung tìm kiếm của người dùng. Người dùng đã chỉ định số người lưu trú phải nằm trong sức chứa của RoomID_1.
Trong ví dụ này, số tiền bổ sung cho khách sẽ được áp dụng là:
- 5 USD cho trẻ em trong độ tuổi từ 0 đến 10 tuổi (bao gồm cả hai giá này).
- 10$ cho trẻ em trong độ tuổi từ 11 đến 17 tuổi.
- 20 USD/người lớn.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Số lượng lớp phủ
Đặt NotifType
thành Overlay
để xoá toàn bộ số người lưu trú
giá và tất cả số tiền bổ sung cho khách lưu trú đối với RoomID_1 và PackageID_1
từ ngày 20/10/2021 đến ngày 31/12/2021 và thay thế chúng bằng
mức giá theo số người lưu trú và các khoản tiền bổ sung được chỉ định.
Ví dụ: Nếu thư này được gửi sau lệnh "Thêm giá" thông báo, mức giá cho số người lưu trú cơ bản 1 và 2 sẽ bị xoá và chỉ có cơ sở mới Mức giá cho số người lưu trú 1 sẽ được lưu trữ. Nhóm khách bổ sung trước đó số tiền đó sẽ bị xoá và chỉ có tập hợp số tiền mới được lưu trữ. Số tiền bổ sung cho khách lưu trú giờ đây sẽ sử dụng giá mới cho số người lưu trú 1 cơ bản. Xin lưu ý rằng sau lần cập nhật này, sẽ không có khách nào khác các khoản phí được xác định cho trẻ em.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Xoá số tiền
Đặt NotifType
thành Delete
để xoá toàn bộ số người lưu trú
giá cơ bản và tất cả số tiền bổ sung dành cho khách dành cho RoomID_1 và PackageID_1
trong khoảng thời gian từ ngày 20/10/2021 đến ngày 31/12/2021.
Ví dụ: nếu thư này được gửi sau một trong những ví dụ khác tin nhắn, không có mức giá cơ bản theo số người lưu trú hoặc số tiền bổ sung cho khách lưu trú được lưu trữ.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Chỉ xoá số tiền bổ sung của khách
Đặt NotifType
thành Delta
có giá trị trống
Phần tử <AdditionalGuestAmounts>
cần xoá tất cả
các khoản tiền bổ sung cho khách dành cho RoomID_1 và PackageID_1 mà không ảnh hưởng
tỷ giá cơ bản trong khoảng thời gian từ ngày 20/10/2021 đến ngày 31/12/2021.
Ví dụ: nếu thư này được gửi sau một trong những ví dụ khác thì chỉ số lượng cơ sở mới được lưu trữ.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Giá theo thời gian lưu trú
Thiết lập mức giá dựa trên thời gian lưu trú
Ví dụ 1
Đặt giá phòng cho 1, 2 và 3 đêm lưu trú từ ngày 18/05/2020. Chiến lược phát hành đĩa đơn Tổng giá cho 1, 2 và 3 đêm lưu trú trong ví dụ này sẽ là 100 đô la, $180 và $240 tương ứng.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Thêm, phủ và xoá mức giá dựa trên thời gian lưu trú
Thêm thời gian lưu trú
Với giá dựa trên thời gian lưu trú, thao tác Delta
cho phép
cập nhật dần dần cho phạm vi ngày nhận phòng nêu trong
<StatusApplicationControl>
và cho toàn bộ thời gian lưu trú
được biểu thị bằng mỗi phần tử con Rate
UnitMultiplier
.
Đối với mỗi ngày nhận phòng và thời gian lưu trú áp dụng, tổng số người lưu trú phải chỉ định mức giá.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Lớp phủ thời gian lưu trú
Với giá dựa trên thời gian lưu trú, hoạt động Overlay
thay thế mức giá cho toàn bộ thời gian lưu trú của sản phẩm và ngày nhận phòng
phạm vi được biểu thị trong <StatusApplicationControl>
.
Với thông báo này, mức giá mỗi người lưu trú cho toàn bộ thời gian lưu trú trên các ngày đến đã chỉ định sẽ bị xóa và được thay thế bằng phòng hai người giá chỉ được xác định cho thời gian lưu trú 3.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Xoá thời gian lưu trú
Với giá dựa trên thời gian lưu trú, thao tác Remove
sẽ xoá giá phòng
đối với toàn bộ thời gian lưu trú sản phẩm và phạm vi ngày nhận phòng nêu trong
<StatusApplicationControl>
.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Phản hồi
Cú pháp
Thông báo OTA_HotelRateAmountNotifRS
sử dụng cú pháp sau:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Phần tử và thuộc tính
Thông báo OTA_HotelRateAmountNotifRS
có những nội dung sau
phần tử và thuộc tính:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Mô tả |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | Phần tử gốc của phản hồi cho thông báo về tình trạng rảnh/bận. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | Ngày và giờ tạo thông báo này. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | Giá trị nhận dạng duy nhất từ
OTA_HotelRateAmountNotifRQ tin nhắn. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Cho biết thông báo OTA_HotelRateAmountNotifRQ đã
đã được xử lý thành công.
|
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Vùng chứa một hoặc nhiều vấn đề gặp phải trong khi xử lý
OTA_HotelRateAmountNotifRQ tin nhắn.
|
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Mô tả lỗi gặp phải trong khi xử lý
OTA_HotelRateAmountNotifRQ tin nhắn. Chi tiết về những
trong Thông báo lỗi về trạng thái nguồn cấp dữ liệu. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | Loại cảnh báo lỗi (EWT) của OpenTravel Alliance liên kết với
. Chỉ sử dụng giá trị 12 (Processing exception) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | Mã lỗi (ERR) của OpenTravel Alliance tương ứng với lỗi.
Chỉ sử dụng giá trị 450 (Unable to process) . |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Trạng thái của yêu cầu ban đầu. Chỉ giá trị
NotProcessed được dùng. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Giá trị nhận dạng của Google cho vấn đề. Bạn có thể xem thông tin chi tiết về những lỗi này có trong Thông báo lỗi về trạng thái nguồn cấp dữ liệu. |
Ví dụ
Thành công
Sau đây là phản hồi cho một sự kiện đã được xử lý thành công Thông báo OTA_HotelRateAmountNotifRQ.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
Lỗi
Dưới đây là phản hồi cho thông báo OTA_HotelRateAmountNotifRQ không đã xử lý do lỗi.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>