{
	"id": "Service.json",
	"title": "Service",
	"description": "A service provided by an organization, e.g. delivery service, print services, etc.",
	"media": {"type": "application/json;profile=http://schema.org/Service"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}],
	"type": "object",
	"properties": {
		"aggregateRating": {"$ref": "AggregateRating.json#/definitions/possibleRef"},
		"areaServed": {"$ref": "#/definitions/areaServed"},
		"audience": {"$ref": "Audience.json#/definitions/possibleRef"},
		"availableChannel": {"$ref": "ServiceChannel.json#/definitions/possibleRefArray"},
		"award": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/award"}
				},
				{"$ref": "#/definitions/award"}
			]
		},
		"brand": {"$ref": "#/definitions/brand"},
		"broker": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/broker"}
				},
				{"$ref": "#/definitions/broker"}
			]
		},
		"category": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/category"}
				},
				{"$ref": "#/definitions/category"}
			]
		},
		"hasOfferCatalog": {
			"oneOf": [
				{"$ref": "OfferCatalog.json#/definitions/possibleRef"},
				{
					"type": "array",
					"items": {"$ref": "OfferCatalog.json#/definitions/possibleRef"}
				}
			]
		},
		"hoursAvailable": {"$ref": "OpeningHoursSpecification.json#/definitions/possibleRef"},
		"isRelatedTo": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/isRelatedTo"}
				},
				{"$ref": "#/definitions/isRelatedTo"}
			]
		},
		"isSimilarTo": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/isSimilarTo"}
				},
				{"$ref": "#/definitions/isSimilarTo"}
			]
		},
		"logo": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/logo"}
				},
				{"$ref": "#/definitions/logo"}
			]
		},
		"offers": {"$ref": "Offer.json#/definitions/possibleRefArray"},
		"provider": {"$ref": "#/definitions/provider"},
		"providerMobility": {
			"oneOf": [
				{"$ref": "#/definitions/providerMobility"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/providerMobility"}
				}
			]
		},
		"review": {"$ref": "Review.json#/definitions/possibleRefArray"},
		"serviceOutput": {"$ref": "Thing.json#/definitions/possibleRef"},
		"serviceType": {"$ref": "#/definitions/serviceType"},
		"slogan": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/slogan"}
				},
				{"$ref": "#/definitions/slogan"}
			]
		},
		"termsOfService": {
			"oneOf": [
				{"$ref": "#/definitions/termsOfService"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/termsOfService"}
				}
			]
		}
	},
	"definitions": {
		"areaServed": {
			"title": "Area Served",
			"description": "The geographic area where a service or offered item is provided. Supersedes serviceArea.",
			"anyOf": [{"type": "string"}, {"$ref": "GeoShape.json#/definitions/possibleRef"}, {"$ref": "AdministrativeArea.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"award": {
			"title": "Award",
			"description": "An award won by or for this item. Supersedes awards.",
			"type": "string"
		},
		"brand": {
			"title": "Brand",
			"description": "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.",
			"anyOf": [{"$ref": "Organization.json#/definitions/possibleRef"}, {"$ref": "Brand.json#/definitions/possibleRef"}]
		},
		"broker": {
			"title": "Broker",
			"description": "An entity that arranges for an exchange between a buyer and a seller.  In most cases a broker never acquires or releases ownership of a product or service involved in an exchange.  If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred. Supersedes bookingAgent.",
			"anyOf": [{"$ref": "Organization.json#/definitions/possibleRef"}, {"$ref": "Person.json#/definitions/possibleRef"}]
		},
		"category": {
			"title": "Category",
			"description": "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.",
			"anyOf": [{"type": "string"}, {"$ref": "PhysicalActivityCategory.json#/definitions/possibleRef"}, {"$ref": "Thing.json#/definitions/possibleRef"}]
		},
		"isRelatedTo": {
			"title": "Is Related to",
			"description": "A pointer to another, somehow related product (or multiple products).",
			"anyOf": [{"$ref": "Product.json#/definitions/possibleRef"}, {"$ref": "Service.json#/definitions/possibleRef"}]
		},
		"isSimilarTo": {
			"title": "Is Similar to",
			"description": "A pointer to another, functionally similar product (or multiple products).",
			"anyOf": [{"$ref": "Product.json#/definitions/possibleRef"}, {"$ref": "Service.json#/definitions/possibleRef"}]
		},
		"logo": {
			"title": "Logo",
			"description": "An associated logo.",
			"anyOf": [
				{
					"type": "string",
					"format": "uri"
				},
				{"$ref": "ImageObject.json#/definitions/possibleRef"}
			]
		},
		"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": "{+$}"
					}]
				}
			]
		},
		"provider": {
			"title": "Provider",
			"description": "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller. Supersedes carrier.",
			"anyOf": [{"$ref": "Organization.json#/definitions/possibleRef"}, {"$ref": "Person.json#/definitions/possibleRef"}]
		},
		"providerMobility": {
			"title": "Provider Mobility",
			"description": "Indicates the mobility of a provided service (e.g. 'static', 'dynamic').",
			"type": "string"
		},
		"serviceType": {
			"title": "Service Type",
			"description": "The type of service being offered, e.g. veterans' benefits, emergency relief, etc.",
			"type": "string"
		},
		"slogan": {
			"title": "Slogan",
			"description": "A slogan or motto associated with the item.",
			"type": "string"
		},
		"termsOfService": {
			"title": "Terms of Service",
			"description": "Human-readable terms of service documentation.",
			"anyOf": [
				{"type": "string"},
				{
					"type": "string",
					"format": "uri"
				}
			]
		}
	}
}