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

View Source

A product provided to consumers and businesses by financial institutions such as banks, insurance companies, brokerage firms, consumer finance companies, and investment companies which comprise the financial services industry.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:annual_percentage_rate) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | number(),
    optional(:fees_and_commissions_specification) => String.t() | URI.t(),
    optional(:interest_rate) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | number(),
    optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(),
    optional(:area_served) =>
      SEO.JSONLD.GeoShape.t()
      | map()
      | SEO.JSONLD.AdministrativeArea.t()
      | SEO.JSONLD.Place.t()
      | String.t(),
    optional(:audience) => SEO.JSONLD.Audience.t() | map(),
    optional(:available_channel) => SEO.JSONLD.ServiceChannel.t() | map(),
    optional(:award) => String.t(),
    optional(:brand) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(),
    optional(:broker) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:category) =>
      String.t()
      | URI.t()
      | SEO.JSONLD.Thing.t()
      | map()
      | :aerobic_activity
      | :anaerobic_activity
      | :balance
      | :flexibility
      | :leisure_time_activity
      | :occupational_activity
      | :strength_training
      | SEO.JSONLD.CategoryCode.t(),
    optional(:has_certification) => SEO.JSONLD.Certification.t() | map(),
    optional(:has_offer_catalog) => SEO.JSONLD.OfferCatalog.t() | map(),
    optional(:hours_available) =>
      SEO.JSONLD.OpeningHoursSpecification.t() | map(),
    optional(:is_related_to) =>
      SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(),
    optional(:is_similar_to) =>
      SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(),
    optional(:logo) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
    optional(:produces) => SEO.JSONLD.Thing.t() | map(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:provider_mobility) => String.t(),
    optional(:review) => SEO.JSONLD.Review.t() | map(),
    optional(:service_area) =>
      SEO.JSONLD.GeoShape.t()
      | map()
      | SEO.JSONLD.AdministrativeArea.t()
      | SEO.JSONLD.Place.t(),
    optional(:service_audience) => SEO.JSONLD.Audience.t() | map(),
    optional(:service_output) => SEO.JSONLD.Thing.t() | map(),
    optional(:service_type) =>
      :basic_income
      | :business_support
      | :disability_support
      | :health_care
      | :one_time_payments
      | :paid_leave
      | :parental_support
      | :unemployment_support
      | String.t(),
    optional(:slogan) => String.t(),
    optional(:terms_of_service) => String.t() | URI.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()
  }
  | [
      annual_percentage_rate:
        SEO.JSONLD.QuantitativeValue.t() | map() | number(),
      fees_and_commissions_specification: String.t() | URI.t(),
      interest_rate: SEO.JSONLD.QuantitativeValue.t() | map() | number(),
      aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(),
      area_served:
        SEO.JSONLD.GeoShape.t()
        | map()
        | SEO.JSONLD.AdministrativeArea.t()
        | SEO.JSONLD.Place.t()
        | String.t(),
      audience: SEO.JSONLD.Audience.t() | map(),
      available_channel: SEO.JSONLD.ServiceChannel.t() | map(),
      award: String.t(),
      brand: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Brand.t(),
      broker: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      category:
        String.t()
        | URI.t()
        | SEO.JSONLD.Thing.t()
        | map()
        | :aerobic_activity
        | :anaerobic_activity
        | :balance
        | :flexibility
        | :leisure_time_activity
        | :occupational_activity
        | :strength_training
        | SEO.JSONLD.CategoryCode.t(),
      has_certification: SEO.JSONLD.Certification.t() | map(),
      has_offer_catalog: SEO.JSONLD.OfferCatalog.t() | map(),
      hours_available: SEO.JSONLD.OpeningHoursSpecification.t() | map(),
      is_related_to: SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(),
      is_similar_to: SEO.JSONLD.Service.t() | map() | SEO.JSONLD.Product.t(),
      logo: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
      produces: SEO.JSONLD.Thing.t() | map(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      provider_mobility: String.t(),
      review: SEO.JSONLD.Review.t() | map(),
      service_area:
        SEO.JSONLD.GeoShape.t()
        | map()
        | SEO.JSONLD.AdministrativeArea.t()
        | SEO.JSONLD.Place.t(),
      service_audience: SEO.JSONLD.Audience.t() | map(),
      service_output: SEO.JSONLD.Thing.t() | map(),
      service_type:
        :basic_income
        | :business_support
        | :disability_support
        | :health_care
        | :one_time_payments
        | :paid_leave
        | :parental_support
        | :unemployment_support
        | String.t(),
      slogan: String.t(),
      terms_of_service: String.t() | URI.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 "FinancialProduct", 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 FinancialProduct JSON-LD map.

Fields

  • :annual_percentage_rate - The annual rate that is charged for borrowing (or made by investing), expressed as a single percentage number that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction.
  • :fees_and_commissions_specification - Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization.
  • :interest_rate - The interest rate, charged or paid, applicable to the financial product. Note: This is different from the calculated annualPercentageRate.

Inherited properties

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