Paket Kamar

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

Konsep utama dan alur kerja

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

Gambar berikut menampilkan contoh Paket Kamar:

Dalam contoh ini, paket pertama adalah kamar dasar, dengan diskon hanya untuk satu kamar penghuni dewasa. Yang kedua adalah jenis kamar berbeda yang tersedia untuk lebih tinggi hingga tiga penghuni dewasa. Yang ketiga adalah tipe kamar lain di dalam saat ini. Yang keempat adalah "premium" untuk paket kamar dasar, yang mungkin termasuk fasilitas seperti sarapan gratis atau checkout setelahnya.

Gambar berikut menunjukkan contoh fitur tarif:

Menampilkan Paket Kamar dan fitur tarif di hasil penelusuran diatur oleh proses pemilihan yang sama dengan tarif kamar standar.

Paket Kamar

Anda menentukan Paket Kamar dan fitur tarif di pesan Transaksi. Akar pesan Transaksi adalah <Transaction>.

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

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

Tarif kamar dasar, pajak, dan biaya lainnya wajib di bawah <Result> saat tidak digunakan dengan Paket Kamar, dan dapat dihapus saat yang digunakan dengan Paket Kamar. Jika Anda menerapkan Paket Kamar menggunakan Anda, ikuti langkah-langkah berikut:

  1. Sertakan tarif kamar dasar, pajak, dan biaya lain di bawah <Result> dan 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 itu atau paket layanan yang berbeda.

  3. Setelah Paket Kamar diluncurkan, hapus tarif, pajak, dan biaya lainnya.

Metadata Paket Kamar

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

Saat 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 ruangan fisik.

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

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

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

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

Pedoman foto

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

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

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

  • Foto harus dari kamar itu sendiri, bukan properti. Paling sering foto-foto penting adalah tempat tidur, seluruh kamar, kamar mandi, ruang tamu, dan pemandangan dari ruangan (dengan semua ruangan dalam foto yang sama), dan, jika memungkinkan, balkon, teras, atau beranda.

    Hal ini juga membantu untuk mengambil foto meja, dapur, mesin pembuat kopi/teh, dan fasilitas kamar yang berbeda.

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

  • Hindari foto objek yang dekat, seperti gambar tangkai dari jarak dekat.

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

  • Memberikan foto lanskap (horizontal) standar dengan ruang pandang yang lebar; menghindari foto fish eye dan terdistorsi. Mengambil foto dengan resolusi tertinggi untuk meningkatkan peringkat. Anda tidak perlu mengirim foto yang sama dalam berbagai resolusi.

Prioritas data

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

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

Menentukan harga dan ketersediaan

Untuk menentukan harga dan ketersediaan Paket Kamar, gunakan elemen <RoomBundle> di pesan Transaksi untuk setiap kombinasi paket atau itinerari. Tujuan 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 yang ada untuk kombinasi properti atau itinerari tersebut. Jika Anda tidak mendefinisikan Paket Kamar atau fitur tarif di elemen <Result>, lalu semua Kamar Paket dihapus dan hanya kamar standar untuk hotel atau itinerari tersebut yang muncul pada hasil penelusuran.

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

<RatePlanID> bersifat opsional dan merepresentasikan ID unik untuk kamar dan kombinasi paket. Kami sangat merekomendasikan penggunaan RatePlanID sebagai variabel untuk membuat URL halaman landing dinamis (sebelumnya disebut Tempat Penjualan). Untuk mengetahui detailnya, lihat Menggunakan Variabel dan Ketentuan.

Elemen berikut bersifat opsional dalam Paket Kamar:

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

Jika 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 kamar dan paket dalam pesan Transaksi yang terpisah dari data harga dan ketersediaan. Dengan menentukan data sebelumnya, pembaruan harga tidak perlu menyertakan tindakan informasi seperti deskripsi, URL foto, fasilitas, dan data lain 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.

Dalam pesan Transaksi, Anda menetapkan ID paket dan ID kamar di setiap blok yang kemudian Anda referensikan dalam blok <Result> pembaruan harga.

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

Google merekomendasikan agar Anda menentukan metadata selama penyiapan awal. Sesudah menentukan metadata, Anda hanya perlu mereferensikan <RoomID> dan <PackageID> nilai dalam harga Anda {i>update<i}, bukan menyertakan semua informasi itu lagi. Google menggunakan ID tersebut untuk mencocokkan kamar dan Paket Kamar dengan {i>metadata <i}yang tersimpan. Ini dapat mengurangi ukuran keseluruhan Pesan transaksi.

Karena harga kombinasi kamar atau itinerari berubah jauh lebih sering daripada deskripsi kamar atau paket, mendefinisikan {i>metadata <i}sekali dan kemudian merujuk adalah penggunaan pesan Transaksi yang jauh lebih efisien. Selain itu, error seperti ketidakcocokan deskripsi kamar dapat dihilangkan dengan menggunakan metadata daripada dibandingkan mendefinisikan data secara inline.

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

<!-- 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>

Okupansi dan kapasitas

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

Kehadiran
Jumlah tamu yang dimaksudkan untuk diterapkan pada Paket Kamar. Misalnya, "Paket Bulan Madu" memiliki jumlah tamu dua orang. Anda menetapkan nilai jumlah tamu paket menggunakan elemen <PackageData> atau <RoomBundle>' Elemen turunan <Occupancy>.
Kapasitas
Jumlah maksimum orang yang dapat diakomodasi oleh ruangan secara fisik. Tujuan kapasitas kamar selalu sama dengan atau lebih tinggi dari jumlah tamu. Sebagai contoh, "Suite Bulan Madu" di hotel Anda memiliki kapasitas maksimum enam orang, tetapi Anda memberi harga paket untuk dua tamu. Anda menetapkan nilai kapasitas paket menggunakan turunan <Capacity> elemen <RoomData> .

Saat menetapkan harga Paket Kamar, Anda harus memberikan harga untuk jumlah tamu yang ditujukan untuk paket (nilai yang ditentukan dalam <Occupancy>). Jika <Occupancy> ditetapkan ke dua, maka harga dalam paket itu harus untuk dua orang. Anda tidak dapat menetapkan <Occupancy> ke empat tamu, dan tetapkan harga paket untuk dua tamu.

Kamar bersama

Anda juga menggunakan Occupancy dan Capacity dalam Paket Kamar untuk menetapkan harga bagi kamar bersama akomodasi kamar—misalnya, hostel. Sebagai contoh, untuk menetapkan harga untuk kamar asrama yang memiliki 8 tempat tidur, Anda perlu menetapkan Jumlah Tamu menjadi 1 dan Kapasitas untuk 8, dan identifikasi 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 yang Anda hapus mereka.

Untuk menghapus kombinasi kamar atau itinerari dari inventaris, Anda harus menetapkan <Baserate> elemen <Result> menjadi -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 di mana pun mulai dari 0 hingga puluhan. Saat mengirimkan Paket Kamar ke Google, Anda mengirim rangkaian yang lengkap dan terkini. Anda tidak mengubah nilai setiap Paket Kamar menjadi menandai layanan yang tersedia sebelumnya sebagai tidak tersedia. Apa pun set paket yang ada pesan Transaksi terbaru akan menggantikan kumpulan pesan saat ini.

Misalnya, ada paket A, B, C, dan D. Pertama-tama, Anda mengirim pesan bahwa menentukan kumpulan paket kamar A, B, C, dan D. Nantinya, jika paket B terjual habis, Anda mengirim ulang seluruh {i>dataset<i} dengan paket A, C, dan D saja. Jika semua Paket Kamar telah terjual habis, kirimkan kumpulan Paket Kamar kosong.

Penyesuaian harga

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

Setiap kali Anda memperbarui blok <Result> kamar/itinerari dalam Transaksi Anda harus menyertakan kumpulan lengkap Paket Kamar yang tersedia untuk masing-masing <Result>. Google mengganti rangkaian Paket Kamar yang ada dengan atur. Jika Anda tidak menyertakan Paket Kamar 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 merespons pesan Kueri dengan pesan Transaksi yang menentukan ruang dan metadata paket untuk hotel yang ditentukan. Untuk informasi selengkapnya, lihat Kueri Pesan.