İşlem (Tesis Verileri)

İstekler

Söz dizimi

Transaction (Property Data) mesajında şu söz dizimi kullanılır:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>
      </RoomFeatures>
    </RoomData>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Öğeler ve Özellikler

Transaction (Tesis Verileri) mesajında şu öğeler ve özellikler bulunur:

Öğe / @Özellik Yineleme sayısı Tür Açıklama
Transaction 1 Complex element ARI uygulamasında, tek bir tesise ait oda türlerini ve paketleri tanımlayan mesajın kök öğesidir.
Transaction / @timestamp 1 DateTime Bu mesajın oluşturulma tarihi ve saatidir.
Transaction / @id 1 string Bu istek mesajının benzersiz tanımlayıcısıdır. Bu değer, yanıt mesajında döndürülür. İzin verilen karakterler a-z, A-Z, 0-9, _ (alt çizgi) ve - (kısa çizgi) şeklindedir.
Transaction / @partner 1 string Bu mesajın iş ortağı hesabı. Bu dize değeri, Hotel Center'ın Hesap ayarları sayfasında listelenen "İş ortağı anahtarı" değeridir.

Not: Birden fazla hesap için feed sağlayan bir arka ucunuz varsa bu değerin aynı hesap genelinde <OTA_HotelRateAmountNotifRQ> ve <OTA_HotelAvailNotifRQ> mesajlarınızın <RequestorID> öğesinde belirtilen ID özellik değeriyle eşleşmesi gerekir.

Transaction / PropertyDataSet 1.. PropertyDataSet Tek bir tesise ait oda türlerini ve paketleri tanımlayan kapsayıcıdır.

<PropertyDataSet> öğesini yalnızca bir kez göndermeniz ve yalnızca değişiklik yapılması gerekiyorsa güncellemeniz önerilir.

Transaction / PropertyDataSet / @action 0..1 enum

Oda fiyatı tanımlarına uygulanacak güncelleme türüdür.

Geçerli değerler şunlardır:

  • overlay : Tesisin önceden tanımlanan <RoomData> ve <PackageData> öğelerini değiştirir. Geçerli mesajdaki yalnızca <RoomData> ve <PackageData> geçerlidir.
  • delta : Önceden tanımlanmayan <RoomData> ve <PackageData> öğelerini ekler veya mevcut olanları değiştirir.

Bu özellik isteğe bağlıdır ve belirtilmezse varsayılan olarak delta değerine ayarlanır.

Transaction / PropertyDataSet / Property 1 string Tesisin benzersiz tanımlayıcısı. Bu değer, Otel Listesi Feed'indeki <listing> öğesinde <id> kullanılarak belirtilen Otel Kimliği ile eşleşmelidir. Otel kimliği, Hotel Center'da da listelenir.
Transaction / PropertyDataSet / RoomData 0..n RoomData

Bir odayı tanımlar.

Not: En az bir <RoomData> veya <PackageData> gereklidir.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID Bir oda türünün benzersiz tanımlayıcısıdır. Bu değer, <OTA_HotelAvailNotifRQ>, <OTA_HotelRateAmountNotifRQ> ve <OTA_HotelInvCountNotifRQ> mesajlarının <StatusApplicationControl> öğesinde InvTypeCode özelliği kullanılarak belirtilir.
Transaction / PropertyDataSet / RoomData / Name 1 Name Bir veya daha fazla dilde oda kategorisi adının kapsayıcısıdır.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text Bir dilde oda kategorisi adını belirtir.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string Oda kategorisinin language özelliği tarafından belirtilen dildeki adıdır.
Transaction / PropertyDataSet / RoomData / Description 1 Name Bir veya daha fazla dilde oda kategorisi açıklamasının kapsayıcısıdır.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text Bir dilde oda kategorisi açıklamasını belirtir.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string Oda kategorisinin language özelliği tarafından belirtilen dildeki açıklamasıdır.
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string İki harfli dil kodudur.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs <AllowablePackageID> öğelerinin kapsayıcısıdır.

<AllowablePackageIDs> belirtilirse üst <RoomData> öğesindeki <RoomID> tarafından belirtilen oda türü yalnızca <AllowablePackageID> öğeleri tarafından tanımlanan ücret planlarıyla birleştirilebilir.

<AllowablePackageIDs> belirtilmezse üst <RoomData> öğesindeki <RoomID> tarafından belirtilen oda türü herhangi bir ücret planıyla birleştirilebilir.

<AllowablePackageIDs> veya <AllowableRoomIDs> kullanın ancak ikisini birden kullanmayın.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID Bu oda türüyle birleştirilebilecek bir ücret planının PackageID'sini belirtir. Ücret planı; paket, ücret ve stok durumu birleşimiyle tanımlanır. PackageID, OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarındaki RatePlanCode öğesine karşılık gelir.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer Bir odada fiziksel olarak konaklayabilecek maksimum yetişkin ve çocuk sayısıdır. Ücretlerle birlikte gönderdiğiniz tüm NumberOfGuests değerlerinden büyük veya bu değerlere eşit olmalıdır.

<Capacity> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır. Örnek için buraya bakın.

Not: <Capacity> ayarlanmamışsa izin verilen kişi sayısı sınırsız olarak kabul edilir. Bu alan ayarlanmamışsa ve ExtraGuestCharges veya AdditionalGuestAmounts tanımlanmışsa herhangi bir sayıda kişi için fiyat oluşturulabilir. Geçersiz doluluk seçenekleri için fiyatların gösterilmemesini sağlamak amacıyla <Capacity> veya AdditionalGuestAmounts tanımlanmışsa ExtraGuestCharges değerini ayarlamanızı öneririz.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer Bir odada fiziksel olarak konaklayabilecek maksimum yetişkin sayısıdır. Bu değer, ücretlerle birlikte gönderdiğiniz tüm NumberOfGuests değerlerinden büyük veya bu değerlere eşit olmalıdır.

<AdultCapacity> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır. Örnek için buraya bakın.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer Bir odada fiziksel olarak konaklayabilecek maksimum çocuk sayısıdır.

<ChildCapacity> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır. Örnek için buraya bakın.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings Bir odanın doluluk şartlarını kısıtlayabilen veya değiştirebilen ayarlar.

<OccupancySettings> öğesi aşağıdaki alt öğeleri alır:

  • <MinOccupancy>: Bir odada konaklayabilecek minimum konuk sayısı. Örneğin, bu değer 2 olarak ayarlanırsa bu oda tek konuk için rezerve edilemez.

    <MinOccupancy> değeri, 1 ile 99 arasında (1 ve 99 dahil) pozitif bir tam sayı olmalıdır.

  • <MinAge>: Bir odada kalan tüm konukların minimum yaşı. Örneğin, bu ayar 18 olarak belirlenirse bu oda yalnızca tüm konukların 18 yaşında veya daha büyük olduğu gruplar için rezerve edilebilir.

    <MinAge> değeri, 0 ile 99 arasında (0 ve 99 dahil) pozitif bir tam sayı olmalıdır.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

Tüm alt öğelerin dahil edilmesi gerekmez.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL Belirtilen odanın ya da Oda Paketi'nin fotoğrafına ait URL ve isteğe bağlı başlıktır. Bir oda veya Oda Paketi için birden fazla <PhotoURL> belirtebilirsiniz.

Bu öğede şu alt öğeler kullanılır:

  • <URL>: Fotoğrafın konumunu belirtir. Konum herkese açık olmalıdır (güvenlik duvarı arkasında olmamalıdır) ve protokolü (http://) içermelidir.
  • <Caption>: Fotoğrafın başlığını tanımlar. Bu öğede tek bir alt öğe (<Text>) kullanılır ve iki özelliğe (Text ve language) sahiptir. Text özelliği başlıktır ve language özelliği de en gibi iki harfli dil kodlarını belirtir.
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> Oda özellikleri hakkında bilgiler içerir.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

Japon otel odasının tarzını belirtir.

Geçerli değerler şunlardır:

  • western: Yatakların bulunduğu Batı tarzı bir oda.
  • japanese: Futon yatakların bulunduğu Japon tarzı bir oda.
  • japanese_western: Hem Batı tarzı yatakların hem de Japon tarzı futonların bulunduğu Japon-Batı tarzı bir oda.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object Oda sayısı kadar <Bed> içerir. Japon futonlarının bu sayıya dahil edilmemesi gerektiğini lütfen unutmayın.

Her <Bed> öğesi aşağıdaki özelliklere sahiptir:

  • size (isteğe bağlı): Geçerli değerler single, semi_double, double, queen ve king değerleridir.
Her <Bed> öğesinde aşağıdaki alt öğeler bulunur:
  • <Width> (isteğe bağlı): Yatak genişliğini belirtir. unit özelliği cm değeriyle ve number özelliği yatağın genişliğiyle birlikte tam sayı cinsinden santimetre olarak eklenmelidir.
  • <Length> (isteğe bağlı): Yatak uzunluğunu belirtir. unit özelliği cm değeriyle ve number özelliği yatağın tam sayı cinsinden uzunluğuyla birlikte bulunmalıdır.
Örnek:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum Bu oda bir süit olduğunda bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum Bu oda kapsül oda olduğunda bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum Bu odanın, sahipler veya diğer konuklar gibi diğer sakinlerle paylaşılıp paylaşılmadığı. Geçerli değerler shared ve private'dir.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum Bu oda, sabit duvarları, sıhhi tesisatı ve iklimlendirmesi olmayan açık hava konaklama birimi olduğunda bu öğeyi sağlayın. Örneğin, otel odaları açık havada konaklama tesisi değildir. Ancak konukların çadırlarda kaldığı kamp alanları ve kendi karavanlarını getirdiği karavan parkları açık havada konaklama tesisi olarak kabul edilir.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum Bu oda tekerlekli sandalye erişimine uygun olduğunda bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum Bu odanın sigara içilmeyen oda mı yoksa sigara içilen oda mı olduğu. Geçerli değerler non_smoking ve smoking'dir.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object Odada banyo ve tuvalet olup olmadığı hakkında bilgi içerir.

Özellik şunlardır:

  • relation (isteğe bağlı): Banyo ve tuvaletin birbirine göre nasıl yerleştirildiğini gösterir. Geçerli değerler şunlardır: together (ör. banyo ve tuvaletin aynı odada bulunduğu bir banyo) ve separate (banyo ve tuvaletin ayrı alanlara sahip olduğu yerler). Bu özellik, odada hem banyo hem de tuvalet yoksa ayarlanmamalıdır.

Öğe, isteğe bağlı olarak aşağıdaki alt öğeleri alır:

  • <Bath> (isteğe bağlı): Bu öğenin varlığı, odada banyo olduğunu gösterir.

    Özellikler şunlardır:

    • bathtub (isteğe bağlı): Banyonun küvetli olduğunu gösterir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
    • shower (isteğe bağlı): Banyo içinde duş olduğunu belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
  • <Toilet> (isteğe bağlı): Bu öğenin varlığı, odada tuvalet olduğunu gösterir.

    Özellikler şunlardır:

    • electronic_bidet (isteğe bağlı): Tuvalette elektronik bide olduğunu belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
    • mobility_accessible (isteğe bağlı): Tuvaletin engellilere uygun olduğunu gösterir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.

Örnek:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum Bu oda özel açık hava banyosuna sahipse bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum Bu oda klimalıysa bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum Bu oda balkonlu veya verandaysa bu öğeyi sağlayın.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object Geçerli seçenekler şunlardır:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

Fiziksel oda açıklamasında yer almayan ücret özellikleri ve şartlarını açıklayan öğelerin kapsayıcısıdır.

Not: En az bir <RoomData> veya <PackageData> gereklidir.

Transaction / PropertyDataSet / PackageData / PackageID 1 string Bu mesajlardaki PackageID, OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarındaki RatePlanCode öğesine karşılık gelir.
Transaction / PropertyDataSet / PackageData / Name 1 Name Bir veya daha fazla dilde paket adının kapsayıcısıdır.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text Bir dilde paketin adını belirtir.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string Paketin language özelliği tarafından belirtilen dildeki adı.
Transaction / PropertyDataSet / PackageData / Description 1 Description Bir veya daha fazla dilde paket açıklamasının kapsayıcısıdır.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text Paketin bir dildeki açıklamasını belirtir.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string Paketin language özelliği tarafından belirtilen dildeki açıklamasıdır.
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string İki harfli dil kodudur.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs <AllowableRoomID> öğelerinin kapsayıcısıdır.

<AllowableRoomIDs> belirtilirse üst <PackageData> öğesindeki <PackageID> tarafından belirtilen ücret planı yalnızca <AllowableRoomID> öğeleri tarafından tanımlanan oda türleriyle birleştirilebilir.

<AllowableRoomIDs> belirtilmezse üst <PackageData> öğesindeki <PackageID> tarafından belirtilen ücret planı herhangi bir oda türüyle birleştirilebilir.

<AllowablePackageIDs> veya <AllowableRoomIDs> kullanın ancak ikisini birden kullanmayın.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID Bu ücret planıyla birleştirilebilecek bir oda türünün RoomID'sini belirtir. Oda türü, <RoomData> öğesinde tanımlanır.
Transaction / PropertyDataSet / PackageData / MilesIncluded 0..1 MilesIncluded Ücret planlarının veya paketlerin tanımlanma şekline göre paketlere bağlılık puanı bilgileri ekleyin. Ücret planını tanımlayan <PackageData> öğesinde <MilesIncluded> öğesini belirtin. <MilesIncluded> öğesinin aşağıdaki alt öğesi vardır:
  • LoyaltyCampaignID: Google ile yapılandırılan ve güncellenen belirli bağlılık kampanyasını tanımlayan benzersiz bir kimlik. Otel fiyatına bağlılık puanları ekler.

    <MilesIncluded> öğesini dahil etmek için kampanya kimliği, bağlılık programı kampanyası yapılandırmasında ayarlanmalıdır. Google'ın sonuçlarda bağlılık puanlarını nasıl kullandığıyla ilgili ayrıntılar, bağlılık kampanyası yapılandırması tarafından belirlenir.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>

    Not: Nadir durumlarda, planda seyahat planından bağımsız olarak her zaman sabit sayıda puan kazanıldığını belirtmek için <NumberOfMiles> öğesini <MilesIncluded> öğesinin altına ekleyebilirsiniz. <MilesIncluded> hakkında daha fazla bilgiyi <PackageData> adresinde bulabilirsiniz.

Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable Bir ücretin eksiksiz şekilde geri ödenebilir veya iptal edilebilir olarak listelenmesine olanak tanır. Sağlanmazsa geri ödemeyle ilgili hiçbir bilgi görüntülenmez.

Not: Tüm özellikleri ayarlamanızı öneririz. Bir veya daha fazla özellik ayarlanmadığında feed durumu uyarı mesajı oluşturulur.

Hiçbir özelliği ayarlamazsanız ücret geri ödenebilir olarak gösterilmez.

Özellikleri ayarlarken şunlara dikkat edin:

  • available veya refundable_until_days ayarlanmazsa ücret geri ödenebilir olarak gösterilmez.
  • available değeri, 0 veya false ise diğer özellikler yoksayılır. Diğer özelliklerden biri veya her ikisi de ayarlanmış olsa bile ücret geri ödenebilir olarak gösterilmez.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (Zorunlu) Ücretin eksiksiz şekilde geri ödenebildiğini belirtmek için 1 veya true olarak ayarlayın. Aksi takdirde 0 veya false olarak ayarlayın.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (available değeri, true ise zorunludur) Eksiksiz geri ödeme isteğinin, check-in tarihinden kaç gün önce yapılabileceğini belirtir. refundable_until_days değeri, 0 ile 330 arasında (0 ve 330 dahil) bir tam sayı olmalıdır.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (available değeri, true ise önemle tavsiye edilir) Eksiksiz geri ödeme saatinin dikkate alınacağı, günün son saatini (otelin yerel saatine göre) belirtir. Örneğin, "geri ödemelerin check-in'den iki gün önce saat 16.00'ya kadar kabul edileceğini" belirtmek için refundable_until_days ile birleştirilebilir. refundable_until_time ayarlanmazsa değer varsayılan olarak gece yarısı olur.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean Bu oda türünde kahvaltının dahil olup olmadığını belirtir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.

<BreakfastIncluded> yerine <Meals> kullanmanız tercih edilir.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time Otelin yerel saatine göre mümkün olan en erken giriş saati. Saat 24:00'dan önce olmalıdır.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time Otelin yerel saatine göre çıkış yapılabilecek en geç saat.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean Diğer odalarda ücretsiz internet erişimi yokken bu odada bu imkanın olup olmadığını belirtir. Tüm odalarda ücretsiz internet sunan otellerde bu öğeyi ayarlamayın. Bu öğe, oda içi kablolu internet ya da konuk odalarında kullanılamayan kablosuz internet için geçerli değildir. Geçerli değerler 0 (veya false) ve 1 (veya true) şeklindedir.
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object Bu paketteki yemeklerle ilgili bilgileri içerir.

<Meals> öğesi, aşağıdaki özelliklere sahip iki isteğe bağlı alt öğe (<Breakfast> ve <Dinner>) alır:

  • included (zorunlu): Ücrete kahvaltı/akşam yemeği dahilse 1 (veya true) olarak ayarlayın. Aksi takdirde 0 veya false olarak ayarlayın.
  • in_room (isteğe bağlı): Konuklara kaldıkları odada kahvaltı/akşam yemeği seçeneği sunuluyorsa 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.
  • in_private_space (isteğe bağlı): Konukların, diğer konuklarla temastan kaçınabilecekleri bir alanda (kaldıkları oda hariç) kahvaltı/akşam yemeği yeme seçeneği varsa 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.
  • buffet (isteğe bağlı): Kahvaltı/akşam yemeği açık büfe olarak servis ediliyorsa 1 (veya true) olarak ayarlayın. Aksi takdirde 0 (veya false) olarak ayarlayın.

İsteğe bağlı özellikler yalnızca included doğru olduğunda kullanılır.

Yemek filtrelerinin (no meals, breakfast only, dinner only ve breakfast and dinner) çalışması için hem <Breakfast> hem de <Dinner> özelliklerinin included özelliğiyle birlikte sağlanması gerekir.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean Otopark hizmetinin ücretli olduğu otellerde oda ücretine ücretsiz otopark hizmetinin dahil olup olmadığını belirtir. Ücretsiz otopark hizmeti sunan otellerde bu öğe için değer belirtmeyin. Geçerli değerler 0 (veya false) ve 1 (veya true) değerleridir. Varsayılan değer: false.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (<RoomData> içindeki <PhotoURL> ile aynıdır ancak paket için geçerlidir (ör. yemek fotoğrafları).)

Örnekler

Oda ve paket verileri

Aşağıdaki temel örnekte, tesisin oda ve paket verilerinin Transaction (Tesis Verileri) mesajında nasıl tanımlanacağı gösterilmektedir. overlay özelliği, daha önceden beklenmedik şekilde mevcut olan tüm verilerin silinmesini ve bu mesajdaki verilerle değiştirilmesini sağlamak için kullanılır:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Oda türü ekleme

Aşağıdaki örnekte, mevcut <Transaction> verilerine oda türü ve paketin nasıl ekleneceği gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Oda türlerini kaldırma

Aşağıdaki örnekte mevcut oda türleri ve paketlerin nasıl kaldırılacağı gösterilmektedir. Bu senaryoda, "Oda ve paket verileri" ile "Oda türü ekleme" bölümündeki mesajlar daha önce Google'a gönderilmişse Google aşağıdaki mesajı aldıktan sonra King ve Double oda türleri artık mevcut olmaz. Paket verilerinin kaldırılmasının, Transaction (Tesis Verileri), OTA_HotelRateAmountNotifRQ ve OTA_HotelAvailNotifRQ mesajlarında (aynı PackageID değeri referans alınarak) tanımlanan genel ücret planını etkilediğini ve bu nedenle, PackageID_2 ile PackageID_3'nin artık burada tanımlanmadığını yansıtmak için diğer mesaj türleri kullanılarak ilgili güncellemelerin yapılması gerekebileceğini unutmayın.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


Ücret planlarını kısıtlama

Aşağıdaki örnekte, bir oda türünde izin verilen ücret planlarını kısıtlamak için <AllowablePackageIDs> öğesinin nasıl kullanılacağı gösterilmektedir. Bu örnekte, Queen oda türü (RoomID_2) yalnızca PackageID_1 olarak tanımlanan paket ve ücret planıyla birleştirilebilir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Oda kapasitesini kısıtlama

Aşağıdaki örnekte, oda kapasiteleriyle ilgili kısıtlamalar belirlemek için <Capacity>, <AdultCapacity>, <ChildCapacity> öğelerinin nasıl kullanılacağı gösterilmektedir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

Çift kişilik oda türünde (RoomID_1) toplamda 4 konuk olabilir. Ayrıca, 4 yetişkin ve 3 çocuğa kadar konaklama imkanı sunabilir. Bu odanın rezerve edilebilmesi için üç kapasite koşulunun da karşılanması gerekir. Bu yapılandırma, her biri iki kişi kapasiteli iki yatağın bulunduğu tipik bir odayı temsil eder. Oda kapasitesi, odada en az bir yetişkin bulunması gerektiğinden toplam kapasiteden bir kişi eksiktir.

<RoomFeatures> ve yemekler içeren genişletilmiş örnekler

JapaneseHotelRoomStyle için varsayılan değer yoktur. Bir değerin atlanması XML hatasına neden olmaz ancak kullanıcı oda stiline veya yataklara göre filtrelediğinde girişiniz arama sonuçlarında gösterilmez.

İki adet tek kişilik yatak

Aşağıdaki örnekte <RoomFeatures> işlevinin nasıl kullanılacağı gösterilmektedir:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

İki adet çift kişilik yatak

Aşağıda, iki double yataklı western tarzı bir oda örneği verilmiştir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Yataksız Japon tarzı

Aşağıda, yatağın olmadığı Japon tarzı bir oda örneği verilmiştir. japanese tarzı odalar için yatak bilgisi gerekli değildir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Japanese western w/bed

Aşağıda, king boyutunda yatağı olan japanese_western tarzı bir oda örneği verilmiştir.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

İş ortağının japanese_western odalarında yatak sayısı bilgisi yoksa aşağıdaki örneğe bakın:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


Yemekler

Aşağıdaki örnekte yemekler, fotoğraflar ve check-in ile çıkış saatleri için oda ve paket meta verileri tanımlanmaktadır:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Yalnızca kahvaltı

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Yanıtlar

Söz dizimi

TransactionResponse (Property Data) mesajında şu söz dizimi kullanılır:

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

Öğeler ve özellikler

TransactionResponse (Property Data) mesajında aşağıdaki öğeler ve özellikler bulunur:

Öğe / @Özellik Yineleme sayısı Tür Açıklama
TransactionResponse 1 Complex element Alınan Transaction istek mesajının başarısını veya sorunlarını gösteren kök öğedir.
TransactionResponse / @timestamp 1 DateTime Bu mesajın oluşturulma tarihi ve saatidir.
TransactionResponse / @id 1 string İlişkilendirilmiş Transaction mesajındaki benzersiz tanımlayıcıdır.
TransactionResponse / @partner 1 string Bu mesajın iş ortağı hesabı.
TransactionResponse / Success 0..1 Success Transaction mesajının uyarı, hata veya sorun olmadan başarıyla işlendiğini belirtir.

Her mesajda <Success> veya <Issues> bulunur.

TransactionResponse / Issues 0..1 Issues Transaction mesajı işlenirken karşılaşılan bir veya daha fazla sorun için kullanılan bir kapsayıcıdır.

Her mesajda <Success> veya <Issues> bulunur.

TransactionResponse / Issues / Issue 1..n Issue Transaction mesajı işlenirken karşılaşılan uyarı, hata veya sorunun açıklamasıdır. Bu sorunlarla ilgili ayrıntılar Feed Durumu Hata Mesajları konusunda bulunabilir.
TransactionResponse / Issues / Issue / @code 1 integer Sorunun tanımlayıcısıdır.
TransactionResponse / Issues / Issue / @status 1 enum

Karşılaşılan sorunun türü.

Geçerli değerler warning, error ve failure şeklindedir.

Örnekler

Başarılı

Aşağıda, başarıyla işlenmiş bir Transaction mesajına yanıt yer almaktadır.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

Sorunlar

Aşağıda, hatalar nedeniyle işlenmemiş bir Transaction mesajına yanıt yer almaktadır.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>