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

View Source

A MerchantReturnPolicy provides information about product return policies associated with an SEO.JSONLD.Organization, SEO.JSONLD.Product, or SEO.JSONLD.Offer.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:additional_property) => SEO.JSONLD.PropertyValue.t() | map(),
    optional(:applicable_country) =>
      SEO.JSONLD.Country.t() | map() | String.t(),
    optional(:customer_remorse_return_fees) =>
      :free_return
      | :original_shipping_fees
      | :restocking_fees
      | :return_fees_customer_responsibility
      | :return_shipping_fees,
    optional(:customer_remorse_return_label_source) =>
      :return_label_customer_responsibility
      | :return_label_download_and_print
      | :return_label_in_box,
    optional(:customer_remorse_return_shipping_fees_amount) =>
      SEO.JSONLD.MonetaryAmount.t() | map(),
    optional(:in_store_returns_offered) => boolean(),
    optional(:item_condition) =>
      :damaged_condition
      | :new_condition
      | :refurbished_condition
      | :used_condition,
    optional(:item_defect_return_fees) =>
      :free_return
      | :original_shipping_fees
      | :restocking_fees
      | :return_fees_customer_responsibility
      | :return_shipping_fees,
    optional(:item_defect_return_label_source) =>
      :return_label_customer_responsibility
      | :return_label_download_and_print
      | :return_label_in_box,
    optional(:item_defect_return_shipping_fees_amount) =>
      SEO.JSONLD.MonetaryAmount.t() | map(),
    optional(:merchant_return_days) =>
      integer() | Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:merchant_return_link) => URI.t() | String.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_label_source) =>
      :return_label_customer_responsibility
      | :return_label_download_and_print
      | :return_label_in_box,
    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_policy_country) =>
      SEO.JSONLD.Country.t() | map() | String.t(),
    optional(:return_policy_seasonal_override) =>
      SEO.JSONLD.MerchantReturnPolicySeasonalOverride.t() | map(),
    optional(:return_shipping_fees_amount) =>
      SEO.JSONLD.MonetaryAmount.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()
  }
  | [
      additional_property: SEO.JSONLD.PropertyValue.t() | map(),
      applicable_country: SEO.JSONLD.Country.t() | map() | String.t(),
      customer_remorse_return_fees:
        :free_return
        | :original_shipping_fees
        | :restocking_fees
        | :return_fees_customer_responsibility
        | :return_shipping_fees,
      customer_remorse_return_label_source:
        :return_label_customer_responsibility
        | :return_label_download_and_print
        | :return_label_in_box,
      customer_remorse_return_shipping_fees_amount:
        SEO.JSONLD.MonetaryAmount.t() | map(),
      in_store_returns_offered: boolean(),
      item_condition:
        :damaged_condition
        | :new_condition
        | :refurbished_condition
        | :used_condition,
      item_defect_return_fees:
        :free_return
        | :original_shipping_fees
        | :restocking_fees
        | :return_fees_customer_responsibility
        | :return_shipping_fees,
      item_defect_return_label_source:
        :return_label_customer_responsibility
        | :return_label_download_and_print
        | :return_label_in_box,
      item_defect_return_shipping_fees_amount:
        SEO.JSONLD.MonetaryAmount.t() | map(),
      merchant_return_days:
        integer() | Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
      merchant_return_link: URI.t() | String.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_label_source:
        :return_label_customer_responsibility
        | :return_label_download_and_print
        | :return_label_in_box,
      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_policy_country: SEO.JSONLD.Country.t() | map() | String.t(),
      return_policy_seasonal_override:
        SEO.JSONLD.MerchantReturnPolicySeasonalOverride.t() | map(),
      return_shipping_fees_amount: SEO.JSONLD.MonetaryAmount.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 "MerchantReturnPolicy", 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 MerchantReturnPolicy JSON-LD map.

Fields

  • :additional_property - A property-value pair representing an additional characteristic of the entity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.

Note: Publishers should be aware that applications designed to use specific schema.org properties (e.g. https://schema.org/width, https://schema.org/color, https://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism.

  • :applicable_country - A country where a particular merchant return policy applies to, for example the two-letter ISO 3166-1 alpha-2 country code.
  • :customer_remorse_return_fees - The type of return fees if the product is returned due to customer remorse. One of: :free_return, :original_shipping_fees, :restocking_fees, :return_fees_customer_responsibility, :return_shipping_fees.
  • :customer_remorse_return_label_source - The method (from an enumeration) by which the customer obtains a return shipping label for a product returned due to customer remorse. One of: :return_label_customer_responsibility, :return_label_download_and_print, :return_label_in_box.
  • :customer_remorse_return_shipping_fees_amount - The amount of shipping costs if a product is returned due to customer remorse. Applicable when property customerRemorseReturnFees equals ReturnShippingFees.
  • :in_store_returns_offered - Are in-store returns offered? (For more advanced return methods use the returnMethod property.)
  • :item_condition - A predefined value from OfferItemCondition specifying the condition of the product or service, or the products or services included in the offer. Also used for product return policies to specify the condition of products accepted for returns. One of: :damaged_condition, :new_condition, :refurbished_condition, :used_condition.
  • :item_defect_return_fees - The type of return fees for returns of defect products. One of: :free_return, :original_shipping_fees, :restocking_fees, :return_fees_customer_responsibility, :return_shipping_fees.
  • :item_defect_return_label_source - The method (from an enumeration) by which the customer obtains a return shipping label for a defect product. One of: :return_label_customer_responsibility, :return_label_download_and_print, :return_label_in_box.
  • :item_defect_return_shipping_fees_amount - Amount of shipping costs for defect product returns. Applicable when property itemDefectReturnFees equals ReturnShippingFees.
  • :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.
  • :merchant_return_link - Specifies a Web page or service by URL, for product returns.
  • :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_label_source - The method (from an enumeration) by which the customer obtains a return shipping label for a product returned for any reason. One of: :return_label_customer_responsibility, :return_label_download_and_print, :return_label_in_box.
  • :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_policy_country - The country where the product has to be sent to for returns, for example "Ireland" using the name property of SEO.JSONLD.Country. You can also provide the two-letter ISO 3166-1 alpha-2 country code. Note that this can be different from the country where the product was originally shipped from or sent to.
  • :return_policy_seasonal_override - Seasonal override of a return policy.
  • :return_shipping_fees_amount - Amount of shipping costs for product returns (for any reason). Applicable when property returnFees equals ReturnShippingFees.
  • :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: