SEO. JSONLD. HotelRoom
(SEO v0.3.0-rc.0)
View Source
A hotel room is a single room in a hotel.
See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations.
Helper for building a Schema.org HotelRoom JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "HotelRoom", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a HotelRoom JSON-LD map.
Types
@type attrs() :: %{ optional(:bed) => SEO.JSONLD.BedDetails.t() | map() | String.t(), optional(:occupancy) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:accommodation_category) => String.t(), optional(:accommodation_floor_plan) => SEO.JSONLD.FloorPlan.t() | map(), optional(:amenity_feature) => SEO.JSONLD.LocationFeatureSpecification.t() | map(), optional(:floor_level) => String.t(), optional(:floor_size) => SEO.JSONLD.QuantitativeValue.t() | map(), optional(:lease_length) => SEO.JSONLD.QuantitativeValue.t() | map() | Duration.t() | String.t(), optional(:number_of_bathrooms_total) => integer(), optional(:number_of_bedrooms) => SEO.JSONLD.QuantitativeValue.t() | map() | number(), optional(:number_of_full_bathrooms) => number(), optional(:number_of_partial_bathrooms) => number(), optional(:number_of_rooms) => SEO.JSONLD.QuantitativeValue.t() | map() | number(), optional(:permitted_usage) => String.t(), optional(:pets_allowed) => String.t() | boolean(), optional(:tour_booking_page) => URI.t() | String.t(), optional(:year_built) => number(), optional(:additional_property) => SEO.JSONLD.PropertyValue.t() | map(), optional(:address) => String.t() | SEO.JSONLD.PostalAddress.t() | map(), optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(), optional(:branch_code) => String.t(), optional(:contained_in) => SEO.JSONLD.Place.t() | map(), optional(:contained_in_place) => SEO.JSONLD.Place.t() | map(), optional(:contains_place) => SEO.JSONLD.Place.t() | map(), optional(:event) => SEO.JSONLD.Event.t() | map(), optional(:events) => SEO.JSONLD.Event.t() | map(), optional(:fax_number) => String.t(), optional(:geo) => SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.GeoCoordinates.t(), optional(:geo_contains) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_covered_by) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_covers) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_crosses) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_disjoint) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_equals) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_intersects) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_overlaps) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_touches) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_within) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:global_location_number) => String.t(), optional(:has_certification) => SEO.JSONLD.Certification.t() | map(), optional(:has_drive_through_service) => boolean(), optional(:has_gs1_digital_link) => URI.t() | String.t(), optional(:has_map) => URI.t() | String.t() | SEO.JSONLD.Map.t() | map(), optional(:is_accessible_for_free) => boolean(), optional(:isic_v4) => String.t(), optional(:keywords) => SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), optional(:latitude) => String.t() | number(), optional(:logo) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:longitude) => String.t() | number(), optional(:map) => URI.t() | String.t(), optional(:maps) => URI.t() | String.t(), optional(:maximum_attendee_capacity) => integer(), optional(:opening_hours_specification) => SEO.JSONLD.OpeningHoursSpecification.t() | map(), optional(:photo) => SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), optional(:photos) => SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), optional(:public_access) => boolean(), optional(:review) => SEO.JSONLD.Review.t() | map(), optional(:reviews) => SEO.JSONLD.Review.t() | map(), optional(:slogan) => String.t(), optional(:smoking_allowed) => boolean(), optional(:special_opening_hours_specification) => SEO.JSONLD.OpeningHoursSpecification.t() | map(), optional(:telephone) => String.t(), optional(:additional_type) => String.t() | URI.t(), optional(:alternate_name) => String.t(), optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(), optional(:disambiguating_description) => String.t(), optional(:identifier) => String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), optional(:image) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:name) => String.t(), optional(:owner) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:potential_action) => SEO.JSONLD.Action.t() | map(), optional(:same_as) => URI.t() | String.t(), optional(:subject_of) => SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), optional(:url) => URI.t() | String.t() } | [ bed: SEO.JSONLD.BedDetails.t() | map() | String.t(), occupancy: SEO.JSONLD.QuantitativeValue.t() | map(), accommodation_category: String.t(), accommodation_floor_plan: SEO.JSONLD.FloorPlan.t() | map(), amenity_feature: SEO.JSONLD.LocationFeatureSpecification.t() | map(), floor_level: String.t(), floor_size: SEO.JSONLD.QuantitativeValue.t() | map(), lease_length: SEO.JSONLD.QuantitativeValue.t() | map() | Duration.t() | String.t(), number_of_bathrooms_total: integer(), number_of_bedrooms: SEO.JSONLD.QuantitativeValue.t() | map() | number(), number_of_full_bathrooms: number(), number_of_partial_bathrooms: number(), number_of_rooms: SEO.JSONLD.QuantitativeValue.t() | map() | number(), permitted_usage: String.t(), pets_allowed: String.t() | boolean(), tour_booking_page: URI.t() | String.t(), year_built: number(), additional_property: SEO.JSONLD.PropertyValue.t() | map(), address: String.t() | SEO.JSONLD.PostalAddress.t() | map(), aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(), branch_code: String.t(), contained_in: SEO.JSONLD.Place.t() | map(), contained_in_place: SEO.JSONLD.Place.t() | map(), contains_place: SEO.JSONLD.Place.t() | map(), event: SEO.JSONLD.Event.t() | map(), events: SEO.JSONLD.Event.t() | map(), fax_number: String.t(), geo: SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.GeoCoordinates.t(), geo_contains: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_covered_by: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_covers: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_crosses: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_disjoint: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_equals: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_intersects: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_overlaps: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_touches: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_within: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), global_location_number: String.t(), has_certification: SEO.JSONLD.Certification.t() | map(), has_drive_through_service: boolean(), has_gs1_digital_link: URI.t() | String.t(), has_map: URI.t() | String.t() | SEO.JSONLD.Map.t() | map(), is_accessible_for_free: boolean(), isic_v4: String.t(), keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), latitude: String.t() | number(), logo: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), longitude: String.t() | number(), map: URI.t() | String.t(), maps: URI.t() | String.t(), maximum_attendee_capacity: integer(), opening_hours_specification: SEO.JSONLD.OpeningHoursSpecification.t() | map(), photo: SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), photos: SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), public_access: boolean(), review: SEO.JSONLD.Review.t() | map(), reviews: SEO.JSONLD.Review.t() | map(), slogan: String.t(), smoking_allowed: boolean(), special_opening_hours_specification: SEO.JSONLD.OpeningHoursSpecification.t() | map(), telephone: String.t(), additional_type: String.t() | URI.t(), alternate_name: String.t(), description: SEO.JSONLD.TextObject.t() | map() | String.t(), disambiguating_description: String.t(), identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), main_entity_of_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), name: String.t(), owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), potential_action: SEO.JSONLD.Action.t() | map(), same_as: URI.t() | String.t(), subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), url: URI.t() | String.t() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "HotelRoom", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a HotelRoom JSON-LD map.
Fields
:bed- The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property. One of: .:occupancy- The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: