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

View Source

A structured value providing information about the opening hours of a place or a certain service inside a place.

The place is open if the opens property is specified, and closed otherwise.

If the value for the closes property is less than the value for the opens property then the hour range is assumed to span over the next day.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:closes) => Time.t() | String.t(),
    optional(:day_of_week) =>
      :friday
      | :monday
      | :public_holidays
      | :saturday
      | :sunday
      | :thursday
      | :tuesday
      | :wednesday,
    optional(:opens) => Time.t() | String.t(),
    optional(:valid_from) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:valid_through) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.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()
  }
  | [
      closes: Time.t() | String.t(),
      day_of_week:
        :friday
        | :monday
        | :public_holidays
        | :saturday
        | :sunday
        | :thursday
        | :tuesday
        | :wednesday,
      opens: Time.t() | String.t(),
      valid_from: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      valid_through: DateTime.t() | NaiveDateTime.t() | String.t() | Date.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 "OpeningHoursSpecification", 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 OpeningHoursSpecification JSON-LD map.

Fields

  • :closes - The closing hour of the place or service on the given day(s) of the week.
  • :day_of_week - The day of the week for which these opening hours are valid. One of: :friday, :monday, :public_holidays, :saturday, :sunday, :thursday, :tuesday, :wednesday.
  • :opens - The opening hour of the place or service on the given day(s) of the week.
  • :valid_from - The date when the item becomes valid.
  • :valid_through - The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.

Inherited properties

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