Paket Kamar

Paket Kamar memungkinkan Anda menentukan beberapa jenis kamar untuk satu properti, atau menggabungkan itinerari kamar dengan fitur tarif—layanan tambahan yang memiliki tarif dan kondisi penjualan—kepada pengguna Anda di luar harga standar.

Konsep dan alur kerja utama

Dengan Paket Kamar, Anda dapat menawarkan kombinasi tambahan dari jenis kamar fisik dengan paket layanan yang berbeda.

Gambar berikut menunjukkan contoh Paket Kamar:

Dalam contoh ini, paket pertama adalah kamar dasar, dengan diskon hanya untuk satu orang dewasa. Yang kedua adalah jenis kamar berbeda yang tersedia untuk maksimal tiga orang dewasa. Yang ketiga adalah jenis kamar lain dalam properti yang sama. Yang keempat adalah paket "premium" dari kamar standar, yang mungkin mencakup fasilitas seperti sarapan gratis atau checkout lebih lambat.

Gambar berikut menampilkan contoh fitur tarif:

Penayangan Paket Kamar dan fitur tarif di hasil penelusuran diatur oleh proses seleksi yang sama seperti yang berlaku untuk tarif kamar standar.

Paket Kamar

Anda dapat menentukan Paket Kamar dan fitur tarif di pesan Transaksi. Elemen root pesan Transaksi adalah <Transaction>.

Struktur pesan Transaksi bergantung pada apa yang Anda lakukan: menentukan metadata tentang Paket atau fitur tarif Kamar, atau memperbarui harga atau ketersediaan Paket Kamar.

Metadata
Menentukan metadata fitur tarif dan Paket Kamar dengan <PackageData> dalam elemen <PropertyDataSet>. Untuk informasi selengkapnya, lihat Menentukan metadata paket dan kamar. Paket Kamar menggunakan elemen <RoomData> yang ada untuk deskripsi kamar fisiknya.
Harga dan ketersediaan
Tentukan harga dan ketersediaan Paket Kamar dengan elemen <RoomBundle> dalam <Result> untuk setiap kombinasi paket/itinerari. Untuk mengetahui informasi selengkapnya, lihat Menentukan harga dan ketersediaan.

Tarif kamar dasar, pajak, dan biaya lainnya bersifat wajib berdasarkan <Result> jika tidak digunakan dengan Paket Kamar, dan dapat dihapus saat digunakan dengan Paket Kamar. Jika Anda menerapkan Paket Kamar menggunakan akun aktif, ikuti langkah-langkah berikut:

  1. Sertakan tarif kamar dasar, pajak, dan biaya lainnya pada <Result> serta tambahkan satu Paket Kamar yang cocok dengan Paket Kamar dasar.

  2. Jika diperlukan, tentukan Paket Kamar tambahan dalam blok <Result> yang sama untuk jenis kamar lain di properti tersebut atau paket layanan yang berbeda.

  3. Setelah Paket Kamar diluncurkan, hapus tarif, pajak, dan biaya lain kamar dasar.

Metadata Paket Kamar

Saat menentukan Paket Kamar dan fitur tarif, Anda biasanya menentukan deskripsi, layanan tambahan yang merupakan bagian dari tarif, dan informasi lain tentang Paket Kamar lebih awal. Informasi ini dikenal sebagai metadata Paket Kamar. Kemudian, Anda mereferensikan metadata ini dalam pembaruan harga, tetapi jangan menyertakannya dalam pesan pembaruan harga.

Saat Anda menentukan Paket Kamar, gunakan elemen <RoomData> yang ada untuk deskripsi kamar fisik dan elemen <PackageData> untuk fitur tarif dan istilah yang bukan bagian dari deskripsi kamar fisik.

Menggunakan elemen <RoomData> dan <PackageData> dapat secara signifikan mengurangi ukuran Daftar Hotel dan Feed Harga Hotel karena mengurangi jumlah data berulang yang dikirim dalam pesan Transaksi.

Misalnya, data seperti nama kamar dan deskripsi biasanya diulang untuk setiap itinerari. Anda dapat menggunakan elemen <RoomData> dan <PackageData> untuk menentukan jenis data ini sekali. Data Paket Kamar spesifik berdasarkan itinerari kemudian digabungkan dengan definisi paket dan kamar yang disimpan untuk ditampilkan kepada pengguna akhir.

Google mencocokkan metadata Anda dengan data spesifik per itinerari untuk merender konten iklan Anda. Terdapat pemrosesan khusus untuk menggabungkan nama dan deskripsi dari elemen <RoomData> dan <PackageData>, sehingga kamar fisik dapat dijelaskan dalam <RoomData> serta fitur tarif dan detail paket berada di <PackageData>.

Jika Anda menentukan data kamar dan data paket untuk satu kamar atau Paket Kamar, Google menyertakan keduanya dalam output iklan, yang dipisahkan dengan tanda hubung.

Pedoman foto

Saat mengirim foto ruang, berikut beberapa panduan yang harus Anda ikuti untuk memastikan foto Anda ditampilkan kepada pengguna:

  • Kirim foto untuk setiap jenis kamar, termasuk foto kamar yang dapat diakses—misalnya, kamar yang dapat diakses dengan berbagai perlengkapan kamar mandi, seperti shower lipat.

  • Sertakan minimal empat foto kamar dan minimal satu foto kamar mandi.

  • Foto harus berada di ruangan itu sendiri, bukan di properti. Foto yang paling penting adalah tempat tidur, seluruh kamar, kamar mandi, ruang keluarga, dan pemandangan dari kamar (dengan seluruh kamar di foto yang sama), dan, jika ada, balkon, teras, atau teras.

    Tindakan ini juga membantu untuk mengambil foto meja, dapur, pembuat kopi/teh, dan fitur kamar yang berbeda.

  • Hindari foto orang dan properti—misalnya, eksterior atau fasilitas properti—perjalanan/pariwisata, dan makanan.

  • Hindari gambar objek dari jarak dekat, seperti closeup gelas tangkai.

  • Hindari branding dan merek, meskipun perlengkapan mandi berlabel atau bermerek boleh disertakan dalam foto yang mengambil gambar seluruh area kamar mandi. Foto tidak boleh menampilkan blok teks, logo, atau watermark yang besar.

  • Menyediakan foto lanskap (horizontal) standar dengan ruang pandang yang luas; menghindari mata ikan dan foto yang terdistorsi. Ambil foto dengan resolusi tertinggi untuk meningkatkan peringkat. Anda tidak perlu mengirimkan foto yang sama dalam berbagai resolusi.

Prioritas data

Data Paket Kamar dikumpulkan dari semua sumber dan digabungkan, menggunakan aturan prioritas, untuk menghasilkan data akhir untuk hotel, itinerari, dan Paket Kamar tertentu. Urutannya adalah sebagai berikut, dari prioritas terendah ke tertinggi:

  1. (Terendah) Data partner
  2. Data properti
  3. <RoomData>, dengan <RoomID> cocok dengan <RoomID> dalam blok <RoomBundle>
  4. <PackageData>, dengan <PackageID> cocok dengan <PackageID> dalam blok <RoomBundle>
  5. (Tertinggi) <RoomBundle>

Menentukan harga dan ketersediaan

Untuk menentukan harga dan ketersediaan Paket Kamar, gunakan elemen <RoomBundle> dalam pesan Transaksi untuk setiap paket atau kombinasi itinerari. Elemen <RoomBundle> harus berada di dalam elemen <Result>. Kode contoh untuk dua elemen <RoomBundle> ditampilkan di bawah ini. Perhatikan bahwa dalam contoh ini, dua elemen <RoomBundle> mereferensikan metadata paket dan kamar menggunakan <RoomID> dan <PackageID>.

Untuk setiap <Result>, kumpulan Paket Kamar yang dimuat akan menimpa kumpulan yang ada untuk properti atau kombinasi itinerari tersebut. Jika Anda tidak menentukan Paket Kamar atau fitur tarif di elemen <Result>, semua Paket Kamar akan dihapus dan hanya kamar dasar untuk hotel atau itinerari tersebut yang akan muncul di hasil penelusuran.

Pastikan untuk menggunakan elemen seperti <Name> agar Paket Kamar Anda lebih menarik bagi calon pelanggan dan pastikan cocok dengan halaman landing hotel. Dalam contoh ini, Anda akan menentukan nama dan informasi deskriptif lainnya dalam metadata.

<RatePlanID> bersifat opsional dan mewakili ID unik untuk kombinasi kamar dan paket. Sebaiknya gunakan RatingPlanID sebagai variabel untuk membuat URL halaman landing dinamis (sebelumnya disebut Tempat Penjualan). Untuk mengetahui detailnya, lihat Menggunakan Variabel dan Kondisi.

Elemen berikut bersifat opsional di Paket Kamar:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

Saat Anda menerapkan Paket Kamar di akun aktif, hapus <Baserate> setelah Paket Kamar diaktifkan.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

Menentukan metadata kamar dan paket

Untuk menentukan metadata Paket Kamar, gunakan elemen <PackageData> dan <RoomData> di dalam elemen <PropertyDataSet> pesan Transaksi.

Anda menentukan metadata paket dan kamar di pesan Transaksi yang terpisah dari data harga dan ketersediaan. Dengan menentukan data ini sebelumnya, pembaruan harga Anda tidak perlu menyertakan informasi berulang seperti deskripsi, URL foto, fasilitas, dan data lainnya tentang setiap kamar atau paket untuk setiap itinerari.

Google menyimpan metadata untuk Anda dan memasukkannya ke dalam iklan saat ditampilkan. Anda dapat memperbarui metadata kamar dan paket kapan saja dengan pesan Transaksi baru.

Dalam pesan Transaction, Anda menetapkan ID paket dan ID kamar pada setiap blok yang kemudian dirujuk dalam blok <Result> pembaruan harga.

Jika data kamar dan paket berubah—misalnya, jika Anda menambahkan jenis kamar baru di properti, kirim pesan Transaksi baru yang berisi data paket dan kamar yang diperbarui—Google akan mengganti metadata yang ada tentang kamar atau paket dengan data baru.

Google merekomendasikan agar Anda menentukan metadata selama penyiapan awal. Setelah menentukan metadata sebelumnya, Anda hanya perlu mereferensikan nilai <RoomID> dan <PackageID> dalam pembaruan harga, bukan menyertakan semua informasi tersebut lagi. Google menggunakan ID tersebut untuk mencocokkan kamar dan Paket Kamar dengan metadata yang disimpan. Hal ini dapat mengurangi ukuran keseluruhan pesan Transaksi Anda secara signifikan.

Karena harga untuk kombinasi kamar atau itinerari berubah jauh lebih sering daripada deskripsi kamar atau paket, menentukan metadata sekali, lalu merujuknya adalah penggunaan pesan Transaksi yang jauh lebih efisien. Selain itu, error seperti ketidakcocokan deskripsi kamar dapat dihilangkan menggunakan metadata, bukan menentukan data inline.

Metode yang direkomendasikan dan paling efisien untuk menentukan metadata dan harga secara terpisah ditunjukkan di bawah:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

Jumlah tamu dan kapasitas

Saat menentukan Paket Kamar, Anda harus memahami perbedaan antara jumlah tamu dan kapasitas:

Kehadiran
Jumlah tamu yang menjadi tujuan penerapan Paket Kamar. Misalnya, "Paket Bulan Madu" memiliki jumlah tamu dua. Anda menetapkan nilai tingkat keterisian paket menggunakan elemen turunan <Occupancy> elemen <PackageData> atau <RoomBundle>.
Kapasitas
Jumlah maksimum orang yang dapat ditampung kamar secara fisik. Kapasitas kamar selalu sama dengan atau lebih tinggi dari jumlah tamu. Misalnya, "Suite Bulan Madu" di hotel Anda memiliki kapasitas maksimum enam orang, tetapi Anda menetapkan harga paket untuk dua tamu. Anda menetapkan nilai kapasitas paket menggunakan elemen turunan <Capacity> elemen <RoomData>.

Saat menetapkan harga untuk Paket Kamar, Anda harus memberikan harga untuk jumlah tamu yang dimaksudkan untuk paket tersebut (nilai yang ditentukan dalam elemen <Occupancy> paket). Jika <Occupancy> disetel ke dua, harga dalam paket tersebut harus untuk dua orang. Anda tidak dapat menetapkan <Occupancy> ke empat tamu dan menetapkan harga paket untuk dua tamu.

Ruang bersama

Anda juga menggunakan Jumlah Tamu dan Kapasitas dalam Paket Kamar untuk menetapkan harga akomodasi kamar bersama—misalnya, hostel. Misalnya, untuk menetapkan harga per orang untuk kamar asrama yang memiliki 8 tempat tidur, Anda akan menetapkan Jumlah tamu ke 1 dan Kapasitas ke 8, dan mengidentifikasinya seperti itu dalam nama <RoomData>. Lihat contoh.

Memperbarui Paket Kamar

Bagian ini menjelaskan cara menghapus Paket Kamar yang tidak lagi tersedia dan cara memperbarui harga Paket Kamar yang ada.

Penghapusan Paket Kamar

Paket Kamar berbeda dengan harga hotel dalam cara menghapusnya.

Untuk menghapus kombinasi kamar atau itinerari dari inventaris, Anda harus menetapkan <Baserate> elemen <Result> ke -1. Untuk menghapus Paket Kamar untuk kamar atau itinerari tertentu, hapus elemen <RoomBundle> dari blok <Result> dalam pesan Transaksi.

Paket Kamar di feed data Anda dianggap sebagai kumpulan, yang jumlahnya berkisar dari 0 hingga puluhan. Saat mengirimkan Paket Kamar ke Google, Anda mengirimkan rangkaian lengkap saat ini. Anda tidak akan mengubah nilai setiap Paket Kamar untuk menandai yang sebelumnya tersedia sebagai tidak tersedia. Apa pun paket paket yang ada di pesan Transaksi terbaru akan menggantikan set saat ini.

Misalnya, terdapat paket A, B, C, dan D. Pertama, Anda harus mengirim pesan yang menentukan kumpulan paket kamar A, B, C, dan D. Kemudian, jika paket B terjual habis, Anda mengirim ulang seluruh set dengan paket A, C, dan D saja. Jika semua Paket Kamar sudah terjual habis, kirimkan kumpulan Paket Kamar kosong.

Penyesuaian harga

Untuk mengubah harga Paket Kamar, tetapkan <Baserate> baru di elemen <Result>.

Setiap kali memperbarui blok <Result> kamar/itinerari dalam pesan Transaksi, Anda harus menyertakan kumpulan Paket Kamar lengkap yang tersedia untuk setiap <Result>. Google mengganti kumpulan Paket Kamar yang ada dengan yang baru. Jika Anda tidak menyertakan Paket Kamar apa pun di <Result>, Google akan menghapus semua Paket Kamar untuk kamar atau itinerari tersebut.

Pembaruan metadata

Anda memperbarui metadata Paket Kamar dengan respons terhadap <Query> dari Google.

Anda akan merespons pesan Kueri dengan pesan Transaksi yang menentukan metadata kamar dan paket untuk hotel yang ditentukan. Untuk mengetahui informasi selengkapnya, lihat Pesan Kueri.