pakiety pokojów pozwalają zdefiniować wiele typów pokojów w jednym obiekcie; połączyć plan podróży z funkcjami związanymi z cenami – dodatkowymi usługami, które oferują użytkownikom stawkę i warunki sprzedaży niż standardowe ceny.
Najważniejsze pojęcia i przepływ pracy
Dzięki pakietom pokojów możesz oferować dodatkowe kombinacje różnych rodzajów pomieszczeń fizycznych z różnymi pakietami usług.
Oto przykłady pakietów pokojów:
W tym przykładzie pierwszy pakiet to pokój podstawowy, ze zniżką tylko na jeden osoba dorosła. Drugi to pokój innego typu, który jest dostępny dla maksymalnie trzy dorosłe osoby. Trzeci to inny typ pomieszczenia w tym samym usłudze. Czwarty typ to „premium”, w pomieszczeniu podstawowym, obejmują takie udogodnienia jak śniadanie wliczone w cenę lub możliwość późniejszego wymeldowania.
Poniższe obrazy przedstawiają przykłady funkcji związanych ze stawkami:
Wyświetlanie pakietów pokojów i funkcji związanych z cenami w wynikach wyszukiwania podlega taki sam proces wyboru jak w przypadku standardowych stawek za pokój.
Zestawy pokojów
Funkcje określania pakietów pokojów i oceny określa się w wiadomościach o transakcjach. Poziom główny
element wiadomości dotyczącej transakcji to <Transaction>
.
Struktura komunikatu dotyczącego transakcji zależy od tego, co robisz: określić metadane dotyczące pakietu pokoi lub ceny albo zaktualizować atrybut Ceny i dostępność pakietu pokojów.
- Metadane
- Zdefiniuj metadane dotyczące zestawu pokojów i ceny za pomocą parametru
<PackageData>
w Element<PropertyDataSet>
. Więcej informacji znajdziesz w artykule Definiowanie pomieszczenia metadanych pakietu. Pakiety pokoi używają istniejących elementów<RoomData>
z opisem pomieszczeń. - Ceny i dostępność
- Definiowanie cen i dostępności pakietów pokojów za pomocą elementu
<RoomBundle>
w<Result>
dla każdej kombinacji pakietu i planu podróży. Więcej Więcej informacji znajdziesz w artykule Definiowanie cen i dostępności.
Stawka za pokój podstawowy, podatki i inne opłaty są obowiązkowe w
<Result>
, jeśli nie są używane z pakietami pokojów i można je usunąć, gdy
używane z pakietami pokojów. Jeśli implementujesz pakiety pokojów za pomocą transmisji na żywo
, wykonaj te czynności:
Uwzględnij stawkę za pokój podstawowy, podatki i inne opłaty w cenie poniżej
<Result>
i dodaj jeden pakiet pokoi, który pasuje do podstawowego zestawu pokoi.W razie potrzeby zdefiniuj dodatkowe pakiety pokoi w ramach tego samego bloku
<Result>
dotyczące innych typów pokojów w tym obiekcie lub różnych pakietów usług.Po uruchomieniu pakietu pokoi usuń stawkę za pokój podstawowy, podatki i innych opłat.
Metadane pakietu pokoi
Definiując pakiety pokojów i ceny cen, zwykle definiuje się opis, usługi dodatkowe, które są częścią stawki, oraz inne informacje o pakiecie pokojów. Informacje te są określane jako metadanych pakietu pokojów. Następnie odwołujesz się do tych metadanych w cenach. aktualizacji, ale nie umieszczaj ich w komunikatach o aktualizacji cen.
Definiując grupy pokoi, użyj istniejących elementów <RoomData>
jako:
opisy pokojów oraz elementy <PackageData>
dotyczące cen.
i hasła, które nie są częścią opisu pokoju.
Użycie elementów <RoomData>
i <PackageData>
może znacznie
zmniejszyć rozmiar listy hoteli i ceny hotelu,
, ponieważ zmniejsza
ilość powtarzających się danych wysyłanych w wiadomościach dotyczących transakcji.
Na przykład dane takie jak nazwa i opis pokoju zwykle się powtarzają.
dla każdego planu podróży. Możesz używać tych zasad: <RoomData>
i <PackageData>
elementów, by jednorazowo zdefiniować ten typ danych. Dane pakietu pokoi dla konkretnego planu podróży
jest następnie scalana z definicjami pomieszczeń i pakietów, by wyświetlić je
użytkownika końcowego.
Google dopasowuje metadane do danych konkretnego planu podróży, aby wyświetlić
treści reklam. Trwa specjalny proces łączenia imion i nazwisk
opisy z elementów <RoomData>
i <PackageData>
, co pozwala
fizyczny pokój opisany w usłudze <RoomData>
i recenzowanie funkcji oraz
szczegóły przesyłki znajdziesz w <PackageData>
.
Jeśli zdefiniujesz zarówno dane sali, jak i dane pakietu dla 1 pokoju lub sali, Bundle, Google umieszcza w danych wyjściowych reklamy oba te elementy, rozdzielone łącznikiem.
Wskazówki dotyczące zdjęć
Poniżej znajdziesz kilka wskazówek, których warto przestrzegać podczas wysyłania zdjęć do pokoju. Zadbaj o to, aby zdjęcia wyświetlały się użytkownikom:
Wysyłaj zdjęcia każdego typu pokoju, w tym zdjęcia osób z ułatwieniami dostępu pokoje, np. wyznaczone pokoje z różnymi łazienkami Armatura sanitarna, np. kabina prysznicowa.
Prześlij co najmniej 4 zdjęcia sali i co najmniej 1 zdjęcie łazienkową.
Zdjęcia powinny przedstawiać cały pokój, a nie obiekt. Najbardziej ważne są zdjęcia łóżka, całego pokoju, łazienki, salonu, i widok z pokoju (na tym samym zdjęciu, na którym znajduje się reszta pokoju) oraz balkon, patio lub taras (w odpowiednich przypadkach).
Przydatne będzie również robienie zdjęć biurka, kuchni, ekspresów do kawy/herbaty, i wyjątkowymi elementami wystroju.
Nie fotografuj ludzi ani mienia, na przykład obiektu z zewnątrz czy obiektu. udogodnienia, np. zwiedzanie/turystyka i gastronomia.
Unikaj zbliżeń przedmiotów, np. kiełbasek na kieliszki.
Unikaj marek i produktów, chociaż markowe przybory toaletowe mogą umieścić na zdjęciu, które przedstawia całą łazienkę. Zdjęcia nie powinna zawierać dużych bloków tekstu, logo ani znaków wodnych.
przesyłać standardowe zdjęcia w orientacji poziomej o szerokim polu widzenia; unikaj efektu rybiego oka i zniekształconych zdjęć. Rób zdjęcia w najwyższej rozdzielczości w celu poprawy pozycji w rankingu. Nie musisz przesyłać tego samego zdjęcia na różne rozwiązań.
Pierwszeństwo danych
Dane o pakietach pokojów są zbierane ze wszystkich źródeł i łączone z użyciem pierwszeństwa w celu wygenerowania ostatecznych danych dotyczących danego hotelu, planu podróży i pakietu pokoi. Oto ich kolejność (od najniższego do najwyższego):
- (najniższe) Dane partnera
- Dane usługi
<RoomData>
, gdzie<RoomID>
odpowiada<RoomID>
w Blokada:<RoomBundle>
<PackageData>
, gdzie<PackageID>
odpowiada<PackageID>
w Blokada:<RoomBundle>
- (Najwyższa)
<RoomBundle>
Określ ceny i dostępność
Aby określić ceny i dostępność pakietu pokojów, użyj elementu <RoomBundle>
w
komunikat o transakcji dla każdej kombinacji pakietu lub planu podróży.
Element <RoomBundle>
powinien być wewnątrz elementu <Result>
. Przykładowy kod
dla 2 elementów <RoomBundle>
. Zwróć uwagę, że w tym przykładzie
dwa elementy <RoomBundle>
odwołują się do metadanych pokoju i pakietu za pomocą atrybutu
<RoomID>
i <PackageID>
.
W przypadku każdej wartości <Result>
zawarty w niej zestaw pakietów zastępuje
już istniejącego zestawu dla tej kombinacji miejsca zakwaterowania lub planu podróży. Jeśli nie zdefiniujesz żadnej wartości
Pakiety pokoi lub ceny w elemencie <Result>
, a następnie we wszystkich pokojach
Pakiety są usuwane i pojawia się tylko podstawowy pokój powiązany z tym hotelem lub planem podróży
w wynikach wyszukiwania.
Dodaj elementy takie jak <Name>
, by zwiększyć liczbę pakietów pokojów
atrakcyjne dla potencjalnych klientów i dopasowane do strony docelowej hotelu.
stronę. W tym przykładzie zdefiniujesz nazwy i inne informacje opisowe
w metadanych.
Parametr <RatePlanID>
jest opcjonalny i reprezentuje unikalny identyfikator pomieszczenia oraz
kombinacji pakietu. Zdecydowanie zalecamy użycie RatePlanID jako zmiennej do
utwórz dynamiczny URL strony docelowej (dawniej punkt sprzedaży). Więcej informacji:
Używanie zmiennych i warunków.
W przypadku pakietów pokojów te elementy są opcjonalne:
<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>
Podczas wdrażania pakietu pokoi na aktywnym koncie usuń element <Baserate>
za parametrem
Pakiet pokojów jest włączony.
<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>
Definiowanie metadanych pokoju i pakietu
Aby określić metadane pakietu pokoi, użyj elementów <PackageData>
i <RoomData>
w elemencie <PropertyDataSet>
wiadomości transakcji.
Metadane pokoju i pakietu określasz w wiadomości transakcji, która jest niezależnie od danych dotyczących cen i dostępności. Definicja dane z wyprzedzeniem, aktualizacje cen nie muszą zawierać powtarzających się takie jak opisy, adresy URL zdjęć, udogodnienia i inne dane na temat wszystkie pokoje i pakiety w ramach każdego planu podróży.
Google przechowuje metadane i wstawia je do reklam, gdy są dostępne wyświetlenie. W każdej chwili możesz zaktualizować metadane pokoju i pakietu za pomocą nowego pliku: Wiadomość dotycząca transakcji.
W wiadomości o transakcji ustawiasz identyfikator pakietu i identyfikator pokoju w każdym bloku
które możesz później wykorzystać w blokach aktualizacji cen <Result>
.
Jeśli dane dotyczące sali i pakietu ulegną zmianie – na przykład jeśli dodasz nowy pokój wpisz właściwość, wyślij nową wiadomość transakcji zawierającą zaktualizowane dane o salach i pakietach – Google zastępuje istniejące metadane dotyczące pokój lub pakiet z nowymi danymi.
Google zaleca zdefiniowanie metadanych podczas początkowej konfiguracji. Po
wstępnie zdefiniowane metadane, wystarczy odnosić się do <RoomID>
<PackageID>
wartości w Twojej cenie
aktualizacje, a nie wszystkie
te informacje. Google używa tych identyfikatorów do dopasowywania pokoi i pakietów pokojów
z zapisanymi metadanymi. Może to znacznie zmniejszyć ogólny rozmiar Twojego
Wiadomości na temat transakcji.
Ponieważ ceny za pokój lub plany podróży zmieniają się znacznie częściej niż opisy pokoi czy pakietów, określając metadane raz, a później odnosząc się jest znacznie efektywniejsze wykorzystanie wiadomości transakcji. Dodatkowo błędy np. niezgodności w opisach pokojów można wyeliminować, stosując metadane zamiast niż zdefiniowanie danych w tekście.
Zalecana i najskuteczniejsza metoda definiowania metadanych i cen widać oddzielnie poniżej:
<!-- 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>
Obłożenie i pojemność
Definiując pakiety pokoi, musisz poznać różnicę między obłożenie i pojemność:
- Liczba osób
- Liczba gości, do których ma być przeznaczony pakiet pokoi. Przykład:
„pakiet miodowy”, ma liczbę dwóch osób. Ty określasz wartość
o obłożeniu pakietu za pomocą elementów
<PackageData>
lub<RoomBundle>
<Occupancy>
element podrzędny. - Rozmiar
- Maksymalna liczba osób, które mogą pomieścić w sali.
pojemność sali jest zawsze równa liczbie osób lub większa. Dla:
np. „Apartament dla nowożeńców” w Twoim hotelu może pomieścić maksymalnie 6 osób.
osób, ale cena pakietu dla 2 osób jest wystarczająca. Ty określasz wartość
pojemność pakietu za pomocą elementu podrzędnego
<Capacity>
elementu<RoomData>
.
Przy wycenianiu pakietu pokoi musisz podać cenę dla liczby gości.
do którego jest przeznaczony pakiet (wartość określona w atrybucie
<Occupancy>
). Jeśli <Occupancy>
ma wartość 2, cena w tej kolumnie
Przesyłka musi być przeznaczona dla 2 osób. Nie możesz ustawić zasady <Occupancy>
na 4 gości,
określić cenę pakietu dla 2 osób.
Współdzielone pokoje
Wykorzystujesz też informacje o obłożeniu i pojemności w pakietach pokojów do ustalania cen za współdzielone zasoby.
dotyczące zakwaterowania, np. hostelu. Na przykład, aby określić na osobę,
cenę pokoju w akademiku z 8 łóżkami ustaw liczbę osób na 1
Przepustowość dla 8
i wskaż ją jako taką w nazwie <RoomData>
. Zobacz
przykład.
Aktualizowanie pakietów pokojów
Z tej sekcji dowiesz się, jak usunąć pakiet pokoi, który nie jest już dostępny oraz jak zaktualizować cenę istniejącego pakietu pokoi.
Usuwanie zestawu pokoi
Sposób usuwania pakietów pokojów różni się od cen hoteli .
Aby usunąć z zasobów reklamowych kombinację sali lub planu podróży, ustaw
Od <Baserate>
do -1
elementu <Result>
. Aby usunąć pakiet pokojów dla:
dla danej sali lub planu podróży, usuń element <RoomBundle>
z
<Result>
w wiadomości transakcji.
Pakiety pomieszczeń w plikach danych są uznawane za zbiór, który jest liczony wszędzie od 0 do dziesiątek. Wysyłając pakiety pokojów do Google, pełny zestaw. Nie zmieniasz wartości pojedynczego pakietu pokoi na oznaczyć wcześniej dostępne konto jako niedostępne. Potrzebny jest dowolny zestaw najnowsza wiadomość transakcji zastępuje bieżący zestaw.
Na przykład mamy pakiety A, B, C i D. Najpierw wysyłasz wiadomość, która definiuje zbiór pakietów pokojów A, B, C i D. Później, jeśli pakiet B zostanie wyprzedany, wysyłasz ponownie cały zestaw zawierający tylko pakiety A, C i D. Jeśli wszystkie pakiety pokojów wyprzedane, wyślij pusty zestaw pakietów pokojów.
Dostosowanie cennika
Aby zmienić cenę pakietu pokoi, ustaw nową <Baserate>
w <Result>
.
.
Za każdym razem, gdy zaktualizujesz blok <Result>
sali lub planu podróży w transakcji
wiadomości, dla każdego z nich musisz uwzględnić pełny zestaw dostępnych pakietów pokojów
<Result>
Google zastępuje istniejący zestaw pakietów pokojów nowym
ustawiony. Jeśli nie dodasz żadnych pakietów pokojów w usłudze <Result>
, Google usunie
wszystkie pakiety pokoi powiązane z danym pokojem lub planem podróży.
Aktualizacje metadanych
aktualizujesz metadane pakietu pokoi o odpowiedź na zapytanie <Query>
od Google.
Odpowiadasz na zapytanie, wysyłając wiadomość o transakcji, która określa pokój. i metadane pakietu dla konkretnych hoteli. Więcej informacji znajdziesz w artykule Zapytanie Wiadomości.