SEO. JSONLD. WorkBasedProgram
(SEO v0.3.0-rc.0)
View Source
A program with both an educational and employment component. Typically based at a workplace and structured around work-based learning, with the aim of instilling competencies related to an occupation. WorkBasedProgram is used to distinguish programs such as apprenticeships from school, college or other classroom based educational programs.
Helper for building a Schema.org WorkBasedProgram JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "WorkBasedProgram", 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 WorkBasedProgram JSON-LD map.
Types
@type attrs() :: %{ optional(:occupational_category) => SEO.JSONLD.CategoryCode.t() | map() | String.t(), optional(:training_salary) => SEO.JSONLD.MonetaryAmountDistribution.t() | map(), optional(:application_deadline) => Date.t() | String.t(), optional(:application_start_date) => Date.t() | String.t(), optional(:day_of_week) => :friday | :monday | :public_holidays | :saturday | :sunday | :thursday | :tuesday | :wednesday, optional(:educational_credential_awarded) => String.t() | URI.t() | SEO.JSONLD.EducationalOccupationalCredential.t() | map(), optional(:educational_program_mode) => URI.t() | String.t(), optional(:end_date) => DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), optional(:financial_aid_eligible) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(), optional(:has_course) => SEO.JSONLD.Course.t() | map(), optional(:maximum_enrollment) => integer(), optional(:number_of_credits) => integer() | SEO.JSONLD.StructuredValue.t() | map(), optional(:occupational_credential_awarded) => SEO.JSONLD.EducationalOccupationalCredential.t() | map() | String.t() | URI.t(), optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), optional(:program_prerequisites) => SEO.JSONLD.EducationalOccupationalCredential.t() | map() | SEO.JSONLD.AlignmentObject.t() | SEO.JSONLD.Course.t() | String.t(), optional(:program_type) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(), optional(:provider) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:salary_upon_completion) => SEO.JSONLD.MonetaryAmountDistribution.t() | map(), optional(:start_date) => Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), optional(:term_duration) => Duration.t() | String.t(), optional(:terms_per_year) => number(), optional(:time_of_day) => String.t(), optional(:time_to_complete) => Duration.t() | String.t(), optional(:typical_credits_per_term) => SEO.JSONLD.StructuredValue.t() | map() | integer(), 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() } | [ occupational_category: SEO.JSONLD.CategoryCode.t() | map() | String.t(), training_salary: SEO.JSONLD.MonetaryAmountDistribution.t() | map(), application_deadline: Date.t() | String.t(), application_start_date: Date.t() | String.t(), day_of_week: :friday | :monday | :public_holidays | :saturday | :sunday | :thursday | :tuesday | :wednesday, educational_credential_awarded: String.t() | URI.t() | SEO.JSONLD.EducationalOccupationalCredential.t() | map(), educational_program_mode: URI.t() | String.t(), end_date: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(), financial_aid_eligible: SEO.JSONLD.DefinedTerm.t() | map() | String.t(), has_course: SEO.JSONLD.Course.t() | map(), maximum_enrollment: integer(), number_of_credits: integer() | SEO.JSONLD.StructuredValue.t() | map(), occupational_credential_awarded: SEO.JSONLD.EducationalOccupationalCredential.t() | map() | String.t() | URI.t(), offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(), program_prerequisites: SEO.JSONLD.EducationalOccupationalCredential.t() | map() | SEO.JSONLD.AlignmentObject.t() | SEO.JSONLD.Course.t() | String.t(), program_type: String.t() | SEO.JSONLD.DefinedTerm.t() | map(), provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), salary_upon_completion: SEO.JSONLD.MonetaryAmountDistribution.t() | map(), start_date: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(), term_duration: Duration.t() | String.t(), terms_per_year: number(), time_of_day: String.t(), time_to_complete: Duration.t() | String.t(), typical_credits_per_term: SEO.JSONLD.StructuredValue.t() | map() | integer(), 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() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "WorkBasedProgram", 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 WorkBasedProgram JSON-LD map.
Fields
:occupational_category- A category describing the job, preferably using a term from a taxonomy such as BLS O*NET-SOC, ISCO-08 or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.
Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC.
:training_salary- The estimated salary earned while in the program.
Inherited properties
Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: