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

View Source

ShippingService represents the criteria used to determine if and how an offer could be shipped to a customer.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:fulfillment_type) =>
      :fulfillment_type_collection_point
      | :fulfillment_type_delivery
      | :fulfillment_type_pickup_dropoff
      | :fulfillment_type_pickup_in_store
      | :fulfillment_type_scheduled_delivery,
    optional(:handling_time) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.t(),
    optional(:shipping_conditions) => SEO.JSONLD.ShippingConditions.t() | map(),
    optional(:valid_for_member_tier) =>
      SEO.JSONLD.MemberProgramTier.t() | map(),
    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()
  }
  | [
      fulfillment_type:
        :fulfillment_type_collection_point
        | :fulfillment_type_delivery
        | :fulfillment_type_pickup_dropoff
        | :fulfillment_type_pickup_in_store
        | :fulfillment_type_scheduled_delivery,
      handling_time:
        SEO.JSONLD.QuantitativeValue.t() | map() | SEO.JSONLD.ServicePeriod.t(),
      shipping_conditions: SEO.JSONLD.ShippingConditions.t() | map(),
      valid_for_member_tier: SEO.JSONLD.MemberProgramTier.t() | map(),
      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 "ShippingService", 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 ShippingService JSON-LD map.

Fields

  • :fulfillment_type - Type of fulfillment applicable to the SEO.JSONLD.ShippingService. One of: :fulfillment_type_collection_point, :fulfillment_type_delivery, :fulfillment_type_pickup_dropoff, :fulfillment_type_pickup_in_store, :fulfillment_type_scheduled_delivery.
  • :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.

  • :shipping_conditions - The conditions (constraints, price) applicable to the SEO.JSONLD.ShippingService.
  • :valid_for_member_tier - The membership program tier(s) an Offer (or a PriceSpecification, OfferShippingDetails, or MerchantReturnPolicy under an Offer) is valid for.

Inherited properties

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