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

View Source

A reservation for boat travel.

Note: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use SEO.JSONLD.Offer.

Helper for building a Schema.org BoatReservation JSON-LD structure.

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:booking_agent) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:booking_time) => DateTime.t() | NaiveDateTime.t() | String.t(),
    optional(:broker) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:modified_time) => DateTime.t() | NaiveDateTime.t() | String.t(),
    optional(:price_currency) => String.t(),
    optional(:program_membership_used) =>
      SEO.JSONLD.ProgramMembership.t() | map(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:reservation_for) => SEO.JSONLD.Thing.t() | map(),
    optional(:reservation_id) => String.t(),
    optional(:reservation_status) =>
      :reservation_cancelled
      | :reservation_confirmed
      | :reservation_hold
      | :reservation_pending,
    optional(:reserved_ticket) => SEO.JSONLD.Ticket.t() | map(),
    optional(:total_price) =>
      SEO.JSONLD.PriceSpecification.t() | map() | String.t() | number(),
    optional(:under_name) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.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()
  }
  | [
      booking_agent:
        SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      booking_time: DateTime.t() | NaiveDateTime.t() | String.t(),
      broker: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      modified_time: DateTime.t() | NaiveDateTime.t() | String.t(),
      price_currency: String.t(),
      program_membership_used: SEO.JSONLD.ProgramMembership.t() | map(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      reservation_for: SEO.JSONLD.Thing.t() | map(),
      reservation_id: String.t(),
      reservation_status:
        :reservation_cancelled
        | :reservation_confirmed
        | :reservation_hold
        | :reservation_pending,
      reserved_ticket: SEO.JSONLD.Ticket.t() | map(),
      total_price:
        SEO.JSONLD.PriceSpecification.t() | map() | String.t() | number(),
      under_name: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.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 "BoatReservation", 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 BoatReservation 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: