المخزن المؤقت لبروتوكول تنسيق أماكن الإقامة في Google

// This proto relies on set vs. unset primitive-typed fields.
edition
= "2023";

package hotels.knowledge_base.external;

option features
.field_presence = IMPLICIT;
option java_package
= "com.google.travel.hotels.content.knowledge.base.schema.external";
option java_multiple_files
= true;

// LodgingList is a wrapper message to store multiple Lodging instances.
message
LodgingList {
  repeated
Lodging lodgings = 1;
}

// Lodging represents factual information for a single property that provides
// accomodations.
message
Lodging {
 
// REQUIRED.
 
Metadata metadata = 1;

 
// REQUIRED. Unique identifier for the property.
 
// Either the Place ID (https://developers.google.com/places/place-id)
 
// which uniquely identifies a place in the Google Places database and on
 
// Google Maps, or, the listing Hotel ID from your hotel list feed.
 
string place_id = 6;
 
Property property = 12;
 
Services services = 13;
 
Policies policies = 14;
 
FoodAndDrink food_and_drink = 15;
 
Pools pools = 16;
 
Wellness wellness = 17;
 
PublicBath public_bath = 29;
 
Activities activities = 18;
 
Transportation transportation = 19;
 
Families families = 20;
 
Connectivity connectivity = 21;
 
Business business = 22;
 
Accessibility accessibility = 23;
 
Pets pets = 24;
 
Parking parking = 25;
 
Housekeeping housekeeping = 26;
 
HealthAndSafety health_and_safety = 27;
 
Sustainability sustainability = 28;

 
// Living area features that are shared amongst guests,
 
// such as shared bathrooms, kitchen areas, grills, etc.
 
LivingArea common_living_area = 100;

 
// All units on the property have at least these attributes.
 
// E.g., a living area size means all units are at least that big.
 
GuestUnitType all_units = 101;

 
// Some units have as much as these attributes.
 
// E.g., a living area size means it is possible to book a unit that big.
 
GuestUnitType some_units = 102;

 
// Individual GuestUnitTypes that are available in this Lodging.
  repeated
GuestUnitType guest_units = 104;
}

/////////////////////////////
// Property level messages //
/////////////////////////////

message
Property {
 
// Built year.
  oneof built_year_oneof
{
    int32 built_year
= 2;
   
Exception built_year_exception = 3;
 
}

 
// Last renovated year.
  oneof last_renovated_year_oneof
{
    int32 last_renovated_year
= 4;
   
Exception last_renovated_year_exception = 5;
 
}

 
// Number of rooms.
  oneof number_of_rooms_oneof
{
    int32 number_of_rooms
= 6;
   
Exception number_of_rooms_exception = 7;
 
}

 
// Floors.
  oneof floors_oneof
{
    int32 floors
= 8;
   
Exception floors_exception = 9;
 
}
}

message
Services {
 
// Class rating.
  oneof class_rating_oneof
{
   
// Class rating from 1.0 to 5.0.
   
float class_rating = 2;
   
Exception class_rating_exception = 3;
 
}

 
///////////////////////
 
// Reception and lobby.

 
// Front desk.
  oneof front_desk_oneof
{
   
bool front_desk = 4;
   
Exception front_desk_exception = 5;
 
}

 
// Front desk 24hrs.
  oneof front_desk_24hrs_oneof
{
   
bool front_desk_24hrs = 6;
   
Exception front_desk_24hrs_exception = 7;
 
}

 
// Concierge.
  oneof concierge_oneof
{
   
bool concierge = 8;
   
Exception concierge_exception = 9;
 
}

 
// Elevator.
  oneof elevator_oneof
{
   
bool elevator = 43;
   
Exception elevator_exception = 44;
 
}

 
////////////////
 
// Conveniences.

 
// Baggage storage.
  oneof baggage_storage_oneof
{
   
bool baggage_storage = 16;
   
Exception baggage_storage_exception = 17;
 
}

 
// Laundry full service.
  oneof laundry_full_service_oneof
{
   
bool laundry_full_service = 18;
   
Exception laundry_full_service_exception = 19;
 
}

 
// Laundry self service.
  oneof laundry_self_service_oneof
{
   
bool laundry_self_service = 20;
   
Exception laundry_self_service_exception = 21;
 
}

 
// Social hour.
  oneof social_hour_oneof
{
   
bool social_hour = 22;
   
Exception social_hour_exception = 23;
 
}

 
// Wake up calls.
  oneof wake_up_calls_oneof
{
   
bool wake_up_calls = 24;
   
Exception wake_up_calls_exception = 25;
 
}

 
// Convenience store.
  oneof convenience_store_oneof
{
   
bool convenience_store = 26;
   
Exception convenience_store_exception = 27;
 
}

 
// Gift shop.
  oneof gift_shop_oneof
{
   
bool gift_shop = 28;
   
Exception gift_shop_exception = 29;
 
}

 
// Currency exchange.
  oneof currency_exchange_oneof
{
   
bool currency_exchange = 30;
   
Exception currency_exchange_exception = 31;
 
}

 
LanguagesSpoken languages_spoken = 42;
}

message
LanguagesSpoken {
 
// Arabic spoken.
  oneof arabic_spoken_oneof
{
   
bool arabic_spoken = 1;
   
Exception arabic_spoken_exception = 2;
 
}

 
// Cantonese spoken.
  oneof cantonese_spoken_oneof
{
   
bool cantonese_spoken = 3;
   
Exception cantonese_spoken_exception = 4;
 
}

 
// Dutch spoken.
  oneof dutch_spoken_oneof
{
   
bool dutch_spoken = 5;
   
Exception dutch_spoken_exception = 6;
 
}

 
// English spoken.
  oneof english_spoken_oneof
{
   
bool english_spoken = 7;
   
Exception english_spoken_exception = 8;
 
}

 
// Filipino spoken.
  oneof filipino_spoken_oneof
{
   
bool filipino_spoken = 9;
   
Exception filipino_spoken_exception = 10;
 
}

 
// French spoken.
  oneof french_spoken_oneof
{
   
bool french_spoken = 11;
   
Exception french_spoken_exception = 12;
 
}

 
// German spoken.
  oneof german_spoken_oneof
{
   
bool german_spoken = 13;
   
Exception german_spoken_exception = 14;
 
}

 
// Hindi spoken.
  oneof hindi_spoken_oneof
{
   
bool hindi_spoken = 15;
   
Exception hindi_spoken_exception = 16;
 
}

 
// Indonesian spoken.
  oneof indonesian_spoken_oneof
{
   
bool indonesian_spoken = 17;
   
Exception indonesian_spoken_exception = 18;
 
}

 
// Italian spoken.
  oneof italian_spoken_oneof
{
   
bool italian_spoken = 31;
   
Exception italian_spoken_exception = 32;
 
}

 
// Japanese spoken.
  oneof japanese_spoken_oneof
{
   
bool japanese_spoken = 35;
   
Exception japanese_spoken_exception = 36;
 
}

 
// Korean spoken.
  oneof korean_spoken_oneof
{
   
bool korean_spoken = 19;
   
Exception korean_spoken_exception = 20;
 
}

 
// Mandarin spoken.
  oneof mandarin_spoken_oneof
{
   
bool mandarin_spoken = 21;
   
Exception mandarin_spoken_exception = 22;
 
}

 
// Portuguese spoken.
  oneof portuguese_spoken_oneof
{
   
bool portuguese_spoken = 23;
   
Exception portuguese_spoken_exception = 24;
 
}

 
// Russian spoken.
  oneof russian_spoken_oneof
{
   
bool russian_spoken = 33;
   
Exception russian_spoken_exception = 34;
 
}

 
// Spanish spoken.
  oneof spanish_spoken_oneof
{
   
bool spanish_spoken = 25;
   
Exception spanish_spoken_exception = 26;
 
}

 
// Vietnamese spoken.
  oneof vietnamese_spoken_oneof
{
   
bool vietnamese_spoken = 27;
   
Exception vietnamese_spoken_exception = 28;
 
}
}

message
Housekeeping {
 
// Housekeeping available.
  oneof housekeeping_available_oneof
{
   
bool housekeeping_available = 2;
   
Exception housekeeping_available_exception = 3;
 
}

 
// Housekeeping daily.
  oneof housekeeping_daily_oneof
{
   
bool housekeeping_daily = 4;
   
Exception housekeeping_daily_exception = 5;
 
}

 
// Turndown service.
  oneof turndown_service_oneof
{
   
bool turndown_service = 6;
   
Exception turndown_service_exception = 7;
 
}
}

message
Parking {
 
// Parking available.
  oneof parking_available_oneof
{
   
bool parking_available = 2;
   
Exception parking_available_exception = 3;
 
}

 
// Parking for free.
  oneof parking_for_free_oneof
{
   
bool parking_for_free = 4;
   
Exception parking_for_free_exception = 5;
 
}

 
// Self parking available.
  oneof self_parking_available_oneof
{
   
bool self_parking_available = 6;
   
Exception self_parking_available_exception = 7;
 
}

 
// Self parking for free.
  oneof self_parking_for_free_oneof
{
   
bool self_parking_for_free = 8;
   
Exception self_parking_for_free_exception = 9;
 
}

 
// Valet parking available.
  oneof valet_parking_available_oneof
{
   
bool valet_parking_available = 10;
   
Exception valet_parking_available_exception = 11;
 
}

 
// Valet parking for free.
  oneof valet_parking_for_free_oneof
{
   
bool valet_parking_for_free = 12;
   
Exception valet_parking_for_free_exception = 13;
 
}

 
// Electric car charging stations.
  oneof electric_car_charging_stations_oneof
{
   
bool electric_car_charging_stations = 14;
   
Exception electric_car_charging_stations_exception = 15;
 
}
}

message
Policies {
 
// Check in time.
  oneof check_in_time_oneof
{
   
// 24hr clock, e.g. "1500" or "1600", in hotel local time.
   
// This is the ISO 8601 dense time format with minute precision.
   
// For normalization, extended format (with colons) is not supported.
   
string check_in_time = 4;
   
Exception check_in_time_exception = 5;
 
}

 
// Check out time.
  oneof check_out_time_oneof
{
   
// 24hr clock, e.g. "1130" or "1200", in hotel local time.
   
// This is the ISO 8601 dense time format with minute precision.
   
// For normalization, extended format (with colons) is not supported.
   
string check_out_time = 6;
   
Exception check_out_time_exception = 7;
 
}

 
// Kids stay for free.
  oneof kids_stay_for_free_oneof
{
   
bool kids_stay_for_free = 24;
   
Exception kids_stay_for_free_exception = 25;
 
}

 
// Max number of kids stay for free.
  oneof max_number_of_kids_stay_for_free_oneof
{
    int32 max_number_of_kids_stay_for_free
= 26;
   
Exception max_number_of_kids_stay_for_free_exception = 27;
 
}

 
// Max child age.
  oneof max_child_age_oneof
{
    int32 max_child_age
= 28;
   
Exception max_child_age_exception = 29;
 
}

 
// Smoke free property.
  oneof smoke_free_property_oneof
{
   
bool smoke_free_property = 30;
   
Exception smoke_free_property_exception = 31;
 
}

 
// All inclusive rates available.
  oneof all_inclusive_available_oneof
{
   
bool all_inclusive_available = 32;
   
Exception all_inclusive_available_exception = 33;
 
}

 
// All inclusive rates only.
  oneof all_inclusive_only_oneof
{
   
bool all_inclusive_only = 34;
   
Exception all_inclusive_only_exception = 35;
 
}

 
PaymentOptions payment_options = 36;
}

message
PaymentOptions {
 
// Pay cash.
  oneof cash_oneof
{
   
bool cash = 2;
   
Exception cash_exception = 3;
 
}

 
// Pay by cheque.
  oneof cheque_oneof
{
   
bool cheque = 4;
   
Exception cheque_exception = 5;
 
}

 
// Pay credit card.
  oneof credit_card_oneof
{
   
bool credit_card = 6;
   
Exception credit_card_exception = 7;
 
}

 
// Pay debit card.
  oneof debit_card_oneof
{
   
bool debit_card = 8;
   
Exception debit_card_exception = 9;
 
}

 
// Pay mobile nfc.
  oneof mobile_nfc_oneof
{
   
bool mobile_nfc = 10;
   
Exception mobile_nfc_exception = 11;
 
}
}

message
FoodAndDrink {
 
// Room service.
  oneof room_service_oneof
{
   
bool room_service = 2;
   
Exception room_service_exception = 3;
 
}

 
// Room service 24hrs.
  oneof room_service_24hrs_oneof
{
   
bool room_service_24hrs = 4;
   
Exception room_service_24hrs_exception = 5;
 
}

 
// Existence of restaurant.
  oneof restaurant_oneof
{
   
bool restaurant = 24;
   
Exception restaurant_exception = 25;
 
}

 
// Number of restaurants.
  oneof number_of_restaurants_oneof
{
    int32 number_of_restaurants
= 6;
   
Exception number_of_restaurants_exception = 7;
 
}

 
// Table service.
  oneof table_service_oneof
{
   
bool table_service = 8;
   
Exception table_service_exception = 9;
 
}

 
// Buffet.
  oneof buffet_oneof
{
   
bool buffet = 10;
   
Exception buffet_exception = 11;
 
}

 
// Buffet dinner.
  oneof buffet_dinner_oneof
{
   
bool buffet_dinner = 12;
   
Exception buffet_dinner_exception = 13;
 
}

 
// Buffet breakfast.
  oneof buffet_breakfast_oneof
{
   
bool buffet_breakfast = 14;
   
Exception buffet_breakfast_exception = 15;
 
}

 
// Breakfast available.
  oneof breakfast_available_oneof
{
   
bool breakfast_available = 22;
   
Exception breakfast_available_exception = 23;
 
}

 
// Breakfast for free.
  oneof breakfast_for_free_oneof
{
   
bool breakfast_for_free = 16;
   
Exception breakfast_for_free_exception = 17;
 
}

 
// Bar.
  oneof bar_oneof
{
   
bool bar = 18;
   
Exception bar_exception = 19;
 
}

 
// Vending machine.
  oneof vending_machine_oneof
{
   
bool vending_machine = 20;
   
Exception vending_machine_exception = 21;
 
}
}

message
Pools {
 
// Existence of pool.
  oneof pool_oneof
{
   
bool pool = 2;
   
Exception pool_exception = 3;
 
}

 
// Number of pools.
  oneof number_of_pools_oneof
{
   
// Min count of all pools on property.
    int32 number_of_pools
= 4;
   
Exception number_of_pools_exception = 5;
 
}

 
// Existence of indoor pool.
  oneof indoor_pool_oneof
{
   
// Including hot tubs, adult pools, etc.
   
bool indoor_pool = 30;
   
Exception indoor_pool_exception = 31;
 
}

 
// Number of indoor pools.
  oneof number_of_indoor_pools_oneof
{
   
// Including hot tubs, adult pools, etc.
    int32 number_of_indoor_pools
= 6;
   
Exception number_of_indoor_pools_exception = 7;
 
}

 
// Existence of outdoor pool.
  oneof outdoor_pool_oneof
{
   
// Including hot tubs, lazy rivers, etc.
   
bool outdoor_pool = 32;
   
Exception outdoor_pool_exception = 33;
 
}

 
// Number of outdoor pools.
  oneof number_of_outdoor_pools_oneof
{
   
// Including hot tubs, lazy rivers, etc.
    int32 number_of_outdoor_pools
= 8;
   
Exception number_of_outdoor_pools_exception = 9;
 
}

 
// Hot tub.
  oneof hot_tub_oneof
{
   
bool hot_tub = 12;
   
Exception hot_tub_exception = 13;
 
}

 
// Waterslide.
  oneof waterslide_oneof
{
   
bool waterslide = 14;
   
Exception waterslide_exception = 15;
 
}

 
// Lazy river.
  oneof lazy_river_oneof
{
   
bool lazy_river = 16;
   
Exception lazy_river_exception = 17;
 
}

 
// Adult pool.
  oneof adult_pool_oneof
{
   
bool adult_pool = 18;
   
Exception adult_pool_exception = 19;
 
}

 
// Wading pool.
  oneof wading_pool_oneof
{
   
bool wading_pool = 20;
   
Exception wading_pool_exception = 21;
 
}

 
// Wave pool.
  oneof wave_pool_oneof
{
   
bool wave_pool = 22;
   
Exception wave_pool_exception = 23;
 
}

 
// Thermal pool.
  oneof thermal_pool_oneof
{
   
// Includes hot springs.
   
bool thermal_pool = 24;
   
Exception thermal_pool_exception = 25;
 
}

 
// Water park.
  oneof water_park_oneof
{
   
bool water_park = 26;
   
Exception water_park_exception = 27;
 
}

 
// Lifeguard.
  oneof lifeguard_oneof
{
   
bool lifeguard = 28;
   
Exception lifeguard_exception = 29;
 
}
}

message
Wellness {
 
// Fitness center.
  oneof fitness_center_oneof
{
   
bool fitness_center = 4;
   
Exception fitness_center_exception = 5;
 
}

 
// Fitness center for free.
  oneof fitness_center_for_free_oneof
{
   
bool fitness_center_for_free = 24;
   
Exception fitness_center_for_free_exception = 25;
 
}

 
// Elliptical machine.
  oneof elliptical_machine_oneof
{
   
bool elliptical_machine = 6;
   
Exception elliptical_machine_exception = 7;
 
}

 
// Treadmill.
  oneof treadmill_oneof
{
   
bool treadmill = 8;
   
Exception treadmill_exception = 9;
 
}

 
// Weight machine.
  oneof weight_machine_oneof
{
   
bool weight_machine = 10;
   
Exception weight_machine_exception = 11;
 
}

 
// Free weights.
  oneof free_weights_oneof
{
   
bool free_weights = 12;
   
Exception free_weights_exception = 13;
 
}

 
// Spa.
  oneof spa_oneof
{
   
bool spa = 14;
   
Exception spa_exception = 15;
 
}

 
// Salon.
  oneof salon_oneof
{
   
bool salon = 16;
   
Exception salon_exception = 17;
 
}

 
// Sauna.
  oneof sauna_oneof
{
   
bool sauna = 18;
   
Exception sauna_exception = 19;
 
}

 
// Massage.
  oneof massage_oneof
{
   
bool massage = 20;
   
Exception massage_exception = 21;
 
}

 
// Aesthetic salon.
  oneof aesthetic_salon_oneof
{
   
bool aesthetic_salon = 30;
   
Exception aesthetic_salon_exception = 31;
 
}

 
//////////////
 
// Healthcare.

 
// Doctor on call.
  oneof doctor_on_call_oneof
{
   
bool doctor_on_call = 22;
   
Exception doctor_on_call_exception = 23;
 
}
}

message
Activities {
 
/////////////////////////
 
// On-premise facilities.

 
// Game room.
  oneof game_room_oneof
{
   
bool game_room = 2;
   
Exception game_room_exception = 3;
 
}

 
// Nightclub.
  oneof nightclub_oneof
{
   
bool nightclub = 4;
   
Exception nightclub_exception = 5;
 
}

 
// Casino.
  oneof casino_oneof
{
   
bool casino = 6;
   
Exception casino_exception = 7;
 
}

 
// Boutique stores.
  oneof boutique_stores_oneof
{
   
bool boutique_stores = 8;
   
Exception boutique_stores_exception = 9;
 
}

 
////////////////////////////////////////////////////////////////
 
// On-premise or adjacent sports facilities, possibly for a fee.

 
// Tennis.
  oneof tennis_oneof
{
   
bool tennis = 10;
   
Exception tennis_exception = 11;
 
}

 
// Golf.
  oneof golf_oneof
{
   
bool golf = 12;
   
Exception golf_exception = 13;
 
}

 
// Horseback riding.
  oneof horseback_riding_oneof
{
   
bool horseback_riding = 14;
   
Exception horseback_riding_exception = 15;
 
}

 
// Snorkeling.
  oneof snorkeling_oneof
{
   
bool snorkeling = 16;
   
Exception snorkeling_exception = 17;
 
}

 
// Scuba.
  oneof scuba_oneof
{
   
bool scuba = 18;
   
Exception scuba_exception = 19;
 
}

 
// Water skiing.
  oneof water_skiing_oneof
{
   
bool water_skiing = 20;
   
Exception water_skiing_exception = 21;
 
}

 
// Bicycles rental.
  oneof bicycles_rental_oneof
{
   
bool bicycles_rental = 22;
   
Exception bicycles_rental_exception = 23;
 
}

 
// Bicycles rental for free.
  oneof bicycles_rental_for_free_oneof
{
   
bool bicycles_rental_for_free = 24;
   
Exception bicycles_rental_for_free_exception = 25;
 
}

 
// Watercraft rental.
  oneof watercraft_rental_oneof
{
   
bool watercraft_rental = 26;
   
Exception watercraft_rental_exception = 27;
 
}

 
// Watercraft rental for free.
  oneof watercraft_rental_for_free_oneof
{
   
bool watercraft_rental_for_free = 28;
   
Exception watercraft_rental_for_free_exception = 29;
 
}

 
// The property is directly accessible to a beach without users needing to
 
// cross a public road.
  oneof beach_access_oneof
{
   
bool beach_access = 30;
   
Exception beach_access_exception = 31;
 
}

 
// The property has a private beach that's only accessible by guests staying
 
// at the property.
  oneof private_beach_oneof
{
   
bool private_beach = 32;
   
Exception private_beach_exception = 33;
 
}

 
// The property is directly on the beach.
  oneof beach_front_oneof
{
   
bool beach_front = 34;
   
Exception beach_front_exception = 35;
 
}

 
// Karaoke.
  oneof karaoke_oneof
{
   
bool karaoke = 36;
   
Exception karaoke_exception = 37;
 
}

 
// Banquet hall.
  oneof banquet_hall_oneof
{
   
bool banquet_hall = 38;
   
Exception banquet_hall_exception = 39;
 
}

 
// Table tennis.
  oneof table_tennis_oneof
{
   
bool table_tennis = 40;
   
Exception table_tennis_exception = 41;
 
}
}

message
Transportation {
 
// Transfer from/to lodging property.
  oneof transfer_oneof
{
   
bool transfer = 2;
   
Exception transfer_exception = 3;
 
}

 
// Airport shuttle.
  oneof airport_shuttle_oneof
{
   
bool airport_shuttle = 4;
   
Exception airport_shuttle_exception = 5;
 
}

 
// Airport shuttle for free.
  oneof airport_shuttle_for_free_oneof
{
   
bool airport_shuttle_for_free = 6;
   
Exception airport_shuttle_for_free_exception = 7;
 
}

 
// Local shuttle.
  oneof local_shuttle_oneof
{
   
// Shuttle to local attractions and businesses.
   
bool local_shuttle = 8;
   
Exception local_shuttle_exception = 9;
 
}

 
// Car rental on property.
  oneof car_rental_on_property_oneof
{
   
bool car_rental_on_property = 10;
   
Exception car_rental_on_property_exception = 11;
 
}

 
// Private car service.
  oneof private_car_service_oneof
{
   
// Private car services refers to taxis or black car as long as the car is
   
// not shared.
   
bool private_car_service = 12;
   
Exception private_car_service_exception = 13;
 
}

 
// Private car service for free.
  oneof private_car_service_for_free_oneof
{
   
bool private_car_service_for_free = 14;
   
Exception private_car_service_for_free_exception = 15;
 
}
}

message
Families {
 
// Babysitting.
  oneof babysitting_oneof
{
   
bool babysitting = 4;
   
Exception babysitting_exception = 5;
 
}

 
// Kids activities.
  oneof kids_activities_oneof
{
   
bool kids_activities = 6;
   
Exception kids_activities_exception = 7;
 
}

 
// Kids club.
  oneof kids_club_oneof
{
   
bool kids_club = 8;
   
Exception kids_club_exception = 9;
 
}

 
// Kids friendly.
  oneof kids_friendly_oneof
{
   
bool kids_friendly = 16;
   
Exception kids_friendly_exception = 17;
 
}
}

message
Connectivity {
 
// Internet and WiFi options.

 
// Wifi available.
  oneof wifi_available_oneof
{
   
bool wifi_available = 2;
   
Exception wifi_available_exception = 3;
 
}

 
// Wifi for free.
  oneof wifi_for_free_oneof
{
   
bool wifi_for_free = 22;
   
Exception wifi_for_free_exception = 23;
 
}

 
// Wifi in public areas.
  oneof wifi_in_public_areas_oneof
{
   
bool wifi_in_public_areas = 6;
   
Exception wifi_in_public_areas_exception = 7;
 
}

 
// Public internet terminal.
  oneof public_internet_terminal_oneof
{
   
bool public_internet_terminal = 12;
   
Exception public_internet_terminal_exception = 13;
 
}
}

message
Business {
 
// Business center.
  oneof business_center_oneof
{
   
bool business_center = 2;
   
Exception business_center_exception = 3;
 
}

 
// Meeting rooms.
  oneof meeting_rooms_oneof
{
   
bool meeting_rooms = 6;
   
Exception meeting_rooms_exception = 7;
 
}

 
// Meeting room count.
  oneof number_of_meeting_rooms_oneof
{
    int32 number_of_meeting_rooms
= 8;
   
Exception number_of_meeting_rooms_exception = 9;
 
}
}

message
Accessibility {
 
// Mobility accessible.
  oneof mobility_accessible_oneof
{
   
bool mobility_accessible = 4;
   
Exception mobility_accessible_exception = 5;
 
}

 
// Mobility accessible parking.
  oneof mobility_accessible_parking_oneof
{
   
bool mobility_accessible_parking = 2;
   
Exception mobility_accessible_parking_exception = 3;
 
}

 
// Mobility accessible elevator.
  oneof mobility_accessible_elevator_oneof
{
   
bool mobility_accessible_elevator = 6;
   
Exception mobility_accessible_elevator_exception = 7;
 
}

 
// Mobility accessible pool.
  oneof mobility_accessible_pool_oneof
{
   
bool mobility_accessible_pool = 8;
   
Exception mobility_accessible_pool_exception = 9;
 
}

 
// Rental wheelchair.
  oneof wheelchair_rental_oneof
{
   
bool wheelchair_rental = 10;
   
Exception wheelchair_rental_exception = 11;
 
}
}

message
Pets {
 
// Pets allowed.
  oneof pets_allowed_oneof
{
   
bool pets_allowed = 2;
   
Exception pets_allowed_exception = 3;
 
}

 
// Pets allowed for free.
  oneof pets_allowed_for_free_oneof
{
   
// No standard fees apply for having an allowed pet in the guest unit.
   
bool pets_allowed_for_free = 4;
   
Exception pets_allowed_for_free_exception = 5;
 
}

 
// Dogs allowed.
  oneof dogs_allowed_oneof
{
   
bool dogs_allowed = 6;
   
Exception dogs_allowed_exception = 7;
 
}

 
// Cats allowed.
  oneof cats_allowed_oneof
{
   
bool cats_allowed = 8;
   
Exception cats_allowed_exception = 9;
 
}
}

message
PublicBath {
 
// Onsen.
  oneof onsen_oneof
{
   
bool onsen = 2;
   
Exception onsen_exception = 3;
 
}

 
// Natural onsen.
  oneof natural_onsen_oneof
{
   
bool natural_onsen = 4;
   
Exception natural_onsen_exception = 5;
 
}

 
// Artificial onsen.
  oneof artificial_onsen_oneof
{
   
bool artificial_onsen = 6;
   
Exception artificial_onsen_exception = 7;
 
}

 
// Public bath.
  oneof public_bath_oneof
{
   
bool public_bath = 8;
   
Exception public_bath_exception = 9;
 
}

 
// Open-air bath.
  oneof open_air_bath_oneof
{
   
bool open_air_bath = 10;
   
Exception open_air_bath_exception = 11;
 
}

 
// Private Bath.
  oneof private_bath_oneof
{
   
bool private_bath = 12;
   
Exception private_bath_exception = 13;
 
}

 
// Jacuzzi.
  oneof jacuzzi_oneof
{
   
bool jacuzzi = 14;
   
Exception jacuzzi_exception = 15;
 
}

 
// Water bath.
  oneof water_bath_oneof
{
   
bool water_bath = 16;
   
Exception water_bath_exception = 17;
 
}

 
// Bedrock bath.
  oneof bedrock_bath_oneof
{
   
bool bedrock_bath = 18;
   
Exception bedrock_bath_exception = 19;
 
}

 
// Mixed bathing.
  oneof mixed_bathing_oneof
{
   
bool mixed_bathing = 20;
   
Exception mixed_bathing_exception = 21;
 
}
}

///////////////////////////////
// Guest Unit level messages //
///////////////////////////////

message
GuestUnitType {
 
// REQUIRED. Unit or room code identifiers for a single GuestUnitType. Each
 
// code must be unique within a Lodging instance.
  repeated
string code = 59;

 
// REQUIRED. Short name of the GuestUnitType. Target <50 chars for English
 
// version.
 
string name = 2;

 
// Tier.
  oneof tier_oneof
{
   
// Standard or deluxe.
   
// A non-standard tier is only permitted if at least one other unit
   
// type is of a lower tier.
   
UnitTier tier = 5;
   
Exception tier_exception = 6;
 
}

 
/////////////
 
// Occupancy.

 
// Max number of occupants.
  oneof max_number_of_occupants_oneof
{
    int32 max_number_of_occupants
= 7;
   
Exception max_number_of_occupants_exception = 8;
 
}

 
// Max number of adult occupants.
  oneof max_number_of_adult_occupants_oneof
{
    int32 max_number_of_adult_occupants
= 9;
   
Exception max_number_of_adult_occupants_exception = 10;
 
}

 
// Max number of child occupants.
  oneof max_number_of_child_occupants_oneof
{
    int32 max_number_of_child_occupants
= 11;
   
Exception max_number_of_child_occupants_exception = 12;
 
}

 
/////////////////////////
 
// Guest unit attributes.
 
// Where possible features should be defined in GuestUnitFeatures and
 
// assigned at the most precise known granularity, e.g. some/all guest
 
// units, vs. a specific guest unit type vs. a living area.

 
// Private home.
  oneof private_home_oneof
{
   
bool private_home = 13;
   
Exception private_home_exception = 14;
 
}

 
// Suite with multiple living areas / bedrooms.
  oneof suite_oneof
{
   
bool suite = 19;
   
Exception suite_exception = 20;
 
}

 
// Bungalow or villa.
  oneof bungalow_or_villa_oneof
{
   
bool bungalow_or_villa = 21;
   
Exception bungalow_or_villa_exception = 22;
 
}

 
// Access to executive floor lounge or related benefits.
  oneof executive_floor_oneof
{
   
bool executive_floor = 23;
   
Exception executive_floor_exception = 24;
 
}

 
// Connecting unit available.
  oneof connecting_unit_available_oneof
{
   
bool connecting_unit_available = 25;
   
Exception connecting_unit_available_exception = 26;
 
}

 
ViewsFromUnit views = 60;

 
////////////////
 
// Living areas.

 
// Features that cannot be associated with a particular
 
// living area but are available in the guest unit type.
 
// Prefer to associate with living areas when possible.
 
// In general, summable numbers are summarized by taking
 
// the max of (the value stored in this field) and
 
// (the sum of the values for the individual living areas).
 
LivingArea total_living_areas = 100;
}

enum UnitTier {
 
// Standard. The basic tier for this kind of unit.
  DEFAULT_STANDARD
= 0;

 
// Deluxe or Superior. Only allowed if another unit type is a standard tier.
  DELUXE
= 1;
}

//////////////////////////////////////////////
// Views available from the guest unit itself.
message
ViewsFromUnit {
 
// View of beach.
  oneof view_of_beach_oneof
{
   
bool view_of_beach = 2;
   
Exception view_of_beach_exception = 3;
 
}

 
// View of city.
  oneof view_of_city_oneof
{
   
bool view_of_city = 4;
   
Exception view_of_city_exception = 5;
 
}

 
// View of garden.
  oneof view_of_garden_oneof
{
   
bool view_of_garden = 6;
   
Exception view_of_garden_exception = 7;
 
}

 
// View of lake.
  oneof view_of_lake_oneof
{
   
bool view_of_lake = 8;
   
Exception view_of_lake_exception = 9;
 
}

 
// View of landmark.
  oneof view_of_landmark_oneof
{
   
bool view_of_landmark = 10;
   
Exception view_of_landmark_exception = 11;
 
}

 
// View of ocean.
  oneof view_of_ocean_oneof
{
   
bool view_of_ocean = 12;
   
Exception view_of_ocean_exception = 13;
 
}

 
// View of pool.
  oneof view_of_pool_oneof
{
   
bool view_of_pool = 14;
   
Exception view_of_pool_exception = 15;
 
}

 
// View of valley.
  oneof view_of_valley_oneof
{
   
bool view_of_valley = 16;
   
Exception view_of_valley_exception = 17;
 
}
}

// An individual room, such as kitchen, bathroom, bedroom, within
// a bookable guest unit.
message
LivingArea {
 
LivingAreaLayout layout = 100;
 
LivingAreaFeatures features = 101;
 
LivingAreaEating eating = 102;
 
LivingAreaSleeping sleeping = 103;
 
LivingAreaAccessibility accessibility = 104;
}

message
LivingAreaLayout {
 
// Living area sq meters.
  oneof living_area_sq_meters_oneof
{
   
float living_area_sq_meters = 2;
   
Exception living_area_sq_meters_exception = 3;
 
}

 
// Stairs inside the LivingArea.
  oneof stairs_oneof
{
   
bool stairs = 4;
   
Exception stairs_exception = 5;
 
}

 
// Loft.
  oneof loft_oneof
{
   
bool loft = 6;
   
Exception loft_exception = 7;
 
}

 
// Non smoking.
  oneof non_smoking_oneof
{
   
bool non_smoking = 12;
   
Exception non_smoking_exception = 13;
 
}

 
// Patio.
  oneof patio_oneof
{
   
// Has a patio or deck, ground or rooftop.
   
bool patio = 16;
   
Exception patio_exception = 17;
 
}

 
// Balcony.
  oneof balcony_oneof
{
   
// Has a balcony or lanai.
   
bool balcony = 18;
   
Exception balcony_exception = 19;
 
}
}

message
LivingAreaFeatures {
 
/////////////////////
 
// Bathroom features.

 
// Private bathroom.
  oneof private_bathroom_oneof
{
   
// Not shared with other guests.
   
bool private_bathroom = 2;
   
Exception private_bathroom_exception = 3;
 
}

 
// Toilet.
  oneof toilet_oneof
{
   
bool toilet = 4;
   
Exception toilet_exception = 5;
 
}

 
// Bidet.
  oneof bidet_oneof
{
   
bool bidet = 6;
   
Exception bidet_exception = 7;
 
}

 
// Shower.
  oneof shower_oneof
{
   
bool shower = 8;
   
Exception shower_exception = 9;
 
}

 
// Bathtub.
  oneof bathtub_oneof
{
   
bool bathtub = 12;
   
Exception bathtub_exception = 13;
 
}

 
// Hairdryer.
  oneof hairdryer_oneof
{
   
bool hairdryer = 14;
   
Exception hairdryer_exception = 15;
 
}

 
///////////////
 
// Convenience.

 
// Washer.
  oneof washer_oneof
{
   
bool washer = 64;
   
Exception washer_exception = 65;
 
}

 
// Dryer.
  oneof dryer_oneof
{
   
bool dryer = 66;
   
Exception dryer_exception = 67;
 
}

 
// Ironing equipment.
  oneof ironing_equipment_oneof
{
   
bool ironing_equipment = 28;
   
Exception ironing_equipment_exception = 29;
 
}

 
// Universal power adapters.
  oneof universal_power_adapters_oneof
{
   
bool universal_power_adapters = 30;
   
Exception universal_power_adapters_exception = 31;
 
}

 
///////////
 
// Comfort.

 
// Air conditioning.
  oneof air_conditioning_oneof
{
   
bool air_conditioning = 32;
   
Exception air_conditioning_exception = 33;
 
}

 
// Heating.
  oneof heating_oneof
{
   
bool heating = 34;
   
Exception heating_exception = 35;
 
}

 
// Fireplace.
  oneof fireplace_oneof
{
   
bool fireplace = 36;
   
Exception fireplace_exception = 37;
 
}

 
/////////////////
 
// Entertainment.

 
// TV available.
  oneof tv_oneof
{
   
bool tv = 38;
   
Exception tv_exception = 39;
 
}

 
// TV with casting.
  oneof tv_with_casting_oneof
{
   
// Chromecast, Apple TV, etc.
   
bool tv_with_casting = 40;
   
Exception tv_with_casting_exception = 41;
 
}

 
// TV with streaming.
  oneof tv_with_streaming_oneof
{
   
// Built in Netflix, Hulu, etc.
   
bool tv_with_streaming = 42;
   
Exception tv_with_streaming_exception = 43;
 
}

 
// Pay per view movies.
  oneof pay_per_view_movies_oneof
{
   
bool pay_per_view_movies = 44;
   
Exception pay_per_view_movies_exception = 45;
 
}

 
////////////
 
// Security.

 
// In unit safe.
  oneof in_unit_safe_oneof
{
   
bool in_unit_safe = 48;
   
Exception in_unit_safe_exception = 49;
 
}

 
// Electronic room key.
  oneof electronic_room_key_oneof
{
   
bool electronic_room_key = 50;
   
Exception electronic_room_key_exception = 51;
 
}

 
///////////////
 
// Connectivity

 
// In unit Wifi available.
  oneof in_unit_wifi_available_oneof
{
   
bool in_unit_wifi_available = 62;
   
Exception in_unit_wifi_available_exception = 63;
 
}
}

message
LivingAreaEating {
 
// Kitchen available in unit.
  oneof kitchen_available_oneof
{
   
bool kitchen_available = 2;
   
Exception kitchen_available_exception = 3;
 
}

 
/////////////////////////
 
// Major kitchen features.

 
// Refrigerator.
  oneof refrigerator_oneof
{
   
bool refrigerator = 4;
   
Exception refrigerator_exception = 5;
 
}

 
// Dishwasher.
  oneof dishwasher_oneof
{
   
bool dishwasher = 6;
   
Exception dishwasher_exception = 7;
 
}

 
// Stove.
  oneof stove_oneof
{
   
bool stove = 8;
   
Exception stove_exception = 9;
 
}

 
// Oven.
  oneof oven_oneof
{
   
bool oven = 10;
   
Exception oven_exception = 11;
 
}

 
//////////////////////////
 
// Minor kitchen features.

 
// Cookware.
  oneof cookware_oneof
{
   
bool cookware = 12;
   
Exception cookware_exception = 13;
 
}

 
// Sink.
  oneof sink_oneof
{
   
bool sink = 14;
   
Exception sink_exception = 15;
 
}

 
// Microwave.
  oneof microwave_oneof
{
   
bool microwave = 16;
   
Exception microwave_exception = 17;
 
}

 
// Toaster.
  oneof toaster_oneof
{
   
bool toaster = 18;
   
Exception toaster_exception = 19;
 
}

 
// Indoor grill.
  oneof indoor_grill_oneof
{
   
bool indoor_grill = 22;
   
Exception indoor_grill_exception = 23;
 
}

 
// Outdoor grill.
  oneof outdoor_grill_oneof
{
   
bool outdoor_grill = 24;
   
Exception outdoor_grill_exception = 25;
 
}

 
//////////////////////////////
 
// In-unit food and beverages.

 
// Minibar.
  oneof minibar_oneof
{
   
bool minibar = 34;
   
Exception minibar_exception = 35;
 
}

 
// Snackbar.
  oneof snackbar_oneof
{
   
bool snackbar = 36;
   
Exception snackbar_exception = 37;
 
}

 
// Coffee maker.
  oneof coffee_maker_oneof
{
   
bool coffee_maker = 42;
   
Exception coffee_maker_exception = 43;
 
}

 
// Kettle.
  oneof kettle_oneof
{
   
bool kettle = 48;
   
Exception kettle_exception = 49;
 
}

 
// Tea station.
  oneof tea_station_oneof
{
   
bool tea_station = 50;
   
Exception tea_station_exception = 51;
 
}
}

message
LivingAreaSleeping {
 
////////////////////
 
// Bed types counts.

 
// Number of beds.
  oneof number_of_beds_oneof
{
    int32 number_of_beds
= 2;
   
Exception number_of_beds_exception = 3;
 
}

 
// King beds.
  oneof king_beds_oneof
{
   
// Including California king and super king.
    int32 king_beds
= 4;
   
Exception king_beds_exception = 5;
 
}

 
// Queen beds.
  oneof queen_beds_oneof
{
    int32 queen_beds
= 6;
   
Exception queen_beds_exception = 7;
 
}

 
// Double beds.
  oneof double_beds_oneof
{
    int32 double_beds
= 8;
   
Exception double_beds_exception = 9;
 
}

 
// Single or twin beds.
  oneof single_or_twin_beds_oneof
{
    int32 single_or_twin_beds
= 10;
   
Exception single_or_twin_beds_exception = 11;
 
}

 
// Sofa beds.
  oneof sofa_beds_oneof
{
    int32 sofa_beds
= 14;
   
Exception sofa_beds_exception = 15;
 
}

 
// Bunk beds.
  oneof bunk_beds_oneof
{
    int32 bunk_beds
= 16;
   
Exception bunk_beds_exception = 17;
 
}

 
// Other beds.
  oneof other_beds_oneof
{
   
// Tatami, trundle, etc.
    int32 other_beds
= 18;
   
Exception other_beds_exception = 19;
 
}

 
// Roll away beds available.
 
// This field is deprecated. Please use field roll_away_bed_count for the
 
// number of roll away beds. Otherwise, just use field roll_away_beds for the
 
// existence of roll away beds.
  oneof roll_away_beds_available_oneof
{
    int32 roll_away_beds_available
= 20 [deprecated = true];

   
Exception roll_away_beds_available_exception = 21 [deprecated = true];
 
}

 
// Roll away beds.
  oneof roll_away_beds_oneof
{
   
bool roll_away_beds = 40;
   
Exception roll_away_beds_exception = 41;
 
}

 
// Roll away bed count.
  oneof roll_away_bed_count_oneof
{
    int32 roll_away_bed_count
= 42;
   
Exception roll_away_bed_count_exception = 43;
 
}

 
// Cribs available.
 
// This field is deprecated. Please use field crib_count for the number of
 
// cribs. Otherwise, just use field cribs for the existence of cribs.
  oneof cribs_available_oneof
{
    int32 cribs_available
= 22 [deprecated = true];

   
Exception cribs_available_exception = 23 [deprecated = true];
 
}

 
// Cribs.
  oneof cribs_oneof
{
   
bool cribs = 44;
   
Exception cribs_exception = 45;
 
}

 
// Crib count.
  oneof crib_count_oneof
{
    int32 crib_count
= 46;
   
Exception crib_count_exception = 47;
 
}

 
////////////
 
// Sleeping.

 
// Hypoallergenic bedding.
  oneof hypoallergenic_bedding_oneof
{
   
bool hypoallergenic_bedding = 28;
   
Exception hypoallergenic_bedding_exception = 29;
 
}

 
// Synthetic pillows.
  oneof synthetic_pillows_oneof
{
   
bool synthetic_pillows = 32;
   
Exception synthetic_pillows_exception = 33;
 
}

 
// Memory foam pillows available.
  oneof memory_foam_pillows_oneof
{
   
bool memory_foam_pillows = 34;
   
Exception memory_foam_pillows_exception = 35;
 
}

 
// Feather pillows available.
  oneof feather_pillows_oneof
{
   
bool feather_pillows = 36;
   
Exception feather_pillows_exception = 37;
 
}
}

message
LivingAreaAccessibility {
 
// Mobility-accessible unit. Generally what "accessible room" refers to in
 
// public lodging offerings.
  oneof mobility_accessible_unit_oneof
{
   
// True if ada_compliant_unit.
   
bool mobility_accessible_unit = 2;
   
Exception mobility_accessible_unit_exception = 3;
 
}

 
// ADA standards compliant unit.
  oneof ada_compliant_unit_oneof
{
   
bool ada_compliant_unit = 4;
   
Exception ada_compliant_unit_exception = 5;
 
}

 
// Hearing-accessible unit.
  oneof hearing_accessible_unit_oneof
{
   
bool hearing_accessible_unit = 6;
   
Exception hearing_accessible_unit_exception = 7;
 
}

 
////////////////////////////////
 
// Mobility-accessible features.

 
// Mobility-accessible shower.
  oneof mobility_accessible_shower_oneof
{
   
bool mobility_accessible_shower = 10;
   
Exception mobility_accessible_shower_exception = 11;
 
}

 
// Mobility-accessible bathtub.
  oneof mobility_accessible_bathtub_oneof
{
   
bool mobility_accessible_bathtub = 12;
   
Exception mobility_accessible_bathtub_exception = 13;
 
}

 
// Mobility-accessible toilet.
  oneof mobility_accessible_toilet_oneof
{
   
bool mobility_accessible_toilet = 14;
   
Exception mobility_accessible_toilet_exception = 15;
 
}

 
//////////////////////////////////
 
// Hearing-accessible features.

 
// Hearing-accessible doorbell.
  oneof hearing_accessible_doorbell_oneof
{
   
bool hearing_accessible_doorbell = 30;
   
Exception hearing_accessible_doorbell_exception = 31;
 
}

 
// Hearing-accessible fire_alarm.
  oneof hearing_accessible_fire_alarm_oneof
{
   
bool hearing_accessible_fire_alarm = 32;
   
Exception hearing_accessible_fire_alarm_exception = 33;
 
}
}

message
HealthAndSafety {
 
// Website URL containing Health & Safety measures provided by the hotel.
  oneof learn_more_uri_oneof
{
   
string learn_more_uri = 2;
   
Exception learn_more_uri_exception = 3;
 
}

 
EnhancedCleaning enhanced_cleaning = 5;
 
IncreasedFoodSafety increased_food_safety = 6;
 
MinimizedContact minimized_contact = 7;
 
PersonalProtection personal_protection = 8;
 
PhysicalDistancing physical_distancing = 9;

  reserved
4;  // multi-language support for "learn more" URL.
}

message
EnhancedCleaning {
 
// Enhanced cleaning of common areas.
  oneof common_areas_enhanced_cleaning_oneof
{
   
bool common_areas_enhanced_cleaning = 2;
   
Exception common_areas_enhanced_cleaning_exception = 3;
 
}

 
// Enhanced cleaning of guest rooms.
  oneof guest_rooms_enhanced_cleaning_oneof
{
   
bool guest_rooms_enhanced_cleaning = 4;
   
Exception guest_rooms_enhanced_cleaning_exception = 5;
 
}

 
// Commercial-grade disinfectant used to clean the property.
  oneof commercial_grade_disinfectant_cleaning_oneof
{
   
bool commercial_grade_disinfectant_cleaning = 6;
   
Exception commercial_grade_disinfectant_cleaning_exception = 7;
 
}

 
// Employees trained in COVID-19 cleaning procedures.
  oneof employees_trained_cleaning_procedures_oneof
{
   
bool employees_trained_cleaning_procedures = 8;
   
Exception employees_trained_cleaning_procedures_exception = 9;
 
}

 
// Employees trained in thorough hand-washing.
  oneof employees_trained_hand_washing_protocols_oneof
{
   
bool employees_trained_hand_washing_protocols = 10;
   
Exception employees_trained_hand_washing_protocols_exception = 11;
 
}

 
// Employees wear masks, face shields, and/or gloves.
  oneof employees_wear_protective_equipment_oneof
{
   
bool employees_wear_protective_equipment = 12;
   
Exception employees_wear_protective_equipment_exception = 13;
 
}
}

message
IncreasedFoodSafety {
 
// Additional safety measures during food prep and serving.
  oneof food_preparation_and_serving_safe_handling_oneof
{
   
bool food_preparation_and_serving_safe_handling = 2;
   
Exception food_preparation_and_serving_safe_handling_exception = 3;
 
}

 
// Additional sanitation in dining areas.
  oneof food_areas_additional_sanitation_oneof
{
   
bool food_areas_additional_sanitation = 4;
   
Exception food_areas_additional_sanitation_exception = 5;
 
}

 
// Individually-packaged meals.
  oneof individual_packaged_meals_available_oneof
{
   
bool individual_packaged_meals_available = 6;
   
Exception individual_packaged_meals_available_exception = 7;
 
}

 
// Disposable flatware.
  oneof disposable_flatware_oneof
{
   
bool disposable_flatware = 8;
   
Exception disposable_flatware_exception = 9;
 
}

 
// Single-use menus.
  oneof single_use_food_menus_oneof
{
   
bool single_use_food_menus = 10;
   
Exception single_use_food_menus_exception = 11;
 
}
}

message
MinimizedContact {
 
// High-touch items, such as magazines, removed from common areas.
  oneof no_high_touch_items_common_areas_oneof
{
   
bool no_high_touch_items_common_areas = 2;
   
Exception no_high_touch_items_common_areas_exception = 3;
 
}

 
// High-touch items, such as decorative pillows, removed from guest rooms.
  oneof no_high_touch_items_guest_rooms_oneof
{
   
bool no_high_touch_items_guest_rooms = 4;
   
Exception no_high_touch_items_guest_rooms_exception = 5;
 
}

 
// Keyless mobile entry to guest rooms.
  oneof digital_guest_room_keys_oneof
{
   
bool digital_guest_room_keys = 6;
   
Exception digital_guest_room_keys_exception = 7;
 
}

 
// Plastic key cards are disinfected or discarded.
  oneof plastic_keycards_disinfected_oneof
{
   
bool plastic_keycards_disinfected = 8;
   
Exception plastic_keycards_disinfected_exception = 9;
 
}

 
// Buffer maintained between room bookings.
  oneof room_bookings_buffer_oneof
{
   
bool room_bookings_buffer = 10;
   
Exception room_bookings_buffer_exception = 11;
 
}

 
// Housekeeping scheduled by request only.
  oneof housekeeping_scheduled_request_only_oneof
{
   
bool housekeeping_scheduled_request_only = 12;
   
Exception housekeeping_scheduled_request_only_exception = 13;
 
}

 
// No-contact check-in and check-out.
  oneof contactless_checkin_checkout_oneof
{
   
bool contactless_checkin_checkout = 14;
   
Exception contactless_checkin_checkout_exception = 15;
 
}
}

message
PersonalProtection {
 
// Hand-sanitizer and/or sanitizing wipes in common areas.
  oneof common_areas_offer_sanitizing_items_oneof
{
   
bool common_areas_offer_sanitizing_items = 2;
   
Exception common_areas_offer_sanitizing_items_exception = 3;
 
}

 
// In-room hygiene kits with masks, hand sanitizer, and/or antibacterial
 
// wipes.
  oneof guest_room_hygiene_kits_available_oneof
{
   
bool guest_room_hygiene_kits_available = 4;
   
Exception guest_room_hygiene_kits_available_exception = 5;
 
}

 
// Masks and/or gloves available for guests.
  oneof protective_equipment_available_oneof
{
   
bool protective_equipment_available = 6;
   
Exception protective_equipment_available_exception = 7;
 
}

 
// Masks required on the property.
  oneof face_mask_required_oneof
{
   
bool face_mask_required = 8;
   
Exception face_mask_required_exception = 9;
 
}
}

message
PhysicalDistancing {
 
// Physical distancing required.
  oneof physical_distancing_required_oneof
{
   
bool physical_distancing_required = 2;
   
Exception physical_distancing_required_exception = 3;
 
}

 
// Safety dividers at front desk and other locations.
  oneof plexiglass_used_oneof
{
   
bool plexiglass_used = 4;
   
Exception plexiglass_used_exception = 5;
 
}

 
// Guest occupancy limited within shared facilities.
  oneof shared_areas_limited_occupancy_oneof
{
   
bool shared_areas_limited_occupancy = 6;
   
Exception shared_areas_limited_occupancy_exception = 7;
 
}

 
// Private spaces designated in spa and wellness areas.
  oneof wellness_areas_have_private_spaces_oneof
{
   
bool wellness_areas_have_private_spaces = 8;
   
Exception wellness_areas_have_private_spaces_exception = 9;
 
}

 
// Common areas arranged to maintain physical distancing.
  oneof common_areas_physical_distancing_arranged_oneof
{
   
bool common_areas_physical_distancing_arranged = 10;
   
Exception common_areas_physical_distancing_arranged_exception = 11;
 
}
}

message
Sustainability {
 
// Website URL containing sustainability information for the hotel.
  oneof sustainability_uri_oneof
{
   
string sustainability_uri = 2;
   
Exception sustainability_uri_exception = 3;
 
}

 
EnergyEfficiency energy_efficiency = 5;
 
WaterConservation water_conservation = 6;
 
WasteReduction waste_reduction = 7;
 
SustainableSourcing sustainable_sourcing = 8;
 
SustainabilityCertifications sustainability_certifications = 9;

  reserved
4;  // multi-language support for sustainability_uri.
}

message
EnergyEfficiency {
 
// Energy conservation program.
  oneof energy_conservation_program_oneof
{
   
bool energy_conservation_program = 4;
   
Exception energy_conservation_program_exception = 5;
 
}

 
// Energy use audited by an independent organization.
  oneof independent_organization_audits_energy_use_oneof
{
   
bool independent_organization_audits_energy_use = 6;
   
Exception independent_organization_audits_energy_use_exception = 7;
 
}

 
// Energy from carbon-free sources.
  oneof carbon_free_energy_sources_oneof
{
   
bool carbon_free_energy_sources = 8;
   
Exception carbon_free_energy_sources_exception = 9;
 
}

 
// Energy-efficient heating and cooling systems.
  oneof energy_efficient_heating_and_cooling_systems_oneof
{
   
bool energy_efficient_heating_and_cooling_systems = 10;
   
Exception energy_efficient_heating_and_cooling_systems_exception = 11;
 
}

 
// Energy-efficient lighting.
  oneof energy_efficient_lighting_oneof
{
   
bool energy_efficient_lighting = 12;
   
Exception energy_efficient_lighting_exception = 13;
 
}

 
// Energy-saving thermostats.
  oneof energy_saving_thermostats_oneof
{
   
bool energy_saving_thermostats = 14;
   
Exception energy_saving_thermostats_exception = 15;
 
}
}

message
WaterConservation {
 
// Water use audited by an independent organization.
  oneof independent_organization_audits_water_use_oneof
{
   
bool independent_organization_audits_water_use = 2;
   
Exception independent_organization_audits_water_use_exception = 3;
 
}

 
// Water-efficient faucets.
  oneof water_saving_sinks_oneof
{
   
bool water_saving_sinks = 4;
   
Exception water_saving_sinks_exception = 5;
 
}

 
// Water-efficient toilets.
  oneof water_saving_toilets_oneof
{
   
bool water_saving_toilets = 6;
   
Exception water_saving_toilets_exception = 7;
 
}

 
// Water-efficient showers.
  oneof water_saving_showers_oneof
{
   
bool water_saving_showers = 8;
   
Exception water_saving_showers_exception = 9;
 
}

 
// Towel reuse program.
  oneof towel_reuse_program_oneof
{
   
bool towel_reuse_program = 10;
   
Exception towel_reuse_program_exception = 11;
 
}

 
// Linen reuse program.
  oneof linen_reuse_program_oneof
{
   
bool linen_reuse_program = 12;
   
Exception linen_reuse_program_exception = 13;
 
}
}

message
WasteReduction {
 
// Recycling program.
  oneof recycling_program_oneof
{
   
bool recycling_program = 2;
   
Exception recycling_program_exception = 3;
 
}

 
// Food waste reduction program.
  oneof food_waste_reduction_program_oneof
{
   
bool food_waste_reduction_program = 4;
   
Exception food_waste_reduction_program_exception = 5;
 
}

 
// Donates excess food.
  oneof donates_excess_food_oneof
{
   
bool donates_excess_food = 6;
   
Exception donates_excess_food_exception = 7;
 
}

 
// Composts excess food.
  oneof composts_excess_food_oneof
{
   
bool composts_excess_food = 8;
   
Exception composts_excess_food_exception = 9;
 
}

 
// Soap donation program.
  oneof soap_donation_program_oneof
{
   
bool soap_donation_program = 10;
   
Exception soap_donation_program_exception = 11;
 
}

 
// Toiletry donation program.
  oneof toiletry_donation_program_oneof
{
   
bool toiletry_donation_program = 12;
   
Exception toiletry_donation_program_exception = 13;
 
}

 
// Safely handles hazardous substances.
  oneof safely_handles_hazardous_substances_oneof
{
   
bool safely_handles_hazardous_substances = 14;
   
Exception safely_handles_hazardous_substances_exception = 15;
 
}

 
// Safely disposes of electronics.
  oneof safely_disposes_electronics_oneof
{
   
bool safely_disposes_electronics = 16;
   
Exception safely_disposes_electronics_exception = 17;
 
}

 
// Safely disposes of batteries.
  oneof safely_disposes_batteries_oneof
{
   
bool safely_disposes_batteries = 18;
   
Exception safely_disposes_batteries_exception = 19;
 
}

 
// Safely disposes of lightbulbs.
  oneof safely_disposes_lightbulbs_oneof
{
   
bool safely_disposes_lightbulbs = 20;
   
Exception safely_disposes_lightbulbs_exception = 21;
 
}

 
// Refillable toiletry containers.
  oneof refillable_toiletry_containers_oneof
{
   
bool refillable_toiletry_containers = 22;
   
Exception refillable_toiletry_containers_exception = 23;
 
}

 
// Water bottle filling stations.
  oneof water_bottle_filling_stations_oneof
{
   
bool water_bottle_filling_stations = 24;
   
Exception water_bottle_filling_stations_exception = 25;
 
}

 
// Compostable food containers and cutlery.
  oneof compostable_food_containers_and_cutlery_oneof
{
   
bool compostable_food_containers_and_cutlery = 26;
   
Exception compostable_food_containers_and_cutlery_exception = 27;
 
}

 
// No Styrofoam food containers.
  oneof no_styrofoam_food_containers_oneof
{
   
bool no_styrofoam_food_containers = 28;
   
Exception no_styrofoam_food_containers_exception = 29;
 
}

 
// No single-use plastic water bottles.
  oneof no_single_use_plastic_water_bottles_oneof
{
   
bool no_single_use_plastic_water_bottles = 30;
   
Exception no_single_use_plastic_water_bottles_exception = 31;
 
}

 
// No single-use plastic straws.
  oneof no_single_use_plastic_straws_oneof
{
   
bool no_single_use_plastic_straws = 32;
   
Exception no_single_use_plastic_straws_exception = 33;
 
}
}

message
SustainableSourcing {
 
// Responsible purchasing policy.
  oneof responsible_purchasing_policy_oneof
{
   
bool responsible_purchasing_policy = 2;
   
Exception responsible_purchasing_policy_exception = 3;
 
}

 
// Organic food and beverages.
  oneof organic_food_and_beverages_oneof
{
   
bool organic_food_and_beverages = 4;
   
Exception organic_food_and_beverages_exception = 5;
 
}

 
// Locally sourced food and beverages.
  oneof locally_sourced_food_and_beverages_oneof
{
   
bool locally_sourced_food_and_beverages = 6;
   
Exception locally_sourced_food_and_beverages_exception = 7;
 
}

 
// Responsibly sourced seafood.
  oneof responsibly_sources_seafood_oneof
{
   
bool responsibly_sources_seafood = 8;
   
Exception responsibly_sources_seafood_exception = 9;
 
}

 
// Organic cage-free eggs.
  oneof organic_cage_free_eggs_oneof
{
   
bool organic_cage_free_eggs = 10;
   
Exception organic_cage_free_eggs_exception = 11;
 
}

 
// Vegetarian meals.
  oneof vegetarian_meals_oneof
{
   
bool vegetarian_meals = 12;
   
Exception vegetarian_meals_exception = 13;
 
}

 
// Vegan meals.
  oneof vegan_meals_oneof
{
   
bool vegan_meals = 14;
   
Exception vegan_meals_exception = 15;
 
}

 
// Eco-friendly toiletries.
  oneof eco_friendly_toiletries_oneof
{
   
bool eco_friendly_toiletries = 16;
   
Exception eco_friendly_toiletries_exception = 17;
 
}
}

message
SustainabilityCertifications {
 
// Actively Green: Bronze.
  oneof actively_green_bronze_oneof
{
   
bool actively_green_bronze = 106;
   
Exception actively_green_bronze_exception = 107;
 
}

 
// Actively Green: Silver.
  oneof actively_green_silver_oneof
{
   
bool actively_green_silver = 108;
   
Exception actively_green_silver_exception = 109;
 
}

 
// Actively Green: Gold.
  oneof actively_green_gold_oneof
{
   
bool actively_green_gold = 110;
   
Exception actively_green_gold_exception = 111;
 
}

 
// ARC360: Ambassador.
  oneof arc360_ambassador_oneof
{
   
bool arc360_ambassador = 364;
   
Exception arc360_ambassador_exception = 365;
 
}

 
// Asian Ecotourism Standard for Accommodations (AESA).
  oneof asian_ecotourism_oneof
{
   
bool asian_ecotourism = 24;
   
Exception asian_ecotourism_exception = 25;
 
}

 
// Austrian Ecolabel.
  oneof austrian_ecolabel_oneof
{
   
bool austrian_ecolabel = 112;
   
Exception austrian_ecolabel_exception = 113;
 
}

 
// Beyond Green.
  oneof beyond_green_oneof
{
   
bool beyond_green = 346;
   
Exception beyond_green_exception = 347;
 
}

 
// Bioscore Sustainable: C.
  oneof bioscore_sustainable_c_oneof
{
   
bool bioscore_sustainable_c = 116;
   
Exception bioscore_sustainable_c_exception = 117;
 
}

 
// Bioscore Sustainable: B.
  oneof bioscore_sustainable_b_oneof
{
   
bool bioscore_sustainable_b = 118;
   
Exception bioscore_sustainable_b_exception = 119;
 
}

 
// Bioscore Sustainable: A.
  oneof bioscore_sustainable_a_oneof
{
   
bool bioscore_sustainable_a = 120;
   
Exception bioscore_sustainable_a_exception = 121;
 
}

 
// Bioscore Sustainable: A+.
  oneof bioscore_sustainable_a_plus_oneof
{
   
bool bioscore_sustainable_a_plus = 122;
   
Exception bioscore_sustainable_a_plus_exception = 123;
 
}

 
// Biosphere Responsible Tourism Standard.
  oneof biosphere_responsible_tourism_oneof
{
   
bool biosphere_responsible_tourism = 26;
   
Exception biosphere_responsible_tourism_exception = 27;
 
}

 
// Bio Hotels.
  oneof bio_hotels_oneof
{
   
bool bio_hotels = 342;
   
Exception bio_hotels_exception = 343;
 
}

 
// BREEAM: Pass.
  oneof breeam_pass_oneof
{
   
bool breeam_pass = 2;
   
Exception breeam_pass_exception = 3;
 
}

 
// BREEAM: Good.
  oneof breeam_good_oneof
{
   
bool breeam_good = 4;
   
Exception breeam_good_exception = 5;
 
}

 
// BREEAM: Very Good.
  oneof breeam_very_good_oneof
{
   
bool breeam_very_good = 6;
   
Exception breeam_very_good_exception = 7;
 
}

 
// BREEAM: Excellent.
  oneof breeam_excellent_oneof
{
   
bool breeam_excellent = 8;
   
Exception breeam_excellent_exception = 9;
 
}

 
// BREEAM: Outstanding.
  oneof breeam_outstanding_oneof
{
   
bool breeam_outstanding = 10;
   
Exception breeam_outstanding_exception = 11;
 
}

 
// Bureau Veritas.
 
// This field is deprecated. The certification is now covered by
 
// `gstc_criteria` and `turkiye_sustainable_tourism_program`.
  oneof bureau_veritas_oneof
{
   
bool bureau_veritas = 28 [deprecated = true];
   
Exception bureau_veritas_exception = 29 [deprecated = true];
 
}

 
// CENIA EFS (Environmentally Friendly Service).
  oneof cenia_efs_oneof
{
   
bool cenia_efs = 124;
   
Exception cenia_efs_exception = 125;
 
}

 
// Certified Green Hotel: Good.
  oneof certified_green_hotel_good_oneof
{
   
bool certified_green_hotel_good = 128;
   
Exception certified_green_hotel_good_exception = 129;
 
}

 
// Certified Green Hotel: Very Good.
  oneof certified_green_hotel_very_good_oneof
{
   
bool certified_green_hotel_very_good = 130;
   
Exception certified_green_hotel_very_good_exception = 131;
 
}

 
// Certified Green Hotel: Excellent.
  oneof certified_green_hotel_excellent_oneof
{
   
bool certified_green_hotel_excellent = 132;
   
Exception certified_green_hotel_excellent_exception = 133;
 
}

 
// Control Union (GSTC Criteria).
 
// This field is deprecated. The certification is now covered by
 
// `gstc_criteria` and `turkiye_sustainable_tourism_program`.
  oneof control_union_oneof
{
   
bool control_union = 30 [deprecated = true];
   
Exception control_union_exception = 31 [deprecated = true];
 
}

 
// Costa Rica Certification for Sustainable Tourism (CST): Basico.
  oneof costa_rica_sustainable_tourism_basico_oneof
{
   
bool costa_rica_sustainable_tourism_basico = 136;
   
Exception costa_rica_sustainable_tourism_basico_exception = 137;
 
}

 
// Costa Rica Certification for Sustainable Tourism (CST): Elite.
  oneof costa_rica_sustainable_tourism_elite_oneof
{
   
bool costa_rica_sustainable_tourism_elite = 138;
   
Exception costa_rica_sustainable_tourism_elite_exception = 139;
 
}

 
// DCA ESG: Sustainable.
  oneof dca_esg_sustainable_oneof
{
   
bool dca_esg_sustainable = 142;
   
Exception dca_esg_sustainable_exception = 143;
 
}

 
// DCA ESG: Sustainable: L.
  oneof dca_esg_sustainable_l_oneof
{
   
bool dca_esg_sustainable_l = 144;
   
Exception dca_esg_sustainable_l_exception = 145;
 
}

 
// DEHOGA Umweltcheck: Bronze.
  oneof dehoga_umweltcheck_bronze_oneof
{
   
bool dehoga_umweltcheck_bronze = 148;
   
Exception dehoga_umweltcheck_bronze_exception = 149;
 
}

 
// DEHOGA Umweltcheck: Silver.
  oneof dehoga_umweltcheck_silver_oneof
{
   
bool dehoga_umweltcheck_silver = 150;
   
Exception dehoga_umweltcheck_silver_exception = 151;
 
}

 
// DEHOGA Umweltcheck: Gold.
  oneof dehoga_umweltcheck_gold_oneof
{
   
bool dehoga_umweltcheck_gold = 152;
   
Exception dehoga_umweltcheck_gold_exception = 153;
 
}

 
// EarthCheck: Silver.
  oneof earthcheck_silver_oneof
{
   
bool earthcheck_silver = 154;
   
Exception earthcheck_silver_exception = 155;
 
}

 
// EarthCheck: Gold.
  oneof earthcheck_gold_oneof
{
   
bool earthcheck_gold = 156;
   
Exception earthcheck_gold_exception = 157;
 
}

 
// EarthCheck: Platinum.
  oneof earthcheck_platinum_oneof
{
   
bool earthcheck_platinum = 158;
   
Exception earthcheck_platinum_exception = 159;
 
}

 
// EarthCheck: Master.
  oneof earthcheck_master_oneof
{
   
bool earthcheck_master = 160;
   
Exception earthcheck_master_exception = 161;
 
}

 
// ECOSmart.
  oneof ecosmart_oneof
{
   
bool ecosmart = 340;
   
Exception ecosmart_exception = 341;
 
}

 
// Eco-Certification Malta Standard.
  oneof eco_certification_malta_oneof
{
   
bool eco_certification_malta = 34;
   
Exception eco_certification_malta_exception = 35;
 
}

 
// Ecostars: 1 Ecostar.
  oneof ecostars_level1_oneof
{
   
bool ecostars_level1 = 164;
   
Exception ecostars_level1_exception = 165;
 
}

 
// Ecostars: 2 Ecostars.
  oneof ecostars_level2_oneof
{
   
bool ecostars_level2 = 166;
   
Exception ecostars_level2_exception = 167;
 
}

 
// Ecostars: 3 Ecostars.
  oneof ecostars_level3_oneof
{
   
bool ecostars_level3 = 168;
   
Exception ecostars_level3_exception = 169;
 
}

 
// Ecostars: 4 Ecostars.
  oneof ecostars_level4_oneof
{
   
bool ecostars_level4 = 170;
   
Exception ecostars_level4_exception = 171;
 
}

 
// Ecostars: 5 Ecostars.
  oneof ecostars_level5_oneof
{
   
bool ecostars_level5 = 172;
   
Exception ecostars_level5_exception = 173;
 
}

 
// Ecotourism Australia ECO Certification Standard: Ecotourism.
  oneof ecotourism_australia_ecotourism_oneof
{
   
bool ecotourism_australia_ecotourism = 176;
   
Exception ecotourism_australia_ecotourism_exception = 177;
 
}

 
// Ecotourism Australia ECO Certification Standard: EcotourismAdvanced.
  oneof ecotourism_australia_ecotourism_advanced_oneof
{
   
bool ecotourism_australia_ecotourism_advanced = 178;
   
Exception ecotourism_australia_ecotourism_advanced_exception = 179;
 
}

 
// Ecotourism Kenya Eco-rating Certification Scheme: Bronze.
  oneof ecotourism_kenya_eco_rating_bronze_oneof
{
   
bool ecotourism_kenya_eco_rating_bronze = 182;
   
Exception ecotourism_kenya_eco_rating_bronze_exception = 183;
 
}

 
// Ecotourism Kenya Eco-rating Certification Scheme: Silver.
  oneof ecotourism_kenya_eco_rating_silver_oneof
{
   
bool ecotourism_kenya_eco_rating_silver = 184;
   
Exception ecotourism_kenya_eco_rating_silver_exception = 185;
 
}

 
// Ecotourism Kenya Eco-rating Certification Scheme: Gold.
  oneof ecotourism_kenya_eco_rating_gold_oneof
{
   
bool ecotourism_kenya_eco_rating_gold = 186;
   
Exception ecotourism_kenya_eco_rating_gold_exception = 187;
 
}

 
// Ecoworldhotel: 1 Eco-Leaf.
  oneof ecoworldhotel_level1_oneof
{
   
bool ecoworldhotel_level1 = 352;
   
Exception ecoworldhotel_level1_exception = 353;
 
}

 
// Ecoworldhotel: 2 Eco-Leaves.
  oneof ecoworldhotel_level2_oneof
{
   
bool ecoworldhotel_level2 = 354;
   
Exception ecoworldhotel_level2_exception = 355;
 
}

 
// Ecoworldhotel: 3 Eco-Leaves.
  oneof ecoworldhotel_level3_oneof
{
   
bool ecoworldhotel_level3 = 356;
   
Exception ecoworldhotel_level3_exception = 357;
 
}

 
// Ecoworldhotel: 4 Eco-Leaves.
  oneof ecoworldhotel_level4_oneof
{
   
bool ecoworldhotel_level4 = 358;
   
Exception ecoworldhotel_level4_exception = 359;
 
}

 
// Ecoworldhotel: 5 Eco-Leaves.
  oneof ecoworldhotel_level5_oneof
{
   
bool ecoworldhotel_level5 = 360;
   
Exception ecoworldhotel_level5_exception = 361;
 
}

 
// EDGE Green Building Certification.
  oneof edge_green_building_oneof
{
   
bool edge_green_building = 368;
   
Exception edge_green_building_exception = 369;
 
}

 
// Eco-Management and Audit Scheme (EMAS).
  oneof emas_oneof
{
   
bool emas = 366;
   
Exception emas_exception = 367;
 
}

 
// Environmentally Friendly Service.
 
// This field is deprecated. The certification is covered by `cenia_efs`.
  oneof environmentally_friendly_service_oneof
{
   
bool environmentally_friendly_service = 334 [deprecated = true];
   
Exception environmentally_friendly_service_exception = 335
       
[deprecated = true];
 
}

 
// EU Ecolabel.
  oneof eu_ecolabel_oneof
{
   
bool eu_ecolabel = 188;
   
Exception eu_ecolabel_exception = 189;
 
}

 
// Fair Trade Tourism.
  oneof fair_trade_tourism_oneof
{
   
bool fair_trade_tourism = 190;
   
Exception fair_trade_tourism_exception = 191;
 
}

 
// FuturePlus.
  oneof futureplus_oneof
{
   
bool futureplus = 338;
   
Exception futureplus_exception = 339;
 
}

 
// Global Ecosphere Retreats Standard.
  oneof global_ecosphere_retreats_standard_oneof
{
   
bool global_ecosphere_retreats_standard = 298;
   
Exception global_ecosphere_retreats_standard_exception = 299;
 
}

 
// GREAT Green Deal Certification.
  oneof great_green_deal_oneof
{
   
bool great_green_deal = 38;
   
Exception great_green_deal_exception = 39;
 
}

 
// Green Destinations: Level 1.
  oneof green_destinations_level1_oneof
{
   
bool green_destinations_level1 = 328;
   
Exception green_destinations_level1_exception = 329;
 
}

 
// Green Destinations: Level 2.
  oneof green_destinations_level2_oneof
{
   
bool green_destinations_level2 = 330;
   
Exception green_destinations_level2_exception = 331;
 
}

 
// Green Destinations: Level 3.
  oneof green_destinations_level3_oneof
{
   
bool green_destinations_level3 = 332;
   
Exception green_destinations_level3_exception = 333;
 
}

 
// Green Globe: Certified.
  oneof green_globe_certified_oneof
{
   
bool green_globe_certified = 192;
   
Exception green_globe_certified_exception = 193;
 
}

 
// Green Globe: Gold.
  oneof green_globe_gold_oneof
{
   
bool green_globe_gold = 194;
   
Exception green_globe_gold_exception = 195;
 
}

 
// Green Globe: Platinum.
  oneof green_globe_platinum_oneof
{
   
bool green_globe_platinum = 196;
   
Exception green_globe_platinum_exception = 197;
 
}

 
// Green Growth 2050 Standard: Silver.
  oneof green_growth2050_silver_oneof
{
   
bool green_growth2050_silver = 198;
   
Exception green_growth2050_silver_exception = 199;
 
}

 
// Green Growth 2050 Standard: Gold.
  oneof green_growth2050_gold_oneof
{
   
bool green_growth2050_gold = 200;
   
Exception green_growth2050_gold_exception = 201;
 
}

 
// Green Growth 2050 Standard: Platinum.
  oneof green_growth2050_platinum_oneof
{
   
bool green_growth2050_platinum = 202;
   
Exception green_growth2050_platinum_exception = 203;
 
}

 
// Green Hospitality Certified.
  oneof green_hospitality_oneof
{
   
bool green_hospitality = 204;
   
Exception green_hospitality_exception = 205;
 
}

 
// Green Key.
  oneof green_key_oneof
{
   
bool green_key = 44;
   
Exception green_key_exception = 45;
 
}

 
// Green Key Global Eco-Rating: 1 Green Key.
  oneof green_key_global_level1_oneof
{
   
bool green_key_global_level1 = 206;
   
Exception green_key_global_level1_exception = 207;
 
}

 
// Green Key Global Eco-Rating: 2 Green Keys.
  oneof green_key_global_level2_oneof
{
   
bool green_key_global_level2 = 208;
   
Exception green_key_global_level2_exception = 209;
 
}

 
// Green Key Global Eco-Rating: 3 Green Keys.
  oneof green_key_global_level3_oneof
{
   
bool green_key_global_level3 = 210;
   
Exception green_key_global_level3_exception = 211;
 
}

 
// Green Key Global Eco-Rating: 4 Green Keys.
  oneof green_key_global_level4_oneof
{
   
bool green_key_global_level4 = 212;
   
Exception green_key_global_level4_exception = 213;
 
}

 
// Green Key Global Eco-Rating: 5 Green Keys.
  oneof green_key_global_level5_oneof
{
   
bool green_key_global_level5 = 214;
   
Exception green_key_global_level5_exception = 215;
 
}

 
// Green Pearls Unique Places.
  oneof green_pearls_unique_places_oneof
{
   
bool green_pearls_unique_places = 216;
   
Exception green_pearls_unique_places_exception = 217;
 
}

 
// Green Seal: Bronze.
  oneof green_seal_bronze_oneof
{
   
bool green_seal_bronze = 218;
   
Exception green_seal_bronze_exception = 219;
 
}

 
// Green Seal: Silver.
  oneof green_seal_silver_oneof
{
   
bool green_seal_silver = 220;
   
Exception green_seal_silver_exception = 221;
 
}

 
// Green Seal: Gold.
  oneof green_seal_gold_oneof
{
   
bool green_seal_gold = 222;
   
Exception green_seal_gold_exception = 223;
 
}

 
// Green Star Hotel Standard: 3 Stars.
  oneof green_star_level3_oneof
{
   
bool green_star_level3 = 224;
   
Exception green_star_level3_exception = 225;
 
}

 
// Green Star Hotel Standard: 4 Stars.
  oneof green_star_level4_oneof
{
   
bool green_star_level4 = 226;
   
Exception green_star_level4_exception = 227;
 
}

 
// Green Star Hotel Standard: 5 Stars.
  oneof green_star_level5_oneof
{
   
bool green_star_level5 = 228;
   
Exception green_star_level5_exception = 229;
 
}

 
// GreenSign Hotel: Level 1.
  oneof green_sign_level1_oneof
{
   
bool green_sign_level1 = 234;
   
Exception green_sign_level1_exception = 235;
 
}

 
// GreenSign Hotel: Level 2.
  oneof green_sign_level2_oneof
{
   
bool green_sign_level2 = 236;
   
Exception green_sign_level2_exception = 237;
 
}

 
// GreenSign Hotel: Level 3.
  oneof green_sign_level3_oneof
{
   
bool green_sign_level3 = 238;
   
Exception green_sign_level3_exception = 239;
 
}

 
// GreenSign Hotel: Level 4.
  oneof green_sign_level4_oneof
{
   
bool green_sign_level4 = 240;
   
Exception green_sign_level4_exception = 241;
 
}

 
// GreenSign Hotel: Level 5.
  oneof green_sign_level5_oneof
{
   
bool green_sign_level5 = 242;
   
Exception green_sign_level5_exception = 243;
 
}

 
// GreenStep Sustainable Tourism: Bronze.
  oneof green_step_sustainable_tourism_bronze_oneof
{
   
bool green_step_sustainable_tourism_bronze = 246;
   
Exception green_step_sustainable_tourism_bronze_exception = 247;
 
}

 
// GreenStep Sustainable Tourism: Silver.
  oneof green_step_sustainable_tourism_silver_oneof
{
   
bool green_step_sustainable_tourism_silver = 248;
   
Exception green_step_sustainable_tourism_silver_exception = 249;
 
}

 
// GreenStep Sustainable Tourism: Gold.
  oneof green_step_sustainable_tourism_gold_oneof
{
   
bool green_step_sustainable_tourism_gold = 250;
   
Exception green_step_sustainable_tourism_gold_exception = 251;
 
}

 
// GreenStep Sustainable Tourism: Platinum.
  oneof green_step_sustainable_tourism_platinum_oneof
{
   
bool green_step_sustainable_tourism_platinum = 252;
   
Exception green_step_sustainable_tourism_platinum_exception = 253;
 
}

 
// Green Tourism: Bronze.
  oneof green_tourism_bronze_oneof
{
   
bool green_tourism_bronze = 312;
   
Exception green_tourism_bronze_exception = 313;
 
}

 
// Green Tourism: Silver.
  oneof green_tourism_silver_oneof
{
   
bool green_tourism_silver = 314;
   
Exception green_tourism_silver_exception = 315;
 
}

 
// Green Tourism: Gold.
  oneof green_tourism_gold_oneof
{
   
bool green_tourism_gold = 316;
   
Exception green_tourism_gold_exception = 317;
 
}

 
// Green Tourism Active: Green Initiate.
  oneof green_tourism_active_green_initiate_oneof
{
   
bool green_tourism_active_green_initiate = 254;
   
Exception green_tourism_active_green_initiate_exception = 255;
 
}

 
// Green Tourism Active: Green Leader.
  oneof green_tourism_active_green_leader_oneof
{
   
bool green_tourism_active_green_leader = 256;
   
Exception green_tourism_active_green_leader_exception = 257;
 
}

 
// Green Tourism Active: Green Champion.
  oneof green_tourism_active_green_champion_oneof
{
   
bool green_tourism_active_green_champion = 258;
   
Exception green_tourism_active_green_champion_exception = 259;
 
}

 
// Green Tourism Active: Green Champion with Distinction.
  oneof green_tourism_active_green_champion_distinction_oneof
{
   
bool green_tourism_active_green_champion_distinction = 260;
   
Exception green_tourism_active_green_champion_distinction_exception = 261;
 
}

 
// GSTC Criteria.
  oneof gstc_criteria_oneof
{
   
bool gstc_criteria = 370;
   
Exception gstc_criteria_exception = 371;
 
}

 
// Hilton LightStay.
 
// This field is deprecated. The certification is no longer supported.
  oneof hilton_lightstay_oneof
{
   
bool hilton_lightstay = 52 [deprecated = true];
   
Exception hilton_lightstay_exception = 53 [deprecated = true];
 
}

 
// Hostelling International Quality and Sustainability Standard: Small.
  oneof hostelling_international_quality_and_sustainability_small_oneof
{
   
bool hostelling_international_quality_and_sustainability_small = 262;
   
Exception
        hostelling_international_quality_and_sustainability_small_exception
=
           
263;
 
}

 
// Hostelling International Quality and Sustainability Standard: Standard.
  oneof hostelling_international_quality_and_sustainability_standard_oneof
{
   
bool hostelling_international_quality_and_sustainability_standard = 264;
   
Exception
        hostelling_international_quality_and_sustainability_standard_exception
=
           
265;
 
}

 
// Hostelling International Quality and Sustainability Standard: Key.
  oneof hostelling_international_quality_and_sustainability_key_oneof
{
   
bool hostelling_international_quality_and_sustainability_key = 266;
   
Exception
        hostelling_international_quality_and_sustainability_key_exception
= 267;
 
}

 
// Hoteles más Verdes: Bronce.
  oneof hoteles_mas_verdes_bronce_oneof
{
   
bool hoteles_mas_verdes_bronce = 268;
   
Exception hoteles_mas_verdes_bronce_exception = 269;
 
}

 
// Hoteles más Verdes: Plata.
  oneof hoteles_mas_verdes_plata_oneof
{
   
bool hoteles_mas_verdes_plata = 270;
   
Exception hoteles_mas_verdes_plata_exception = 271;
 
}

 
// Hoteles más Verdes: Oro.
  oneof hoteles_mas_verdes_oro_oneof
{
   
bool hoteles_mas_verdes_oro = 272;
   
Exception hoteles_mas_verdes_oro_exception = 273;
 
}

 
// ibex fairstay: Bronze.
  oneof ibex_fairstay_bronze_oneof
{
   
bool ibex_fairstay_bronze = 276;
   
Exception ibex_fairstay_bronze_exception = 277;
 
}

 
// ibex fairstay: Silver.
  oneof ibex_fairstay_silver_oneof
{
   
bool ibex_fairstay_silver = 278;
   
Exception ibex_fairstay_silver_exception = 279;
 
}

 
// ibex fairstay: Gold.
  oneof ibex_fairstay_gold_oneof
{
   
bool ibex_fairstay_gold = 280;
   
Exception ibex_fairstay_gold_exception = 281;
 
}

 
// ibex fairstay: Platinum.
  oneof ibex_fairstay_platinum_oneof
{
   
bool ibex_fairstay_platinum = 282;
   
Exception ibex_fairstay_platinum_exception = 283;
 
}

 
// ISO 14001.
  oneof iso14001_oneof
{
   
bool iso14001 = 20;
   
Exception iso14001_exception = 21;
 
}

 
// ISO 50001.
  oneof iso50001_oneof
{
   
bool iso50001 = 22;
   
Exception iso50001_exception = 23;
 
}

 
// ISO 9001.
  oneof iso9001_oneof
{
   
bool iso9001 = 284;
   
Exception iso9001_exception = 285;
 
}

 
// LEED: Certified.
  oneof leed_certified_oneof
{
   
bool leed_certified = 12;
   
Exception leed_certified_exception = 13;
 
}

 
// LEED: Silver.
  oneof leed_silver_oneof
{
   
bool leed_silver = 14;
   
Exception leed_silver_exception = 15;
 
}

 
// LEED: Gold.
  oneof leed_gold_oneof
{
   
bool leed_gold = 16;
   
Exception leed_gold_exception = 17;
 
}

 
// LEED: Platinum.
  oneof leed_platinum_oneof
{
   
bool leed_platinum = 18;
   
Exception leed_platinum_exception = 19;
 
}

 
// Nordic Swan Ecolabel.
  oneof nordic_swan_ecolabel_oneof
{
   
bool nordic_swan_ecolabel = 70;
   
Exception nordic_swan_ecolabel_exception = 71;
 
}

 
// Preferred by Nature Sustainable Tourism Standard for Accommodation.
  oneof preferred_by_nature_sustainable_tourism_oneof
{
   
bool preferred_by_nature_sustainable_tourism = 58;
   
Exception preferred_by_nature_sustainable_tourism_exception = 59;
 
}

 
// Sakura Quality An ESG Practice Standard: 1 Cherry Blossom.
  oneof sakura_quality_level1_oneof
{
   
bool sakura_quality_level1 = 92;
   
Exception sakura_quality_level1_exception = 93;
 
}

 
// Sakura Quality An ESG Practice Standard: 2 Cherry Blossoms.
  oneof sakura_quality_level2_oneof
{
   
bool sakura_quality_level2 = 94;
   
Exception sakura_quality_level2_exception = 95;
 
}

 
// Sakura Quality An ESG Practice Standard: 3 Cherry Blossoms.
  oneof sakura_quality_level3_oneof
{
   
bool sakura_quality_level3 = 96;
   
Exception sakura_quality_level3_exception = 97;
 
}

 
// Sakura Quality An ESG Practice Standard: 4 Cherry Blossoms.
  oneof sakura_quality_level4_oneof
{
   
bool sakura_quality_level4 = 98;
   
Exception sakura_quality_level4_exception = 99;
 
}

 
// Sakura Quality An ESG Practice Standard: 5 Cherry Blossoms.
  oneof sakura_quality_level5_oneof
{
   
bool sakura_quality_level5 = 100;
   
Exception sakura_quality_level5_exception = 101;
 
}

 
// SERNATUR Sello S: Level 1.
  oneof sernatur_sello_level1_oneof
{
   
bool sernatur_sello_level1 = 288;
   
Exception sernatur_sello_level1_exception = 289;
 
}

 
// SERNATUR Sello S: Level 2.
  oneof sernatur_sello_level2_oneof
{
   
bool sernatur_sello_level2 = 290;
   
Exception sernatur_sello_level2_exception = 291;
 
}

 
// SERNATUR Sello S: Level 3.
  oneof sernatur_sello_level3_oneof
{
   
bool sernatur_sello_level3 = 292;
   
Exception sernatur_sello_level3_exception = 293;
 
}

 
// Seychelles Sustainable Tourism Label.
  oneof seychelles_sustainable_tourism_label_oneof
{
   
bool seychelles_sustainable_tourism_label = 294;
   
Exception seychelles_sustainable_tourism_label_exception = 295;
 
}

 
// SOCOTEC SuMS.
  oneof socotec_sums_oneof
{
   
bool socotec_sums = 296;
   
Exception socotec_sums_exception = 297;
 
}

 
// Sustainable Meetings Berlin.
  oneof sustainable_meetings_berlin_oneof
{
   
bool sustainable_meetings_berlin = 344;
   
Exception sustainable_meetings_berlin_exception = 345;
 
}

 
// Sustainable Travel Ireland – GSTC Industry Criteria: Bronze.
  oneof sustainable_travel_ireland_bronze_oneof
{
   
bool sustainable_travel_ireland_bronze = 318;
   
Exception sustainable_travel_ireland_bronze_exception = 319;
 
}

 
// Sustainable Travel Ireland – GSTC Industry Criteria: Silver.
  oneof sustainable_travel_ireland_silver_oneof
{
   
bool sustainable_travel_ireland_silver = 320;
   
Exception sustainable_travel_ireland_silver_exception = 321;
 
}

 
// Sustainable Travel Ireland – GSTC Industry Criteria: Gold.
  oneof sustainable_travel_ireland_gold_oneof
{
   
bool sustainable_travel_ireland_gold = 322;
   
Exception sustainable_travel_ireland_gold_exception = 323;
 
}

 
// Sustonica - Sustainable Vacation Rental.
  oneof sustonica_sustainable_vacation_rental_oneof
{
   
bool sustonica_sustainable_vacation_rental = 336;
   
Exception sustonica_sustainable_vacation_rental_exception = 337;
 
}

 
// TOFTigers Footprint Certification: Good.
  oneof tof_tigers_footprint_good_oneof
{
   
bool tof_tigers_footprint_good = 302;
   
Exception tof_tigers_footprint_good_exception = 303;
 
}

 
// TOFTigers Footprint Certification: Quality.
  oneof tof_tigers_footprint_quality_oneof
{
   
bool tof_tigers_footprint_quality = 304;
   
Exception tof_tigers_footprint_quality_exception = 305;
 
}

 
// TOFTigers Footprint Certification: Outstanding.
  oneof tof_tigers_footprint_outstanding_oneof
{
   
bool tof_tigers_footprint_outstanding = 306;
   
Exception tof_tigers_footprint_outstanding_exception = 307;
 
}

 
// TOFTigers PUG certification: Good.
  oneof tof_tigers_pug_good_oneof
{
   
bool tof_tigers_pug_good = 308;
   
Exception tof_tigers_pug_good_exception = 309;
 
}

 
// TOFTigers PUG certification: Quality.
  oneof tof_tigers_pug_quality_oneof
{
   
bool tof_tigers_pug_quality = 310;
   
Exception tof_tigers_pug_quality_exception = 311;
 
}

 
// TOFTigers PUG certification: Outstanding.
  oneof tof_tigers_pug_outstanding_oneof
{
   
bool tof_tigers_pug_outstanding = 174;
   
Exception tof_tigers_pug_outstanding_exception = 175;
 
}

 
// TourCert Certification.
  oneof tourcert_certification_oneof
{
   
bool tourcert_certification = 324;
   
Exception tourcert_certification_exception = 325;
 
}

 
// Travelife Standard for Hotels & Accommodations.
  oneof travelife_oneof
{
   
bool travelife = 64;
   
Exception travelife_exception = 65;
 
}

 
// Türkiye Sustainable Tourism Program.
  oneof turkiye_sustainable_tourism_program_oneof
{
   
bool turkiye_sustainable_tourism_program = 372;
   
Exception turkiye_sustainable_tourism_program_exception = 373;
 
}

 
// United Certification Systems Limited.
 
// This field is deprecated. The certification is now covered by
 
// `gstc_criteria`.
  oneof united_certification_systems_limited_oneof
{
   
bool united_certification_systems_limited = 66 [deprecated = true];
   
Exception united_certification_systems_limited_exception = 67
       
[deprecated = true];
 
}

 
// Viabono.
  oneof viabono_oneof
{
   
bool viabono = 348;
   
Exception viabono_exception = 349;
 
}

 
// Vireo Srl (GSTC Criteria).
 
// This field is deprecated. The certification is now covered by
 
// `gstc_criteria` and `turkiye_sustainable_tourism_program`.
  oneof vireo_srl_oneof
{
   
bool vireo_srl = 68 [deprecated = true];
   
Exception vireo_srl_exception = 69 [deprecated = true];
 
}

 
// Wyndham Green: Core.
 
// This field is deprecated. The certification is no longer supported.
  oneof wyndham_green_core_oneof
{
   
bool wyndham_green_core = 80 [deprecated = true];
   
Exception wyndham_green_core_exception = 81 [deprecated = true];
 
}

 
// Wyndham Green: Essential.
 
// This field is deprecated. The certification is no longer supported.
  oneof wyndham_green_essential_oneof
{
   
bool wyndham_green_essential = 82 [deprecated = true];
   
Exception wyndham_green_essential_exception = 83 [deprecated = true];
 
}

 
// Wyndham Green: Proficient.
 
// This field is deprecated. The certification is no longer supported.
  oneof wyndham_green_proficient_oneof
{
   
bool wyndham_green_proficient = 84 [deprecated = true];
   
Exception wyndham_green_proficient_exception = 85 [deprecated = true];
 
}

 
// Wyndham Green: Advanced.
 
// This field is deprecated. The certification is no longer supported.
  oneof wyndham_green_advanced_oneof
{
   
bool wyndham_green_advanced = 86 [deprecated = true];
   
Exception wyndham_green_advanced_exception = 87 [deprecated = true];
 
}

 
// Wyndham Green: Expert.
 
// This field is deprecated. The certification is no longer supported.
  oneof wyndham_green_expert_oneof
{
   
bool wyndham_green_expert = 88 [deprecated = true];
   
Exception wyndham_green_expert_exception = 89 [deprecated = true];
 
}
}

// Exception mode. Only use this if the factual information cannot be
// represented by the relevant proto field. i.e. a service is only available
// during some days of the week, or an amenity is only available seasonally.
enum Exception {
  UNSPECIFIED_REASON
= 0;
}

message
Metadata {
 
// REQUIRED.
 
// The ISO 8601 datetime at which the Lodging data is asserted to be
 
// true in the real world. Examples:
 
// 2018-11-13T13:14:52-0800
 
// 2018-11-13T13:14:52Z
 
string last_updated = 1;
}