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

View Source

ShippingDeliveryTime provides various pieces of information about delivery times for shipping.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:business_days) =>
      :friday
      | :monday
      | :public_holidays
      | :saturday
      | :sunday
      | :thursday
      | :tuesday
      | :wednesday
      | SEO.JSONLD.OpeningHoursSpecification.t()
      | map(),
    optional(:cutoff_time) => Time.t() | String.t(),
    optional(:handling_time) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.t(),
    optional(:transit_time) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.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()
  }
  | [
      business_days:
        :friday
        | :monday
        | :public_holidays
        | :saturday
        | :sunday
        | :thursday
        | :tuesday
        | :wednesday
        | SEO.JSONLD.OpeningHoursSpecification.t()
        | map(),
      cutoff_time: Time.t() | String.t(),
      handling_time:
        SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.t(),
      transit_time:
        SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.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 "ShippingDeliveryTime", 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 ShippingDeliveryTime JSON-LD map.

Fields

  • :business_days - Days of the week when the merchant typically operates, indicated via opening hours markup. One of: :friday, :monday, :public_holidays, :saturday, :sunday, :thursday, :tuesday, :wednesday.
  • :cutoff_time - Order cutoff time allows merchants to describe the time after which they will no longer process orders received on that day. For orders processed after cutoff time, one day gets added to the delivery time estimate. This property is expected to be most typically used via the SEO.JSONLD.ShippingRateSettings publication pattern. The time is indicated using the ISO-8601 Time format, e.g. "23:30:00-05:00" would represent 6:30 pm Eastern Standard Time (EST) which is 5 hours behind Coordinated Universal Time (UTC).
  • :handling_time - The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup.

In the context of SEO.JSONLD.ShippingDeliveryTime, Typical properties: minValue, maxValue, unitCode (d for DAY). This is by common convention assumed to mean business days (if a unitCode is used, coded as "d"), i.e. only counting days when the business normally operates.

In the context of SEO.JSONLD.ShippingService, use the SEO.JSONLD.ServicePeriod format, that contains the same information in a structured form, with cut-off time, business days and duration.

  • :transit_time - The typical delay the order has been sent for delivery and the goods reach the final customer.

In the context of SEO.JSONLD.ShippingDeliveryTime, use the SEO.JSONLD.QuantitativeValue. Typical properties: minValue, maxValue, unitCode (d for DAY).

In the context of SEO.JSONLD.ShippingConditions, use the SEO.JSONLD.ServicePeriod. It has a duration (as a SEO.JSONLD.QuantitativeValue) and also business days and a cut-off time.

Inherited properties

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