{ "$schema": "http://json-schema.org/schema#", "$schemaVersion": "0.0.1", "$id": "https://smart-data-models.github.io/dataModel.Transportation/Vehicle/schema.json", "title": " - Vehicle - ", "description": "This entity models a particular vehicle model, including all properties which are common to multiple vehicle instances belonging to such model.", "type": "object", "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/PhysicalObject-Commons" }, { "properties": { "type": { "type": "string", "enum": [ "Vehicle" ], "description": "Property. NGSI Entity type. It has to be Vehicle" }, "vehicleType": { "type": "string", "description": "Property. Type of vehicle from the point of view of its structural characteristics. This is different than the vehicle category . Model:'https://schema.org/Text'. Enum:'agriculturalVehicle, anyVehicle, articulatedVehicle, bicycle, binTrolley, bus, car, caravan, carOrLightVehicle, carWithCaravan, carWithTrailer, cleaningTrolley, constructionOrMaintenanceVehicle, fourWheelDrive, highSidedVehicle, lorry, minibus, moped, motorcycle, motorcycleWithSideCar, motorscooter, sweepingMachine, tanker, threeWheeledVehicle, trailer, tram, twoWheeledVehicle, trolley, van, vehicleWithoutCatalyticConverter, vehicleWithCaravan, vehicleWithTrailer, withEvenNumberedRegistrationPlates, withOddNumberedRegistrationPlates, other'. The following values defined by _VehicleTypeEnum_ and _VehicleTypeEnum2_, [DATEX 2 version 2.3](http://d2docs.ndwcloud.nu/_static/umlmodel/v2.3/index.htm)", "enum": [ "agriculturalVehicle", "anyVehicle", "articulatedVehicle", "bicycle", "binTrolley", "bus", "car", "caravan", "carOrLightVehicle", "carWithCaravan", "carWithTrailer", "cleaningTrolley", "constructionOrMaintenanceVehicle", "fourWheelDrive", "highSidedVehicle", "lorry", "minibus", "moped", "motorcycle", "motorcycleWithSideCar", "motorscooter", "sweepingMachine", "tanker", "threeWheeledVehicle", "trailer", "tram", "trolley", "twoWheeledVehicle", "van", "vehicleWithoutCatalyticConverter", "vehicleWithCaravan", "vehicleWithTrailer", "withEvenNumberedRegistrationPlates", "withOddNumberedRegistrationPlates", "other" ] }, "category": { "type": "array", "description": "Property. Vehicle category(ies) from an external point of view. This is different than the vehicle type (car, lorry, etc.) represented by the `vehicleType` property. Model:'https://schema.org/Text'. Enum:'municipalServices, nonTracked, private, public, specialUsage, tracked'. Tracked vehicles are those vehicles which position is permanently tracked by a remote system. Or any other needed by an application They incorporate a GPS receiver together with a network connection to periodically update a reported position (location, speed, heading ...).", "items": { "type": "string", "enum": [ "municipalServices", "nonTracked", "private", "public", "specialUsage", "tracked" ] } }, "previousLocation": { "$ref": "http://geojson.org/schema/Geometry.json#" }, "speed": { "oneOf": [ { "type": "number", "minimum": 0 }, { "type": "number", "enum": [ -1 ] } ], "description": "Property. Denotes the magnitude of the horizontal component of the vehicle's current velocity and is specified in Kilometers per Hour. If provided, the value of the speed attribute must be a non-negative real number. `-1` MAY be used if speed is transiently unknown for some reason. Model:'https://schema.org/Number'. Units:'Kilometer per hour (Km/h)'" }, "heading": { "oneOf": [ { "type": "number", "minimum": 0, "maximum": 360 }, { "type": "number", "const": -1 } ], "description": "Property. Denotes the direction of travel of the vehicle and is specified in decimal degrees, where 0 <= `heading` < 360, counting clockwise relative to the true north. If the vehicle is stationary (i.e. the value of the `speed` attribute is `0`), then the value of the heading attribute must be equal to `-1`. Model:'https://schema.org/Number'. Units:'Kilometer per hour (Km/h)'" }, "cargoWeight": { "type": "number", "description": "Property. Current weight of the vehicle's cargo. Model:'https://schema.org/Number'. Units:'Kilograms'", "exclusiveMinimum": 0 }, "vehicleIdentificationNumber": { "type": "string", "description": "Property. The Vehicle Identification Number (VIN) is a unique serial number used by the automotive industry to identify individual motor vehicles. Model:'https://schema.org/vehicleIdentificationNumber'." }, "vehiclePlateIdentifier": { "type": "string", "description": "Property. An identifier or code displayed on a vehicle registration plate attached to the vehicle used for official identification purposes. The registration identifier is numeric or alphanumeric and is unique within the issuing authority's region. Model:'https://schema.org/Text'. Normative References: DATEXII `vehicleRegistrationPlateIdentifier`" }, "fleetVehicleId": { "type": "string", "description": "Property. The identifier of the vehicle in the context of the fleet of vehicles to which it belongs. Model:'https://schema.org/Text'." }, "dateVehicleFirstRegistered": { "type": "string", "format": "date", "description": "Property. The date of the first registration of the vehicle with the respective public authorities. Model:'https://schema.org/dateVehicleFirstRegistered'." }, "dateFirstUsed": { "type": "string", "format": "date", "description": "Property. Timestamp which denotes when the vehicle was first used. Model:'https://schema.org/DateTime'." }, "purchaseDate": { "type": "string", "format": "date-time", "description": "Property. The date the item e.g. vehicle was purchased by the current owner. Model:'https://schema.org/purchaseDate'." }, "mileageFromOdometer": { "type": "number", "description": "Property. The total distance travelled by the particular vehicle since its initial production, as read from its odometer. Model:'https://schema.org/mileageFromOdometer'." }, "vehicleConfiguration": { "type": "string", "description": "Property. A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'. Model:'https://schema.org/vehicleConfiguration'." }, "color": { "type": "string", "description": "Property. Vehicle's color. Model:'https://schema.org/color'." }, "feature": { "type": "array", "description": "Property. Feature(s) incorporated by the vehicle. Model:'https://schema.org/Text'. Enum:' abs, airbag, alarm, backCamera, disabledRamp, gps, internetConnection, overspeed, proximitySensor, wifi'. Or any other needed by the application. In order to represent multiple instances of a feature it can be used the following syntax: `,`. For example, a car with 4 airbags will be represented by `airbag,4`.", "items": { "type": "string", "enum": [ "abs", "airbag", "alarm", "backCamera", "disabledRamp", "gps", "internetConnection", "overspeed", "proximitySensor", "wifi" ] } }, "serviceProvided": { "type": "array", "description": "Property. Service(s) the vehicle is capable of providing or it is assigned to. Model:'https://schema.org/Text'. Enum:'auxiliaryServices, cargoTransport, construction, fairground, garbageCollection, goodsSelling, maintenance, parksAndGardens, roadSignalling, specialTransport, streetCleaning, streetLighting, urbanTransit, wasteContainerCleaning'. Or any other value needed by an specific application.", "items": { "type": "string", "enum": [ "auxiliaryServices", "cargoTransport", "construction", "fairground", "garbageCollection", "goodsSelling", "maintenance", "parksAndGardens", "roadSignalling", "specialTransport", "streetCleaning", "streetLighting", "urbanTransit", "wasteContainerCleaning" ] } }, "vehicleSpecialUsage": { "type": "string", "description": "Property. Indicates whether the vehicle is been used for special purposes, like commercial rental, driving school, or as a taxi. The legislation in many countries requires this information to be revealed when offering a car for sale. Model:'https://schema.org/vehicleSpecialUsage'. Enum:'ambulance, fireBrigade, military, police, schoolTransportation, taxi'", "enum": [ "ambulance", "fireBrigade", "military", "police", "schoolTransportation", "taxi" ] }, "refVehicleModel": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Relationship. Model:'https://schema.org/URL'. Reference to a VehicleModel" }, "serviceStatus": { "type": "string", "description": "Property. Vehicle status (from the point of view of the service provided, so it could not apply to private vehicles). Model:'https://schema.org/DateTime'. `parked` : Vehicle is parked and not providing any service at the moment. `onRoute` : Vehicle is performing a mission. A comma-separated modifier(s) can be added to indicate what mission is currently delivering the vehicle. For instance `onRoute,garbageCollection` can be used to denote that the vehicle is on route and in a garbage collection mission. `broken` : Vehicle is suffering a temporary breakdown. `outOfService` : Vehicle is on the road but not performing any mission, probably going to its parking area. Enum:'broken, onRoute, outOfService, parked'", "enum": [ "broken", "onRoute", "outOfService", "parked" ] } } } ], "required": [ "id", "type", "vehicleType", "category", "location" ] }