{
	"id": "TrainTrip.json",
	"title": "Train Trip",
	"description": "A trip on a commercial train line.",
	"media": {"type": "application/json;profile=http://schema.org/TrainTrip"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}, {"$ref": "Trip.json"}],
	"type": "object",
	"properties": {
		"arrivalPlatform": {"$ref": "#/definitions/arrivalPlatform"},
		"arrivalStation": {"$ref": "TrainStation.json#/definitions/possibleRef"},
		"departurePlatform": {"$ref": "#/definitions/departurePlatform"},
		"departureStation": {"$ref": "TrainStation.json#/definitions/possibleRef"},
		"trainName": {"$ref": "#/definitions/trainName"},
		"trainNumber": {"$ref": "#/definitions/trainNumber"}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"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": "{+$}"
					}]
				}
			]
		},
		"arrivalPlatform": {
			"title": "Arrival Platform",
			"description": "The platform where the train arrives.",
			"type": "string"
		},
		"departurePlatform": {
			"title": "Departure Platform",
			"description": "The platform from which the train departs.",
			"type": "string"
		},
		"trainName": {
			"title": "Train Name",
			"description": "The name of the train (e.g. The Orient Express).",
			"type": "string"
		},
		"trainNumber": {
			"title": "Train Number",
			"description": "The unique identifier for the train.",
			"type": "string"
		}
	}
}