개요
이 API를 사용하면 가격 조정 또는 환불 가능 여부 설정과 같이 조건이 충족될 때마다 요금에 액션을 동적으로 적용하는 방법을 정의할 수 있습니다. 가장 큰 할인율이 적용되는 요건을 충족하는 프로모션만 적용할 수 있는 Promotions API와 달리 이 API는 최종 가격을 인상할 수 있는 가격 조정 등 특정 조건이 충족되면 모든 작업을 적용합니다.
요청
구문
RateModifications
메시지는 다음 문법을 사용합니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="partner_key"
id="message_ID"
> < timestamp="timestamp"
HotelRateM>odifi<cations hotel_id="HotelID" action="[overlay]&quo>t;
<ItineraryRat>eModifica<tion id="ModificationID" action="[delete]"
BookingDates>
<DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=&q>uot;&qu<ot;MTWHFSU_or>_subset<""/
DateRange start=&quo>t;YYYY-<MM-DD" >end="<;YYYY-MM-DD" days_of_week=""MTWHFSU_or_subset""/
/>Booking<Dates
B>ookingW<indow min=&qu>ot;intege<r" max="integer"/
CheckinDates
DateRange start=">;YYYY-M<M-DD" end>="<YYYY-MM>-DD"< days_of_week=""MTWHFSU_or_s>ubset&q<uot;&quo>t;/
< /CheckinDates
CheckoutDates
> Dat<eRange start="YYYY-MM-DD" end=>"Y<YYY-MM-DD>" da<ys_of_week=""MTW>HFSU_or_s<ubset""/
/>Checkou<tDates
> Devi<ces
> Device< type="[desktop|ta>blet|mobi<le]"/
/Devic>es
< L>engthOfStay mi<n="integer" max="i>nteger&qu<ot;/
MinimumAmount before_discount="integer"/
RatePlans
> Ra<tePlan id=>"P<ackageID_1"/
RatePlan id=>"Pac<kageID_2"/
/RateP>lans
< Roo>mTypes
< RoomType id=">RoomID_1&<quot;/
RoomType id="Ro>omID_2&qu<ot;/
/RoomTypes
> StayDa<tes application="[all|any]"
DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week=""MTWHFSU_or_su>bset"<;"/
/StayDates
User>Countri<es type="[inclu>de|ex<clude]"
Count>ry <code="country_code>&<quot;/
/User>C
ountries
ModificationActions
PriceAdjustment multiplier="float"/
RateRule id="RateRuleID"/
Refundable available="[false|true]"
refundable_until_days="number_of_days"
refundable_until_time="time"/
Availability status="[unavailable]"/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
요소 및 속성
RateModifications
메시지에는 다음과 같은 요소와 속성이 있습니다.
요소 / @속성 | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
RateModifications | 1 | Complex element | 요금 변경 메시지의 루트 요소입니다. |
RateModifications / @partner | 1 | string | 이 메시지의 파트너 계정입니다. 이 문자열 값은 Hotel Center의
계정 설정 페이지에 표시된 '파트너 키' 값입니다.
참고: 여러 계정의 피드를 제공하는 백엔드가 있는 경우 이 값은 동일한 계정의 |
RateModifications / @id | 1 | string | 이 요청 메시지의 고유 식별자입니다. 이 값은 응답 메시지에 반환됩니다. 허용되는 문자는 a~z, A~Z, 0~9, _(밑줄), - (대시)입니다. |
RateModifications / @timestamp | 1 | DateTime | 이 메시지의 생성 날짜 및 시간입니다. |
RateModifications / HotelRateModifications | 0..n | HotelRateModifications | 숙박 시설의 요금 수정 각 요금 수정은 단일 숙박 시설에 적용됩니다. 참고: 동일한 요금에 여러 요금 수정사항을 적용할 수 있는 경우 모든 수정사항이 적용됩니다. 특정 순서는 보장되지 않습니다. |
RateModifications / HotelRateModifications / @hotel_id | 1 | string | 숙박 시설의 고유 식별자입니다. 이 값은 호텔 목록 피드의 <listing> 요소에서
<id> 를 사용하여 지정된 호텔 ID와 일치해야 합니다. 호텔 ID는 Hotel Center에도 표시됩니다. |
RateModifications / HotelRateModifications / @action | 0..1 | enum |
|
RateModifications / HotelRateModifications / ItineraryRateModification | 0..200 | ItineraryRateModification | 숙박 시설의 단일 요금 수정입니다. 참고: 비율 수정은 디버그하기 어렵기 때문에 가급적 사용하지 않는 것이 좋습니다. 요금을 200회 이상 수정해야 하는 사용 사례의 경우 기술계정 관리자 (TAM)에게 문의하세요. |
RateModifications / HotelRateModifications / ItineraryRateModification / @id | 1 | string | 요금 수정의 고유 식별자입니다. 허용되는 최대 문자 수는 40자(영문 기준)입니다. 허용되는 문자는 a~z, A~Z, 0~9, _ (밑줄), - (하이픈), .입니다. (마침표)를 누릅니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / @action | 0..1 | enum | 지정되지 않았고 동일한 지정된 경우 값은 |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates | 0..1 | BookingDates | 요금 수정을 적용하기 위해 예약이 이루어져야 하는 시기를 정의하는 하나 이상의 기간을 위한 컨테이너입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange | 1..99 | DateRange | 요금 수정이 적용되려면 예약이 언제 이루어져야 하는지 지정하는 기간입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @start | 0..1 | Date | 기간의 시작일(숙박 시설의 시간대를 기준으로 함)입니다(기간에 포함). 이 날짜는 end 날짜 이전이거나 그와 같아야 합니다. start 가 지정되지 않으면 시작일 측면에서 날짜 범위가 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @end | 0..1 | Date | 기간의 종료일(숙박 시설의 시간대 기준)입니다(기간에 포함). 이 날짜는 start 날짜와 같거나 그 이후여야 합니다. end 가 지정되지 않으면 종료일 측면에서 기간이 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingDates / DateRange / @days_of_week | 0..1 | string | 기간에 허용되는 요일입니다. 지정하지 않으면 기간 내 모든 날짜가 허용됩니다. 문자열의 각 문자는 하루를 지정합니다. 예를 들어 'MTWHF'는 기간에 평일이 허용됨을 지정합니다. 유효한 문자는 다음과 같습니다.
모든 문자 조합이 유효합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow | 0..1 | BookingWindow | 체크인 날짜를 기준으로 예약이 이루어져야 하는 기간을 지정합니다 (숙박 시설의 시간대를 기준으로 함). 예를 들어 예약 기간은 체크인 날짜로부터 최소 7일 이상, 최대 180일 이내로 설정할 수 있습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @min | 0..1 | integer | 요금 수정사항이 적용되려면 예약 시 체크인까지 최소 몇 일 전에 예약해야 하는지 나타냅니다. 지정하지 않으면 최솟값은 없습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / BookingWindow / @max | 0..1 | integer | 요금 수정을 적용하려면 예약 시 체크인까지의 최대 일수입니다. 지정하지 않으면 최대값이 없습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates | 0..1 | CheckinDates | 요금 수정을 적용하기 위해 체크인이 이루어져야 하는 시점을 정의하는 하나 이상의 기간을 위한 컨테이너입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange | 1..99 | DateRange | 요금 수정을 적용하기 위해 체크인이 이루어져야 하는 기간을 지정하는 날짜 범위입니다. 요금 수정사항을 하나 이상 삭제하는 경우에는 이 요소가 필요하지 않습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @start | 0..1 | Date | 기간의 시작일(숙박 시설의 시간대를 기준으로 함)입니다(기간에 포함). 이 날짜는 end 날짜 이전이거나 그와 같아야 합니다. start 가 지정되지 않으면 시작일 측면에서 날짜 범위가 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @end | 0..1 | Date | 기간의 종료일(숙박 시설의 시간대 기준)입니다(기간에 포함). 이 날짜는 start 날짜와 같거나 그 이후여야 합니다. end 가 지정되지 않으면 종료일 측면에서 기간이 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckinDates / DateRange / @days_of_week | 0..1 | string | 기간에 허용되는 요일입니다. 지정하지 않으면 기간 내 모든 날짜가 허용됩니다. 문자열의 각 문자는 하루를 지정합니다. 예를 들어 'MTWHF'는 기간에 평일이 허용됨을 지정합니다. 유효한 문자는 다음과 같습니다.
모든 문자 조합이 유효합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates | 0..1 | CheckoutDates | 요금 수정을 적용하기 위해 체크아웃이 발생해야 하는 시점을 정의하는 하나 이상의 기간을 위한 컨테이너입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange | 1..99 | DateRange | 요금 수정을 적용하기 위해 체크아웃이 이루어져야 하는 기간을 지정하는 날짜 범위입니다. 요금 수정사항을 하나 이상 삭제하는 경우에는 이 요소가 필요하지 않습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @start | 0..1 | Date | 기간의 시작일(숙박 시설의 시간대를 기준으로 함)입니다(기간에 포함). 이 날짜는 end 날짜 이전이거나 그와 같아야 합니다. start 가 지정되지 않으면 시작일 측면에서 날짜 범위가 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @end | 0..1 | Date | 기간의 종료일(숙박 시설의 시간대 기준)입니다(기간에 포함). 이 날짜는 start 날짜와 같거나 그 이후여야 합니다. end 가 지정되지 않으면 종료일 측면에서 기간이 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / CheckoutDates / DateRange / @days_of_week | 0..1 | string | 기간에 허용되는 요일입니다. 지정하지 않으면 기간 내 모든 날짜가 허용됩니다. 문자열의 각 문자는 하루를 지정합니다. 예를 들어 'MTWHF'는 기간에 평일이 허용됨을 지정합니다. 유효한 문자는 다음과 같습니다.
모든 문자 조합이 유효합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices | 0..1 | Devices | 요금 수정을 받을 수 있는 사용자 기기를 나열하는 컨테이너입니다. 지정된 경우 사용자가 나열된 기기 중 하나와 일치하는 경우에만 요금 수정이 적용됩니다. 지정하지 않으면 요금 수정의 적용이 제한되지 않습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device | 1..3 | Device | 요금 수정을 받을 수 있는 사용자 기기 유형을 하나 정의합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / Devices / Device / @type | 1 | enum | 기기 유형 값은 desktop , tablet 또는 mobile 여야 합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions | 1 | ModificationActions | 지정된 모든 조건이 충족되는 경우 요금에 적용되는 작업입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment | 0..1 | PriceAdjustment | AmountBeforeTax 와 AmountAfterTax 에 지정된 배수를 곱하여 비율을 수정합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / PriceAdjustment / @multiplier | 1 | float | AmountBeforeTax 와 AmountAfterTax 는 모두 이 값을 곱합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule | 0..1 | RateRule | 지정된 요금 규칙 ID를 요금에 적용하여 요금을 수정합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / RateRule / @id | 1 | string | 이 ID는 요금을 요금 규칙 정의 파일의 정의와 일치시킵니다.
참고:
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable | 0..1 | Refundable | 요금의 환불 가능 여부를 지정된 값으로 덮어씁니다.
속성을 설정할 때는 다음 사항에 유의하세요.
|
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @available | 1 | boolean | (필수) 요금이 전액 환불을 허용하는지 나타내려면 1 또는 true 로 설정합니다. 그렇지 않으면 0 또는 false 로 설정합니다. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (available 이 true 인 경우 필요) 체크인하기 전에 전액 환불을 요청할 수 있는 일 수를 지정합니다. refundable_until_days 의 값은 0과 330 사이의 정수여야 합니다(양 끝값 포함). |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Refundable / @refundable_until_time | 0..1 | Time | (available 이 true 인 경우 권장) 전액 환불 요청이 처리되는 가장 늦은 시간(호텔 현지 시간 기준)을 지정합니다. 이를 refundable_until_days 와 결합하여 예를 들어 '체크인 2일 전 오후 4시까지 환불 가능'이라고 지정할 수 있습니다. refundable_until_time 가 설정되지 않으면 기본값은 자정입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability | 0..1 | Availability | 요금의 이용 가능 여부를 지정된 값으로 덮어씁니다.
비율을 unavailable 로 설정하는 경우에만 지원됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / ModificationActions / Availability / @status | 1 | enum | status="unavailable" 인 경우 유효한 가격이 있는지와 관계없이 요금을 사용할 수 없는 것처럼 취급됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay | 0..1 | LengthOfStay | 이 요금 수정을 적용할 수 있는 숙박 일수 한도를 정의합니다. 숙박 기간이 최솟값과 최댓값을 벗어나면 요금 수정이 적용되지 않습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @min | 0..1 | integer | 요금 수정이 적용되기 위해 숙박에 허용되는 최소 숙박 일수입니다. 지정하지 않으면 최솟값은 없습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / LengthOfStay / @max | 0..1 | integer | 요금 수정을 적용할 수 있는 숙박의 최대 숙박 일수입니다. 지정하지 않으면 최대값이 없습니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount | 0..1 | MinimumAmount | 요금 수정이 적용되기 위해 초과해야 하는 일일 객실 요금의 최소 합계를 지정합니다 (AmountBeforeTax 또는 AmountAfterTax 중 더 큰 값 사용). |
RateModifications / HotelRateModifications / ItineraryRateModification / MinimumAmount / @before_discount | 1 | integer | 요금 수정을 적용하려면 초과해야 하는 값입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans | 0..1 | RatePlans | 요금 수정이 적용되는 요금제 목록의 컨테이너입니다. <RatePlans> 를 지정하지 않으면 요금 수정사항이 모든 요금제에 적용됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan | 1..n | RatePlan | 요금제를 지정합니다. 요금제는 트랜잭션(숙박 시설 데이터), OTA_HotelRateAmountNotifRQ, OTA_HotelAvailNotifRQ 메시지에 정의된 대로 패키지, 요금, 이용 가능 여부의 조합으로 정의되며 PackageID로 식별됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / RatePlans / RatePlan / @id | 1 | string | 요금제의 고유 식별자입니다. 이 값은 트랜잭션 (숙박 시설 데이터) 메시지의 <PackageData> 에 있는 PackageID 값과 <OTA_HotelRateAmountNotifRQ> 및 <OTA_HotelAvailNotifRQ> 메시지 모두에서 <StatusApplicationControl> 의 RatePlanCode 속성에 매핑됩니다.
허용되는 최대 문자 수는 50자(영문 기준)입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes | 0..1 | RoomTypes | 요금 수정이 적용되는 객실 유형 목록의 컨테이너입니다.
요금 수정은 지정된 각 <RoomType> 에 적용됩니다. <RoomTypes> 가 지정되지 않으면 요금 수정사항이 모든 객실에 적용됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType | 1..n | RoomType | 객실 유형을 지정합니다. 객실 유형은 거래 (숙박 시설 데이터) 메시지의 <RoomData> 요소에 정의되며 <RoomID> 값을 사용하여 참조됩니다. (<RoomID> 값은 OTA_HotelRateAmountNotifRQ 메시지의 InvTypeCode 속성에서도 참조됩니다.) |
RateModifications / HotelRateModifications / ItineraryRateModification / RoomTypes / RoomType / @id | 1 | string | 인벤토리의 고유 식별자 (객실 유형)입니다. 이 값은 거래 (숙박 시설 데이터) 메시지의 <RoomID> 에 매핑됩니다.
허용되는 최대 문자 수는 50자(영문 기준)입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates | 0..1 | StayDates | 시즌별 가격 책정을 수용하는 등 요금 수정 적용 방식을 결정하는 하나 이상의 기간을 위한 컨테이너입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / @application | 1 | enum | 요금 수정을 적용하는 방법을 설명합니다. 유효한 값은 다음과 같습니다.
이 속성은 항상 지정되어야 합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange | 1..99 | DateRange | 요금 수정이 적용될 날짜를 지정하는 기간입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @start | 0..1 | Date | 기간의 시작일(숙박 시설의 시간대를 기준으로 함)입니다(기간에 포함). 이 날짜는 end 날짜 이전이거나 그와 같아야 합니다. start 가 지정되지 않으면 시작일 측면에서 날짜 범위가 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @end | 0..1 | Date | 기간의 종료일(숙박 시설의 시간대 기준)입니다(기간에 포함). 이 날짜는 start 날짜와 같거나 그 이후여야 합니다. end 가 지정되지 않으면 종료일 측면에서 기간이 사실상 무제한입니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / StayDates / DateRange / @days_of_week | 0..1 | string | 기간에 허용되는 요일입니다. 지정하지 않으면 기간 내 모든 날짜가 허용됩니다. 문자열의 각 문자는 하루를 지정합니다. 예를 들어 'MTWHF'는 기간에 평일이 허용됨을 지정합니다. 유효한 문자는 다음과 같습니다.
모든 문자 조합이 유효합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries | 0..1 | UserCountries | 지정된 경우 사용자가 지정된 국가 중 하나에 있는 경우에만 요금 수정이 적용됩니다. 지정하지 않으면 사용자의 위치와 관계없이 요금 수정이 적용됩니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / @type | 0..1 | enum | UserCountries 사양의 유형입니다.
유효한 값은 UserCountries UserCountries UserCountries |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country | 1..300 | Country | 요금 수정을 허용하는 사용자 국가를 지정합니다. |
RateModifications / HotelRateModifications / ItineraryRateModification / UserCountries / Country / @code | 1 | string | DE 또는 FR 와 같은 CLDR 국가 코드입니다. 일부 국가의 경우 CLDR 국가 코드가 2자리 ISO 국가 코드와 다릅니다. 또한 CLDR 지역 코드는 지원되지 않습니다. |
예
기본 메시지
다음 예는 기본 RateModifications
` 메시지를 보여줍니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
BookingDates
> DateRan<ge start="2023-07-01" end="2023>-07-31&<quot; days_of>_week=&<quot;MTWHF"/
DateR>ange st<art="20>23-09-01&q<uot; end="2023-09-30"/
/BookingDates
Bookin>gWindow< min="7&>quot; m<ax="330&>quot;/
< CheckinDates
DateRange start="2023-10-01" e>nd=&quo<t;2023-10-31&q>uot; da<ys_of_w>eek="<;FSU"/
/Ch>eckinDate<s
CheckoutDates>
< DateRange st<art="2023-10-08" end>="<2023-11-0>7" da<ys_of_week="F>SU"/
< /CheckoutDat>es
< D>evices
< Device t>ype="<mobile"/
> Device< type="tablet>"/<
/De>vices
< L>engthOfStay min=<"2" max=>"14&<quot;/
RateP>lans
< >RatePlan id=&q<uot;234"/
> Rate<Plan id="567"/
/R>atePlan<s
RoomTypes
> < RoomType id="123&qu>ot;</
RoomType id=>&<quot;456"/
>
/RoomTypes
UserCountries
Country code="US"/
Country code="GB"/
/UserCountries
ModificationActions
PriceAdjustment multiplier="1.2"/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
요금 수정사항 1개 삭제
다음 예는 숙박 시설의 요금 수정사항 1개를 삭제하는 방법을 보여줍니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id="Property_1>&qu<ot;
ItineraryRateMo>d<ification id=">;1
" action="delete"/
/HotelRateModifications
/RateModifications
모든 요금 수정 삭제
다음 예는 숙박 시설의 모든 요금 수정사항을 삭제하는 방법을 보여줍니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>i<fications hotel_id>=&q
uot;Property_1" action="overlay"/
/RateModifications
모든 요금 수정 오버레이
다음 예는 속성의 <HotelRateModifications>
를 하나 이상의 새 요금 수정으로 오버레이하는 방법을 보여줍니다. action="overlay"
인 경우 현재 메일에 지정된 요금 수정사항을 저장하기 전에 저장된 모든 요금 수정사항이 삭제됩니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00"
HotelRateMod>ifica<tions hotel_id="Property_1&>quot; a<ction=">overlay&qu<ot;/
ItineraryRateModification id="1&>quot;
< B>ookingDates
< DateRange st>art="<;2023-09-01" end="2023->09-30&q<uot;/
/Booking>Dates
< ModificationAc<tions
Pric>eAdjustmen<t multiplier=">;1.2&qu<ot;/
> /Modif<icationAc>tions
< RoomTypes
> RoomTyp<e id="123&quo>t;/
< RoomType <id="456"/
>/Ro<omTypes
RatePlans>
< RatePlan >id
="234"/
RatePlan id="567"/
/RatePlans
/ItineraryRateModification
/HotelRateModifications
/RateModifications
여러 수정 작업
다음 예는 한 번에 여러 수정 작업을 실행하는 방법을 보여줍니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_1&q>uot;
I<tineraryRateModification id="1"
> Booki<ngDates
> Dat<eRange start=">2023-01-0<1" end="2023-02-28">;/
</BookingDates
ModificationActions
PriceAdjustment multiplier=".95"/
Refundable available=">true&qu<ot;
> r<efundable_until_days=">;1&<quot;
> < refundabl>e_until_ti
me="12:00:00"/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
사용자 국가의 요금제 사용 중지
다음 예는 요금제를 일본어 (JP
) 사용자로만 제한하는 방법을 보여줍니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModifications partner="account_xyz"
id="123_abc"
> <timestamp="2023-05-22T16:20:00-04:00&qu>ot;
< HotelRateModifications hotel_id>="<Property_>1"
< ItineraryRate>Modification i<d="1&>quot;
< RatePlans
Rate>Plan id=&<quot;jp_only">/
< /RatePlans
> Use<rCountries type=&qu>ot;exclud<e"
Country code=">;JP&quo<t;/
/UserCount>ries
< ModificationActions
> < Availability statu>s<="unavailable>&qu
ot;/
/ModificationActions
/ItineraryRateModification
/HotelRateModifications
/RateModifications
응답
구문
RateModificationsResponse
메시지는 다음 문법을 사용합니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="timestamp"
id="message_ID"
> < partner="partner_key"
>!--< Either >Suc<cess o>r Iss<ues will be populated. --
Success/
Issu><es
> Issue code=&q<uot;><issue_>cod<e"> <status="issue_type&qu>o
t;varissue_description/var/Issue
/Issues
/RateModificationsResponse
요소 및 속성
RateModificationsResponse
메시지에는 다음과 같은 요소와 속성이 있습니다.
요소 / @속성 | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
RateModifications | 1 | Complex element | 수신된 RateModifications 요청 메시지의 성공 또는 문제를 나타내는 루트 요소입니다. |
RateModificationsResponse / @timestamp | 1 | DateTime | 이 메시지의 생성 날짜 및 시간입니다. |
RateModificationsResponse / @id | 1 | string | 연결된 RateModifications 메시지의 고유 식별자입니다. |
RateModificationsResponse / @partner | 1 | string | 이 메시지의 파트너 계정입니다. |
RateModificationsResponse / Success | 0..1 | Success | RateModifications 메시지가 경고, 오류 또는 실패 없이 성공적으로 처리되었음을 나타냅니다.
각 메시지에 |
RateModificationsResponse / Issues | 0..1 | Issues | RateModifications 메시지를 처리하는 동안 발생한 하나 이상의 문제의 컨테이너입니다.
각 메시지에 |
RateModificationsResponse / Issues / Issue | 1..n | Issue | RateModifications 메시지를 처리하는 동안 발생한 경고, 오류 또는 실패에 관한 설명입니다. 이러한 문제에 관한 자세한 내용은 피드 상태 오류 메시지를 참고하세요. |
RateModificationsResponse / Issues / Issue / @code | 1 | integer | 문제의 식별자입니다. |
RateModificationsResponse / Issues / Issue / @status | 1 | enum | 발생한 문제의 유형입니다. 유효한 값은 |
예
성공
다음은 처리가 완료된 RateModifications 메시지에 대한 응답입니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner=&quo>t;partner
_key"
Success/
/RateModificationsResponse
문제
다음은 오류로 인해 처리되지 않은 RateModifications 메시지에 대한 응답입니다.
<?xml version="1.0" encodin>g<="UTF-8"?
RateModificationsResponse timestamp="2023-05-22T16:20:00-04:00"
id="12345678"
> < > < partner="partne>r_key"
<Issues>
< Issue <code="1001" stat>us
="error"Example/Issue
/Issues
/RateModificationsResponse