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 phần tử và thuộc tính sau:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Nội dung 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 thông báo 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 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 xem 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 để xác định tài khoản đối tác cho thông báo này (thường 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 tài khoản đối tác. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | Tài khoản đối tác dùng cho thông báo này. Giá trị chuỗi này là giá trị của "Khoá đối tác" được liệt kê 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, thì giá trị này cần phải khớp với giá trị thuộc tính |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Tập hợp các phần tử <RateAmountMessage> xác định giá phòng. |
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 phần tử <id> trong phần tử <listing> trong Nguồn cấp dữ liệu danh sách khách sạn. Mã khách sạn cũng có trong Hotel Center. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Vùng chứa để thiết lập giá cho giá phòng (tổ hợp loại phòng và gói giá 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ú) trong 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ú) trong 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ẽ áp dụng cho ngày đó. Xin lưu ý rằng Google hỗ trợ dữ liệu trong tối đa 3 năm. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Được đặt thành true hoặc 1 để thể hiện rõ việc có bao gồm các ngày thứ Hai.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Được đặt là true hoặc 1 để thể hiện rõ việc có bao gồm các ngày thứ Ba.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Được đặt thành true hoặc 1 để cho biết rõ việc có bao gồm các ngày thứ Tư.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Được đặt thành true hoặc 1 để thể hiện rõ việc có bao gồm các ngày thứ Năm.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Được đặt thành true hoặc 1 để thể hiện rõ việc có bao gồm các ngày thứ Sáu.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Được đặt thành true hoặc 1 để cho biết rõ việc có bao gồm các ngày thứ Bảy.
Nếu bạn đặt là |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Được đặt thành true hoặc 1 để cho biết rõ việc có bao gồm các ngày Chủ Nhật.
Nếu bạn đặt là |
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 tương ứng với <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 thông báo Giao dịch (Dữ liệu của cơ sở lưu trú). Gói giá còn được xác định thêm và được đề cập đến trong <StatusApplicationControl> trong cả thông báo <OTA_HotelRateAmountNotifRQ> và <OTA_HotelAvailNotifRQ> . |
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 lần cập nhật giá này. Bạn chỉ nên chỉ định giá trị này bằng giá trị 26 khi sử dụng mô hình định giá dựa trên LOS. Việc loại trừ thuộc tính này cho biết đây là đợt cập nhật về giá theo ngày. |
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" , thì bạn không được chỉ định phần tử này. Nếu không, bạn phải chỉ định chính xác phần tử này một lần. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Vùng chứa tập hợp các phần tử <BaseByGuestAmts> . |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Đơn vị dùng để xác định thời gian lưu trú. Giá trị duy nhất được hỗ trợ là "Day" , nghĩa là thời gian lưu trú sẽ được chỉ định theo ngày.
Để sử dụng tính năng định giá dựa trên MOS, bạn phải chỉ định |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Số lượng RateTimeUnits tính đến thời gian lưu trú đối với mức giá này.
Ví dụ: nếu giá trị (Các) mức giá cho số người lưu trú được chỉ định trong đối tượng Để sử dụng tính năng định giá dựa trên MOS, bạn phải chỉ định |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Vùng chứa tập hợp các khoản phí cơ sở. |
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ể. Bạn có thể đặt giá theo sức chứa bằng cách sử dụng nhiều phần tử <BaseByGuestAmt> , mỗi phần tử có một giá trị riêng cho NumberOfGuests .
Nếu không, giá sẽ á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í. Bạn có thể chỉ định cả Nếu bạn đang sử dụng chương trình khuyến mãi, thì khoản chiết khấu sẽ áp dụng cho |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | Giá hằng ngày của giá phòng, sau khi bao gồm các khoản thuế và phí hiện hành. Nếu chỉ định AmountAfterTax , thì bạn không cần gửi thông báo <TaxFeeInfo> riêng cho mỗi cơ sở lưu trú. Bạn có thể sử dụng kết hợp thuộc tính này với AmountBeforeTax để cung cấp cả giá cơ bản và tổng giá, sau đó 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 đang sử dụng chương trình khuyến mãi, bạn không nên sử dụng số tiền Lưu ý: Nếu không chỉ định |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Mã ký tự alpha ISO 4217 (3) cho một đơn vị tiền tệ cụ thể.
Tham khảo danh sách các đơn vị tiền tệ được hỗ trợ. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Mức giá này có thể phục vụ tối đa cho số lượng khách tối đa.
Mặc định là 2 khách nếu không được cung cấp.
Xin lưu ý rằng nếu |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Vùng chứa tập hợp các khoản phí cho khách bổ sung.
Cú pháp này sẽ hữu ích nếu giá bổ sung dành cho khách hoặc trẻ em thay đổi theo ngày. Hãy cân nhắc sử dụng thông báo
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 | Xác định mức giá dựa trên loại khách được chỉ định thông qua AgeQualifyingCode và độ tuổi của khách được chỉ định thông qua MaxAge (nếu có).
|
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. Có các lựa chọn
hợp lệ sau:
Bạn 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 . Bạn không được chỉ định thuộc tính này khi AgeQualifyingCode là 10 .
Bạn có thể chỉ định nhiều độ tuổi của trẻ thông qua các phần tử |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Số tiền trước khi cộng thuế và phí vào giá cơ bản cho mỗi khách bổ sung.
Bạn phải chỉ định các loại thuế và phí phụ thuộc vào độ tuổi của người lưu trú thông qua phần tử |
Ví dụ
Phần này cung cấp các đoạn 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á đơn giá
- Thêm, phủ và xoá số lượng khách lưu trú bổ sung
- Thiết lập mức giá dựa trên LOS
- Thêm, ghi đè và xoá các mức giá dựa trên LOS
Khi bạn đặt các giá trị add
, overlay
hoặc remove
, phạm vi ngày có thể giống hoặc 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 các kỳ nghỉ lễ tháng 12 thay vì toàn bộ phạm vi ngày được đặt cho thông báo "Thêm giá". Giá này sẽ thay thế giá cho số người lưu trú chỉ trong khoảng thời gian này.
Giá theo ngày
Thiết lập giá cơ sở và tổng giá
Ví dụ 1
Giá cơ bản (không có thuế hoặc phí) cho sức chứa mặc định (gấp đôi). Trong mô hình này, bạn phải xác định các khoản thuế và phí cho cơ sở lưu trú bằng thông báo <TaxFeeInfo>
. Đơn giá cơ bản sẽ quan trọng 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" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Ví dụ 2
Giá cơ bản và tổng giá của sức chứa mặc định (gấp đôi). Trong mô hình này, bạn không nên xác định riêng thuế và phí bằng thông báo <TaxFeeInfo>
. Giá cơ bản sẽ quan trọng 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 lưu trú. Trong mô hình này, bạn không nên xác định riêng thuế và phí bằng thông báo <TaxFeeInfo>
.
<?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á trong các 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á
Thêm giá
Đặt NotifType
thành Delta
để thêm giá theo sức chứa cho RoomID_1 và PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021. Xin 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>
Ghi đè đơn giá
Đặt NotifType
thành Overlay
để xoá tất cả đơn giá theo sức chứa cho RoomID_1 và PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021 và thay thế bằng đơn giá mới được chỉ định cho mỗi người lưu trú.
Ví dụ: Nếu thông báo này được gửi sau thông báo "Thêm giá", thì đơn giá cho sức chứa 1, 2 và 3 sẽ bị xoá và chỉ có mức giá mới cho sức chứa 1 được lưu trữ. Bạn cũng có thể đặt phạm vi ngày ngắn hơn (ví dụ: 20/12/2021 và 31/12/2021) để chỉ thay thế một số mức giá lưu trú vào những ngày nhất định, chẳng hạn như dịp 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á tất cả đơn giá theo sức chứa cho RoomID_1 và PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021.
Ví dụ: Nếu thông báo này được gửi sau một trong hai thông báo mẫu khác thì sẽ không có đơn giá theo sức chứa nào đượ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à xoá số tiền bổ sung của khách
Thêm số tiền
Đặt NotifType
thành Delta
để thêm giá cơ bản cho sức chứa 1 và 2, cũng như số tiền lưu trú bổ sung cho RoomID_1 và PackageID_1 trong khoảng thời gian 20/10/2021 đến 31/12/2021.
Số tiền bổ sung dành cho khách sẽ được áp dụng ngoài giá cơ bản. Giá cơ bản này đượ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. Số người lưu trú được chỉ định phải nằm trong sức chứa của RoomID_1.
Trong ví dụ này, số tiền bổ sung của khách sẽ được áp dụng như sau:
- $5 cho trẻ em trong độ tuổi từ 0 đến 10 (bao gồm).
- $10 cho trẻ em trong độ tuổi từ 11 đến 17 (bao gồm).
- 20 USD cho 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ố tiền của lớp phủ
Đặt NotifType
thành Overlay
để xoá tất cả mức giá theo sức chứa và mọi số 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 và thay thế bằng đơn giá mới xác định cho mỗi người lưu trú cùng các số tiền bổ sung.
Ví dụ: Nếu thông báo này được gửi sau thông báo "Thêm giá", thì mức giá cho sức chứa cơ bản 1 và 2 sẽ bị xoá và chỉ có mức giá mới cho sức chứa 1 cho sức chứa cơ bản mới được lưu trữ. Tập hợp số tiền bổ sung trước đây của khách sẽ bị xoá và chỉ có tập hợp số tiền mới được lưu trữ. Giờ đây, số tiền bổ sung đối với khách lưu trú sẽ sử dụng mức giá mới cho sức chứa 1 làm mức giá cơ bản. Xin lưu ý rằng sau lần cập nhật này, trẻ em sẽ không bị tính thêm phí nào khác đối với khách 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="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á tất cả giá cơ bản theo sức chứa, cũng như tất cả số tiền bổ sung của khách lưu trú đối với RoomID_1 và PackageID_1 trong khoảng thời gian từ 20/10/2021 đến 31/12/2021.
Ví dụ: Nếu thông báo này được gửi sau một trong hai thông báo mẫu khác, thì sẽ không có mức giá cơ bản cho mỗi người lưu trú hoặc số tiền bổ sung của khách sẽ đượ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 dành cho khách lưu trú bổ sung
Đặt NotifType
thành Delta
bằng phần tử <AdditionalGuestAmounts>
trống để xoá tất cả số tiền khách bổ sung cho RoomID_1 và PackageID_1 mà không ảnh hưởng đến 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ông báo này được gửi sau một trong các thông báo ví dụ khác thì chỉ số tiền cơ sở đượ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á dựa trên LOS
Thiết lập mức phí dựa trên LOS
Ví dụ 1
Đặt giá cho các thời gian lưu trú 1, 2 và 3 đêm từ ngày 18/5/2020. Tổng giá cho 1, 2 và 3 đêm lưu trú trong ví dụ này lần lượt là 100 đô la, 180 đô la và 240 đô la.
<?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, ghi đè và xoá các mức giá dựa trên LOS
Thêm(các) thời gian lưu trú
Với giá dựa trên LOS, thao tác Delta
cho phép cập nhật tăng dần giá phòng cho phạm vi ngày nhận phòng chỉ định trong <StatusApplicationControl>
và cho tất cả thời gian lưu trú do UnitMultiplier
của phần tử Rate
con chỉ định.
Đối với mỗi ngày nhận phòng và thời gian lưu trú hiện hành, bạn phải chỉ định tất cả mức giá lưu trú.
<?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>
Thời gian lưu trú theo lớp phủ
Với mức giá dựa trên LOS, thao tác Overlay
sẽ thay thế mức giá cho tất cả thời gian lưu trú của sản phẩm và phạm vi ngày nhận phòng được chỉ định trong <StatusApplicationControl>
.
Với thông báo này, mức giá cho mỗi lượt lưu trú cho tất cả thời gian lưu trú vào ngày đến đã chỉ định sẽ bị xoá và thay thế bằng mức giá cho phòng hai người 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á(các) thời gian lưu trú
Với giá dựa trên LOS, thao tác Remove
sẽ xoá các mức giá
cho tất cả thời gian lưu trú của sản phẩm và phạm vi ngày nhận phòng được chỉ định 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ó các phần tử và thuộc tính sau:
Phần tử / @Thuộc tính | Số lần xuất hiện | Loại | Nội dung 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 còn hàng. |
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 lấy từ thông báo OTA_HotelRateAmountNotifRQ được liên kết. |
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 quá trình xử lý thông báo OTA_HotelRateAmountNotifRQ .
|
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Nội dung mô tả về lỗi gặp phải trong khi xử lý thông báo OTA_HotelRateAmountNotifRQ . Bạn có thể xem thông tin chi tiết về các lỗi này trong Thông báo lỗi về trạng thái của 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 quan đến lỗ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ỉ sử dụng giá trị NotProcessed . |
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ề các lỗi này trong Thông báo lỗi về trạng thái của nguồn cấp dữ liệu. |
Ví dụ
Thành công
Dưới đây là phản hồi cho một thông báo OTA_HotelRateAmountNotifRQ đã được xử lý thành công.
<?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ý được do gặp 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>