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

View Source

The act of physically/electronically dispatching an object for transfer from an origin to a destination. Related actions:

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

Action inputs and outputs

This type descends from SEO.JSONLD.Action, so build/1 recognizes two pseudo-fields that expand into Schema.org's hyphenated <property>-input / <property>-output shorthand (see Schema.org Actions, Part 4):

  • :inputs — a keyword list of {property, constraints} entries
  • :outputs — likewise, for <property>-output annotations

Constraints are passed to SEO.JSONLD.Actions.input_spec/1.

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:delivery_method) =>
      :locker_delivery | :on_site_pickup | :parcel_service,
    optional(:recipient) =>
      SEO.JSONLD.Organization.t()
      | map()
      | SEO.JSONLD.Person.t()
      | SEO.JSONLD.ContactPoint.t()
      | SEO.JSONLD.Audience.t(),
    optional(:from_location) => SEO.JSONLD.Place.t() | map(),
    optional(:to_location) => SEO.JSONLD.Place.t() | map(),
    optional(:action_process) => SEO.JSONLD.HowTo.t() | map(),
    optional(:action_status) =>
      :active_action_status
      | :completed_action_status
      | :failed_action_status
      | :potential_action_status,
    optional(:agent) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:end_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:error) => SEO.JSONLD.Thing.t() | map(),
    optional(:instrument) => SEO.JSONLD.Thing.t() | map(),
    optional(:location) =>
      String.t()
      | SEO.JSONLD.PostalAddress.t()
      | map()
      | SEO.JSONLD.VirtualLocation.t()
      | SEO.JSONLD.Place.t(),
    optional(:object) => SEO.JSONLD.Thing.t() | map(),
    optional(:participant) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:result) => SEO.JSONLD.Thing.t() | map(),
    optional(:start_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
    optional(:target) =>
      URI.t() | String.t() | SEO.JSONLD.EntryPoint.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()
  }
  | [
      delivery_method: :locker_delivery | :on_site_pickup | :parcel_service,
      recipient:
        SEO.JSONLD.Organization.t()
        | map()
        | SEO.JSONLD.Person.t()
        | SEO.JSONLD.ContactPoint.t()
        | SEO.JSONLD.Audience.t(),
      from_location: SEO.JSONLD.Place.t() | map(),
      to_location: SEO.JSONLD.Place.t() | map(),
      action_process: SEO.JSONLD.HowTo.t() | map(),
      action_status:
        :active_action_status
        | :completed_action_status
        | :failed_action_status
        | :potential_action_status,
      agent: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      end_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      error: SEO.JSONLD.Thing.t() | map(),
      instrument: SEO.JSONLD.Thing.t() | map(),
      location:
        String.t()
        | SEO.JSONLD.PostalAddress.t()
        | map()
        | SEO.JSONLD.VirtualLocation.t()
        | SEO.JSONLD.Place.t(),
      object: SEO.JSONLD.Thing.t() | map(),
      participant: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      result: SEO.JSONLD.Thing.t() | map(),
      start_time: DateTime.t() | NaiveDateTime.t() | String.t() | Time.t(),
      target: URI.t() | String.t() | SEO.JSONLD.EntryPoint.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 "SendAction", 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 SendAction JSON-LD map.

Fields

  • :delivery_method - A sub property of instrument. The method of delivery. One of: :locker_delivery, :on_site_pickup, :parcel_service.
  • :recipient - A sub property of participant. The participant who is at the receiving end of the action.

Inherited properties

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