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

View Source

A seasonal override of a return policy, for example used for holidays.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:end_date) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:merchant_return_days) =>
      integer() | Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:refund_type) =>
      :exchange_refund | :full_refund | :store_credit_refund,
    optional(:restocking_fee) =>
      number() | SEO.JSONLD.MonetaryAmount.t() | map(),
    optional(:return_fees) =>
      :free_return
      | :original_shipping_fees
      | :restocking_fees
      | :return_fees_customer_responsibility
      | :return_shipping_fees,
    optional(:return_method) =>
      :keep_product | :return_at_kiosk | :return_by_mail | :return_in_store,
    optional(:return_policy_category) =>
      :merchant_return_finite_return_window
      | :merchant_return_not_permitted
      | :merchant_return_unlimited_window
      | :merchant_return_unspecified,
    optional(:return_shipping_fees_amount) =>
      SEO.JSONLD.MonetaryAmount.t() | map(),
    optional(:start_date) =>
      Date.t() | String.t() | DateTime.t() | NaiveDateTime.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()
  }
  | [
      end_date: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      merchant_return_days:
        integer() | Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
      refund_type: :exchange_refund | :full_refund | :store_credit_refund,
      restocking_fee: number() | SEO.JSONLD.MonetaryAmount.t() | map(),
      return_fees:
        :free_return
        | :original_shipping_fees
        | :restocking_fees
        | :return_fees_customer_responsibility
        | :return_shipping_fees,
      return_method:
        :keep_product | :return_at_kiosk | :return_by_mail | :return_in_store,
      return_policy_category:
        :merchant_return_finite_return_window
        | :merchant_return_not_permitted
        | :merchant_return_unlimited_window
        | :merchant_return_unspecified,
      return_shipping_fees_amount: SEO.JSONLD.MonetaryAmount.t() | map(),
      start_date: Date.t() | String.t() | DateTime.t() | NaiveDateTime.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 "MerchantReturnPolicySeasonalOverride", 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 MerchantReturnPolicySeasonalOverride JSON-LD map.

Fields

  • :end_date - The end date and time of the item (in ISO 8601 date format).
  • :merchant_return_days - Specifies either a fixed return date or the number of days (from the delivery date) that a product can be returned. Used when the returnPolicyCategory property is specified as MerchantReturnFiniteReturnWindow.
  • :refund_type - A refund type, from an enumerated list. One of: :exchange_refund, :full_refund, :store_credit_refund.
  • :restocking_fee - Use SEO.JSONLD.MonetaryAmount to specify a fixed restocking fee for product returns, or use Number to specify a percentage of the product price paid by the customer.
  • :return_fees - The type of return fees for purchased products (for any return reason). One of: :free_return, :original_shipping_fees, :restocking_fees, :return_fees_customer_responsibility, :return_shipping_fees.
  • :return_method - The type of return method offered, specified from an enumeration. One of: :keep_product, :return_at_kiosk, :return_by_mail, :return_in_store.
  • :return_policy_category - Specifies an applicable return policy (from an enumeration). One of: :merchant_return_finite_return_window, :merchant_return_not_permitted, :merchant_return_unlimited_window, :merchant_return_unspecified.
  • :return_shipping_fees_amount - Amount of shipping costs for product returns (for any reason). Applicable when property returnFees equals ReturnShippingFees.
  • :start_date - The start date and time of the item (in ISO 8601 date format).

Inherited properties

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