{
	"id": "JobPosting.json",
	"title": "Job Posting",
	"description": "A listing that describes a job opening in a certain organization.",
	"media": {"type": "application/json;profile=http://schema.org/JobPosting"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}],
	"type": "object",
	"properties": {
		"applicantLocationRequirements": {"$ref": "AdministrativeArea.json#/definitions/possibleRef"},
		"baseSalary": {"$ref": "#/definitions/baseSalary"},
		"datePosted": {"$ref": "#/definitions/datePosted"},
		"educationRequirements": {"$ref": "#/definitions/educationRequirements"},
		"employmentType": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/employmentType"}
				},
				{"$ref": "#/definitions/employmentType"}
			]
		},
		"employmentUnit": {
			"oneOf": [
				{"$ref": "Organization.json#/definitions/possibleRef"},
				{
					"type": "array",
					"items": {"$ref": "Organization.json#/definitions/possibleRef"}
				}
			]
		},
		"estimatedSalary": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/estimatedSalary"}
				},
				{"$ref": "#/definitions/estimatedSalary"}
			]
		},
		"experienceRequirements": {"$ref": "#/definitions/experienceRequirements"},
		"hiringOrganization": {"$ref": "Organization.json#/definitions/possibleRef"},
		"incentiveCompensation": {
			"oneOf": [
				{"$ref": "#/definitions/incentiveCompensation"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/incentiveCompensation"}
				}
			]
		},
		"industry": {"$ref": "#/definitions/industry"},
		"jobBenefits": {
			"oneOf": [
				{"$ref": "#/definitions/jobBenefits"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/jobBenefits"}
				}
			]
		},
		"jobImmediateStart": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/jobImmediateStart"}
				},
				{"$ref": "#/definitions/jobImmediateStart"}
			]
		},
		"jobLocation": {"$ref": "Place.json#/definitions/possibleRefArray"},
		"jobLocationType": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/jobLocationType"}
				},
				{"$ref": "#/definitions/jobLocationType"}
			]
		},
		"jobStartDate": {"$ref": "#/definitions/jobStartDate"},
		"occupationalCategory": {
			"type": "array",
			"items": {
				"type": "string",
				"format": "uri",
				"links": [{
					"rel": "http://schema.org/occupationalCategory",
					"href": "{+$}",
					"linkSource": 2
				}]
			}
		},
		"qualifications": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/qualifications"}
				},
				{"$ref": "#/definitions/qualifications"}
			]
		},
		"relevantOccupation": {"$ref": "Occupation.json#/definitions/possibleRef"},
		"responsibilities": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/responsibilities"}
				},
				{"$ref": "#/definitions/responsibilities"}
			]
		},
		"salaryCurrency": {"$ref": "#/definitions/salaryCurrency"},
		"skills": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/skills"}
				},
				{"$ref": "#/definitions/skills"}
			]
		},
		"specialCommitments": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/specialCommitments"}
				},
				{"$ref": "#/definitions/specialCommitments"}
			]
		},
		"title": {"$ref": "#/definitions/title"},
		"totalJobOpenings": {"$ref": "#/definitions/totalJobOpenings"},
		"validThrough": {"$ref": "#/definitions/validThrough"},
		"workHours": {"$ref": "#/definitions/workHours"}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"baseSalary": {
			"title": "Base Salary",
			"description": "The base salary of the job or of an employee in an EmployeeRole.",
			"anyOf": [{"$ref": "PriceSpecification.json#/definitions/possibleRef"}, {"type": "number"}, {"$ref": "MonetaryAmount.json#/definitions/possibleRef"}]
		},
		"datePosted": {
			"title": "Date Posted",
			"description": "Publication date for the job posting.",
			"type": "string",
			"format": "date"
		},
		"educationRequirements": {
			"title": "Education Requirements",
			"description": "Educational background needed for the position or Occupation.",
			"anyOf": [{"type": "string"}, {"$ref": "EducationalOccupationalCredential.json#/definitions/possibleRef"}]
		},
		"employmentType": {
			"title": "Employment Type",
			"description": "Type of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship).",
			"type": "string"
		},
		"estimatedSalary": {
			"title": "Estimated Salary",
			"description": "An estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries  are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value.",
			"anyOf": [{"type": "number"}, {"$ref": "MonetaryAmountDistribution.json#/definitions/possibleRef"}, {"$ref": "MonetaryAmount.json#/definitions/possibleRef"}]
		},
		"experienceRequirements": {
			"title": "Experience Requirements",
			"description": "Description of skills and experience needed for the position or Occupation.",
			"type": "string"
		},
		"incentiveCompensation": {
			"title": "Incentive Compensation",
			"description": "Description of bonus and commission compensation aspects of the job. Supersedes incentives.",
			"type": "string"
		},
		"industry": {
			"title": "Industry",
			"description": "The industry associated with the job position.",
			"type": "string"
		},
		"jobBenefits": {
			"title": "Job Benefits",
			"description": "Description of benefits associated with the job. Supersedes benefits.",
			"type": "string"
		},
		"jobImmediateStart": {
			"title": "Job Immediate Start",
			"description": "An indicator as to whether a position is available for an immediate start.",
			"type": "boolean"
		},
		"jobLocationType": {
			"title": "Job Location Type",
			"description": "A description of the job location (e.g TELECOMMUTE for telecommute jobs).",
			"type": "string"
		},
		"jobStartDate": {
			"title": "Job Start Date",
			"description": "The date on which a successful applicant for this job would be expected to start work. Choose a specific date in the future or use the jobImmediateStart property to indicate the position is to be filled as soon as possible.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{"type": "string"}
			]
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"qualifications": {
			"title": "Qualifications",
			"description": "Specific qualifications required for this role or Occupation.",
			"anyOf": [{"type": "string"}, {"$ref": "EducationalOccupationalCredential.json#/definitions/possibleRef"}]
		},
		"responsibilities": {
			"title": "Responsibilities",
			"description": "Responsibilities associated with this role or Occupation.",
			"type": "string"
		},
		"salaryCurrency": {
			"title": "Salary Currency",
			"description": "The currency (coded using ISO 4217 ) used for the main salary information in this job posting or for this employee.",
			"type": "string"
		},
		"skills": {
			"title": "Skills",
			"description": "A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or to work in this occupation.",
			"anyOf": [{"type": "string"}, {"$ref": "DefinedTerm.json#/definitions/possibleRef"}]
		},
		"specialCommitments": {
			"title": "Special Commitments",
			"description": "Any special commitments associated with this job posting. Valid entries include VeteranCommit, MilitarySpouseCommit, etc.",
			"type": "string"
		},
		"title": {
			"title": "Title",
			"description": "The title of the job.",
			"type": "string"
		},
		"totalJobOpenings": {
			"title": "Total Job Openings",
			"description": "The number of positions open for this job posting. Use a positive integer. Do not use if the number of positions is unclear or not known.",
			"type": "integer"
		},
		"validThrough": {
			"title": "Valid Through",
			"description": "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.",
			"anyOf": [
				{
					"type": "string",
					"format": "date"
				},
				{
					"type": "string",
					"format": "date-time"
				}
			]
		},
		"workHours": {
			"title": "Work Hours",
			"description": "The typical working hours for this job (e.g. 1st shift, night shift, 8am-5pm).",
			"type": "string"
		}
	}
}