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:
Sertakan tarif kamar dasar, pajak, dan biaya lain di bawah
<Result>
dan tambahkan satu Paket Kamar yang cocok dengan Paket Kamar dasar.Jika diperlukan, tentukan Paket Kamar tambahan dalam blok
<Result>
yang sama untuk jenis kamar lain di properti itu atau paket layanan yang berbeda.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:
- (Terendah) Data partner
- Data properti
<RoomData>
, dengan<RoomID>
cocok dengan<RoomID>
di<RoomBundle>
blok<PackageData>
, dengan<PackageID>
cocok dengan<PackageID>
di<RoomBundle>
blok- (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.