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

View Source

A subclass of OrganizationRole used to describe employee relationships.

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

Summary

Types

t()

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

Types

attrs()

@type attrs() ::
  %{
    optional(:base_salary) =>
      SEO.JSONLD.PriceSpecification.t()
      | map()
      | number()
      | SEO.JSONLD.MonetaryAmount.t(),
    optional(:salary_currency) => String.t(),
    optional(:numbered_position) => number(),
    optional(:end_date) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:named_position) => String.t() | URI.t(),
    optional(:role_name) => String.t() | URI.t(),
    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()
  }
  | [
      base_salary:
        SEO.JSONLD.PriceSpecification.t()
        | map()
        | number()
        | SEO.JSONLD.MonetaryAmount.t(),
      salary_currency: String.t(),
      numbered_position: number(),
      end_date: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      named_position: String.t() | URI.t(),
      role_name: String.t() | URI.t(),
      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 "EmployeeRole", 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 EmployeeRole JSON-LD map.

Fields

  • :base_salary - The base salary of the job or of an employee in an EmployeeRole.
  • :salary_currency - The currency (coded using ISO 4217) used for the main salary information in this job posting or for this employee.

Inherited properties

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