SEO.JSONLD.CampingPitch (SEO v0.3.0-rc.0)

View Source

A SEO.JSONLD.CampingPitch is an individual place for overnight stay in the outdoors, typically being part of a larger camping site, or SEO.JSONLD.Campground.

In British English a campsite, or campground, is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites. (Source: Wikipedia, see https://en.wikipedia.org/wiki/Campsite.)

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 CampingPitch JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "CampingPitch", 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 CampingPitch JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:accommodation_category) => String.t(),
    optional(:accommodation_floor_plan) => SEO.JSONLD.FloorPlan.t() | map(),
    optional(:amenity_feature) =>
      SEO.JSONLD.LocationFeatureSpecification.t() | map(),
    optional(:bed) => SEO.JSONLD.BedDetails.t() | map() | String.t(),
    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(:occupancy) => SEO.JSONLD.QuantitativeValue.t() | map(),
    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()
  }
  | [
      accommodation_category: String.t(),
      accommodation_floor_plan: SEO.JSONLD.FloorPlan.t() | map(),
      amenity_feature: SEO.JSONLD.LocationFeatureSpecification.t() | map(),
      bed: SEO.JSONLD.BedDetails.t() | map() | String.t(),
      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(),
      occupancy: SEO.JSONLD.QuantitativeValue.t() | map(),
      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()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "CampingPitch", 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(attrs)

@spec build(attrs()) :: t()

Build a CampingPitch JSON-LD map.

Fields

This type has no own properties. See the inherited properties below.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: