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

View Source

A loan in which property or real estate is used as collateral. (A loan securitized against some real estate.)

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:domiciled_mortgage) => boolean(),
    optional(:loan_mortgage_mandate_amount) =>
      SEO.JSONLD.MonetaryAmount.t() | map(),
    optional(:amount) => SEO.JSONLD.MonetaryAmount.t() | map() | number(),
    optional(:currency) => String.t(),
    optional(:grace_period) => Duration.t() | String.t(),
    optional(:loan_repayment_form) =>
      SEO.JSONLD.RepaymentSpecification.t() | map(),
    optional(:loan_term) => SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:loan_type) => String.t() | URI.t(),
    optional(:recourse_loan) => boolean(),
    optional(:renegotiable_loan) => boolean(),
    optional(:required_collateral) => SEO.JSONLD.Thing.t() | map() | String.t(),
    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()
  }
  | [
      domiciled_mortgage: boolean(),
      loan_mortgage_mandate_amount: SEO.JSONLD.MonetaryAmount.t() | map(),
      amount: SEO.JSONLD.MonetaryAmount.t() | map() | number(),
      currency: String.t(),
      grace_period: Duration.t() | String.t(),
      loan_repayment_form: SEO.JSONLD.RepaymentSpecification.t() | map(),
      loan_term: SEO.JSONLD.QuantitativeValue.t() | map(),
      loan_type: String.t() | URI.t(),
      recourse_loan: boolean(),
      renegotiable_loan: boolean(),
      required_collateral: SEO.JSONLD.Thing.t() | map() | 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 "MortgageLoan", 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 MortgageLoan JSON-LD map.

Fields

  • :domiciled_mortgage - Whether borrower is a resident of the jurisdiction where the property is located.
  • :loan_mortgage_mandate_amount - Amount of mortgage mandate that can be converted into a proper mortgage at a later stage.

Inherited properties

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