From 08500949d6ed53d5239d66f61d08700628397111 Mon Sep 17 00:00:00 2001 From: Ameet Deshpande Date: Sat, 18 Apr 2026 15:24:01 +0530 Subject: [PATCH] schema: port upstream EV charging enhancements (ConnectorType, qrIdentifier, multi-vehicleType) Mirrors beckn/protocol-specifications-v2#105 and #118 into specification/schema/, re-namespaced to deg: per DEG conventions. - New ConnectorType/v2.0/ schema as the single source of truth for the 14 connector-interface identifiers; EvChargingService and EvChargingSession now import it via @context array. - EvChargingService: add qrIdentifier, widen connectorType enum, switch vehicleType to oneOf (string or array), relax additionalProperties on ChargingService. - EvChargingSession: widen connectorType enum; drop duplicated ConnectorType vocab. - Root context.jsonld registers the new schema. Co-Authored-By: Claude Opus 4.7 (1M context) --- specification/schema/ConnectorType/README.md | 46 +++++ .../schema/ConnectorType/v2.0/attributes.yaml | 31 +++ .../schema/ConnectorType/v2.0/context.jsonld | 30 +++ .../schema/ConnectorType/v2.0/vocab.jsonld | 141 ++++++++++++++ .../schema/EvChargingService/README.md | 4 +- .../EvChargingService/v2.0/attributes.yaml | 36 +++- .../EvChargingService/v2.0/context.jsonld | 182 +++++++++--------- .../EvChargingService/v2.0/vocab.jsonld | 66 +------ .../schema/EvChargingSession/README.md | 2 +- .../EvChargingSession/v2.0/attributes.yaml | 2 +- .../EvChargingSession/v2.0/context.jsonld | 123 ++++++------ .../EvChargingSession/v2.0/vocab.jsonld | 57 ------ specification/schema/context.jsonld | 1 + 13 files changed, 439 insertions(+), 282 deletions(-) create mode 100644 specification/schema/ConnectorType/README.md create mode 100644 specification/schema/ConnectorType/v2.0/attributes.yaml create mode 100644 specification/schema/ConnectorType/v2.0/context.jsonld create mode 100644 specification/schema/ConnectorType/v2.0/vocab.jsonld diff --git a/specification/schema/ConnectorType/README.md b/specification/schema/ConnectorType/README.md new file mode 100644 index 00000000..567d54ff --- /dev/null +++ b/specification/schema/ConnectorType/README.md @@ -0,0 +1,46 @@ +# ConnectorType + +> **Canonical IRI:** [`https://schema.beckn.io/ConnectorType`](https://schema.beckn.io/ConnectorType) +> **Tags:** `ev-charging, connector, enumeration, ocpi, beckn` +> **Namespace:** `https://schema.beckn.io/` +> Part of the [DEG Schema](../../README.md) + +--- + +**EV connector type enumeration** — the single source of truth for physical connector interface identifiers used by DEG EV charging schemas. Referenced by `EvChargingService` and `EvChargingSession` via their `connectorType` property. + +## Versions + +| Version | attributes.yaml | context.jsonld | vocab.jsonld | +|---------|----------------|----------------|--------------| +| **v2.0** | [attributes.yaml](./v2.0/attributes.yaml) | [context.jsonld](./v2.0/context.jsonld) | [vocab.jsonld](./v2.0/vocab.jsonld) | + +## Values (latest: v2.0) + +| Value | IRI | Notes | +|-------|-----|-------| +| `CCS2` | `deg:ConnectorTypeCCS2` | IEC 62196 Combo 2. | +| `Type2` | `deg:ConnectorTypeType2` | IEC 62196 Type 2 (Mennekes), AC. | +| `Type1` | `deg:ConnectorTypeType1` | IEC 62196 Type 1 (SAE J1772). | +| `CHAdeMO` | `deg:ConnectorTypeCHAdeMO` | CHAdeMO DC fast charging. | +| `GB_T` | `deg:ConnectorTypeGBT` | GB/T family (AC/DC not distinguished). | +| `GBT_AC` | `deg:ConnectorTypeGBT_AC` | GB/T AC. | +| `GBT_DC` | `deg:ConnectorTypeGBT_DC` | GB/T DC. | +| `AC-001` | `deg:ConnectorTypeAC001` | Bharat AC-001. | +| `DC-001` | `deg:ConnectorTypeDC001` | Bharat DC-001. | +| `15A` | `deg:ConnectorType15A` | 15A current rating (see notes). | +| `IEC_AC` | `deg:ConnectorTypeIECAC` | Generic IEC AC. | +| `IEC_60309` | `deg:ConnectorTypeIEC60309` | IEC 60309 industrial. | +| `Anderson` | `deg:ConnectorTypeAnderson` | Anderson-style DC. | +| `Type6` | `deg:ConnectorTypeType6` | IEC 62196-6 / IS 17017-2-6 (LEV). | + +## Linked Data + +| Resource | URL | +|----------|-----| +| Canonical IRI | `https://schema.beckn.io/ConnectorType` | +| JSON Schema (latest) | `https://schema.beckn.io/ConnectorType/v2.0` | +| context.jsonld (latest) | `https://schema.beckn.io/ConnectorType/v2.0/context.jsonld` | +| vocab.jsonld (latest) | `https://schema.beckn.io/ConnectorType/v2.0/vocab.jsonld` | +| Root context.jsonld | `https://schema.beckn.io/context.jsonld` | +| Root vocab.jsonld | `https://schema.beckn.io/vocab.jsonld` | diff --git a/specification/schema/ConnectorType/v2.0/attributes.yaml b/specification/schema/ConnectorType/v2.0/attributes.yaml new file mode 100644 index 00000000..edc4244c --- /dev/null +++ b/specification/schema/ConnectorType/v2.0/attributes.yaml @@ -0,0 +1,31 @@ +$id: "https://schema.beckn.io/ConnectorType/v2.0" +$schema: "https://json-schema.org/draft/2020-12/schema" +title: ConnectorType +description: > + Enumeration of electric vehicle connector interface types used across + DEG EV charging schemas. This is the single source of truth for + connector type definitions. +x-tags: + - ev-charging + - connector + - enumeration +type: string +x-jsonld: + "@context": ./context.jsonld + "@type": ConnectorType +enum: + - CCS2 + - Type2 + - CHAdeMO + - GB_T + - GBT_AC + - GBT_DC + - AC-001 + - DC-001 + - 15A + - IEC_AC + - IEC_60309 + - Anderson + - Type6 + - Type1 +example: "CCS2" diff --git a/specification/schema/ConnectorType/v2.0/context.jsonld b/specification/schema/ConnectorType/v2.0/context.jsonld new file mode 100644 index 00000000..137185f1 --- /dev/null +++ b/specification/schema/ConnectorType/v2.0/context.jsonld @@ -0,0 +1,30 @@ +{ + "@context": { + "@version": 1.1, + "deg": "https://schema.beckn.io/deg/ConnectorType/v2.0/#", + "ConnectorType": "deg:ConnectorType", + "connectorType": { + "@id": "deg:connectorType", + "@type": "@id", + "@context": { + "CCS2": "deg:ConnectorTypeCCS2", + "Type2": "deg:ConnectorTypeType2", + "Type1": "deg:ConnectorTypeType1", + "CHAdeMO": "deg:ConnectorTypeCHAdeMO", + "GB_T": "deg:ConnectorTypeGBT", + "GB/T": "deg:ConnectorTypeGBT", + "GB-T": "deg:ConnectorTypeGBT", + "GBT_AC": "deg:ConnectorTypeGBT_AC", + "GBT_DC": "deg:ConnectorTypeGBT_DC", + "AC-001": "deg:ConnectorTypeAC001", + "DC-001": "deg:ConnectorTypeDC001", + "15A": "deg:ConnectorType15A", + "IEC_AC": "deg:ConnectorTypeIECAC", + "IEC_60309": "deg:ConnectorTypeIEC60309", + "Anderson": "deg:ConnectorTypeAnderson", + "Type6": "deg:ConnectorTypeType6" + } + } + }, + "@graph": [] +} diff --git a/specification/schema/ConnectorType/v2.0/vocab.jsonld b/specification/schema/ConnectorType/v2.0/vocab.jsonld new file mode 100644 index 00000000..1b402ebe --- /dev/null +++ b/specification/schema/ConnectorType/v2.0/vocab.jsonld @@ -0,0 +1,141 @@ +{ + "@context": { + "@version": 1.1, + "deg": "https://schema.beckn.io/deg/ConnectorType/v2.0/#", + "schema": "https://schema.org/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + }, + "@graph": [ + { + "@id": "deg:ConnectorType", + "@type": "schema:Enumeration", + "schema:name": "Connector Type", + "rdfs:comment": "Enumeration of electric vehicle connector interface types.", + "schema:hasEnumerationMember": [ + { "@id": "deg:ConnectorTypeCCS2" }, + { "@id": "deg:ConnectorTypeType2" }, + { "@id": "deg:ConnectorTypeCHAdeMO" }, + { "@id": "deg:ConnectorTypeGBT" }, + { "@id": "deg:ConnectorTypeGBT_AC" }, + { "@id": "deg:ConnectorTypeGBT_DC" }, + { "@id": "deg:ConnectorTypeAC001" }, + { "@id": "deg:ConnectorTypeDC001" }, + { "@id": "deg:ConnectorType15A" }, + { "@id": "deg:ConnectorTypeIECAC" }, + { "@id": "deg:ConnectorTypeIEC60309" }, + { "@id": "deg:ConnectorTypeAnderson" }, + { "@id": "deg:ConnectorTypeType6" }, + { "@id": "deg:ConnectorTypeType1" } + ] + }, + { + "@id": "deg:ConnectorTypeCCS2", + "@type": "deg:ConnectorType", + "schema:name": "CCS2", + "schema:identifier": "CCS2", + "rdfs:comment": "IEC 62196 Combo 2 (CCS2). Type 2 inlet with additional DC pins for DC fast charging.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeType2", + "@type": "deg:ConnectorType", + "schema:name": "Type2", + "schema:identifier": "Type2", + "rdfs:comment": "IEC 62196 Type 2 (AC) connector, commonly called Type 2 or Mennekes, used for AC charging.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeCHAdeMO", + "@type": "deg:ConnectorType", + "schema:name": "CHAdeMO", + "schema:identifier": "CHAdeMO", + "rdfs:comment": "CHAdeMO DC fast charging connector system.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeGBT", + "@type": "deg:ConnectorType", + "schema:name": "GB/T", + "schema:identifier": "GB_T", + "schema:alternateName": "GB-T", + "rdfs:comment": "GB/T connector family. OCPI distinguishes AC vs DC (GBT_AC vs GBT_DC). Consider splitting if the distinction matters for interoperability.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeGBT_AC", + "@type": "deg:ConnectorType", + "schema:name": "GBT AC", + "schema:identifier": "GBT_AC", + "rdfs:comment": "GB/T AC connector type.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeGBT_DC", + "@type": "deg:ConnectorType", + "schema:name": "GBT DC", + "schema:identifier": "GBT_DC", + "rdfs:comment": "GB/T DC connector type.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeType1", + "@type": "deg:ConnectorType", + "schema:name": "Type1", + "schema:identifier": "Type1", + "rdfs:comment": "IEC 62196 Type 1 (SAE J1772) AC connector, common in North America and Japan.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeAC001", + "@type": "deg:ConnectorType", + "schema:name": "AC-001", + "schema:identifier": "AC-001", + "rdfs:comment": "Bharat AC-001 charging specification and program." + }, + { + "@id": "deg:ConnectorTypeDC001", + "@type": "deg:ConnectorType", + "schema:name": "DC-001", + "schema:identifier": "DC-001", + "rdfs:comment": "Bharat DC-001 charging specification and program." + }, + { + "@id": "deg:ConnectorType15A", + "@type": "deg:ConnectorType", + "schema:name": "15A", + "schema:identifier": "15A", + "rdfs:comment": "15A is a current rating, not a connector family. Consider modeling this as rated or max current, not as ConnectorType." + }, + { + "@id": "deg:ConnectorTypeIECAC", + "@type": "deg:ConnectorType", + "schema:name": "IEC AC", + "schema:identifier": "IEC_AC", + "rdfs:comment": "Ambiguous shorthand. Prefer a specific IEC connector family (Type 1, Type 2, IEC 60309), or deprecate." + }, + { + "@id": "deg:ConnectorTypeIEC60309", + "@type": "deg:ConnectorType", + "schema:name": "IEC 60309", + "schema:identifier": "IEC_60309", + "rdfs:comment": "IEC 60309 industrial connector family. Multiple variants exist by phase and current rating. Consider narrowing or splitting into variants if needed.", + "rdfs:seeAlso": "https://github.com/ocpi/ocpi/blob/master/mod_locations.asciidoc" + }, + { + "@id": "deg:ConnectorTypeAnderson", + "@type": "deg:ConnectorType", + "schema:name": "Anderson", + "schema:identifier": "Anderson", + "rdfs:comment": "Anderson-style DC connector family label. Not directly represented in OCPI ConnectorType list." + }, + { + "@id": "deg:ConnectorTypeType6", + "@type": "deg:ConnectorType", + "schema:name": "Type6", + "schema:identifier": "Type6", + "rdfs:comment": "IEC 62196-6 or IS 17017-2-6 (Type 6) connector, typically referenced in LEV charging contexts." + } + ] +} diff --git a/specification/schema/EvChargingService/README.md b/specification/schema/EvChargingService/README.md index 761ee3fc..a4ed0ebb 100644 --- a/specification/schema/EvChargingService/README.md +++ b/specification/schema/EvChargingService/README.md @@ -21,7 +21,8 @@ | Property | Type | Required | Description | |----------|------|:--------:|-------------| | `evseId` | `string` | — | EVSE identifier (e.g., OCPI/Hubject style). | -| `connectorType` | `string` (enum) | ✓ | Physical connector type: `CCS2`, `Type2`, `CHAdeMO`, `GB_T`. | +| `qrIdentifier` | `string` | — | Short URL or token encoded in the physical QR code affixed to the connector, for BAP-side QR-scan discovery. | +| `connectorType` | `string` (enum) | ✓ | Physical connector type. Full list: see [ConnectorType](../ConnectorType/README.md). | | `maxPowerKW` | `number` | ✓ | Maximum output power of the connector (kW). | | `minPowerKW` | `number` | — | Minimum controllable power if throttling is supported (kW). | | `reservationSupported` | `boolean` | — | Whether advance reservations are supported. | @@ -31,6 +32,7 @@ | `roamingNetworks` | `array` | — | Interoperability/roaming networks this EVSE participates in. | | `ocppVersion` | `string` | — | OCPP protocol version supported. | | `powerType` | `string` (enum) | — | AC or DC power type. | +| `vehicleType` | `string` or `array` (enum) | — | Vehicle type(s) that can use this charging service: `2-WHEELER`, `3-WHEELER`, `4-WHEELER`. | ## Linked Data diff --git a/specification/schema/EvChargingService/v2.0/attributes.yaml b/specification/schema/EvChargingService/v2.0/attributes.yaml index f84e2680..7ca95c38 100644 --- a/specification/schema/EvChargingService/v2.0/attributes.yaml +++ b/specification/schema/EvChargingService/v2.0/attributes.yaml @@ -17,7 +17,7 @@ x-tags: - connector - energy type: object -additionalProperties: false +additionalProperties: true required: - connectorType - maxPowerKW @@ -33,9 +33,20 @@ properties: x-jsonld: "@id": evseId + qrIdentifier: + type: string + description: > + The short URL or plain-text token encoded in the physical QR code + affixed to this connector. BPPs populate this during catalog publish + so that BAPs can discover a specific connector by scanning its QR + without requiring CPO-specific SDK logic to resolve the scanned value. + example: "https://charge.ecopower.in/cs01-ccs2" + x-jsonld: + "@id": qrIdentifier + connectorType: type: string - enum: [CCS2, Type2, CHAdeMO, GB_T] + enum: [CCS2, Type2, CHAdeMO, GB_T, GBT_AC, GBT_DC, AC-001, DC-001, 15A, IEC_AC, IEC_60309, Anderson, Type6, Type1] description: Physical connector type supported by this EVSE. example: CCS2 x-jsonld: @@ -161,9 +172,22 @@ properties: "@id": chargingSpeed vehicleType: - type: string - enum: ["2-WHEELER", "3-WHEELER", "4-WHEELER"] - description: Type of vehicle that can use this charging service. - example: "4-WHEELER" + oneOf: + - type: string + enum: ["2-WHEELER", "3-WHEELER", "4-WHEELER"] + description: Single vehicle type supported by this charging service. + example: "4-WHEELER" + - type: array + items: + type: string + enum: ["2-WHEELER", "3-WHEELER", "4-WHEELER"] + minItems: 1 + uniqueItems: true + description: Multiple vehicle types supported by this charging service. + example: ["2-WHEELER", "4-WHEELER"] + description: > + Vehicle type(s) that can use this charging service. + Use a single string for backwards compatibility or an array + when the connector supports multiple vehicle types. x-jsonld: "@id": vehicleType diff --git a/specification/schema/EvChargingService/v2.0/context.jsonld b/specification/schema/EvChargingService/v2.0/context.jsonld index f2171c6e..f1b8b8ce 100644 --- a/specification/schema/EvChargingService/v2.0/context.jsonld +++ b/specification/schema/EvChargingService/v2.0/context.jsonld @@ -1,97 +1,91 @@ { - "@context": { - "@version": 1.1, - "schema": "https://schema.org/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "beckn": "https://schema.beckn.io/core/v2.0/", - "ChargingService": "deg:ChargingService", - "ChargingStation": "deg:ChargingStation", - "name": "schema:name", - "description": "schema:description", - "price": "schema:price", - "priceCurrency": "schema:priceCurrency", - "startTime": "schema:startTime", - "endTime": "schema:endTime", - "orderStatus": "schema:orderStatus", - "serviceLocation": "schema:serviceLocation", - "geo": "schema:geo", - "latitude": "schema:latitude", - "longitude": "schema:longitude", - "paymentAccepted": "schema:paymentAccepted", - "image": "schema:image", - "url": "schema:url", - "sameAs": "schema:sameAs", - "identifier": "schema:identifier", - "areaServed": "schema:areaServed", - "category": "schema:category", - "chargingStation": "deg:chargingStation", - "amenityFeature": { - "@id": "deg:amenityFeature", - "@type": "@id" - }, - "connectorType": { - "@id": "deg:connectorType", - "@type": "@id" - }, - "powerType": { - "@id": "deg:powerType", - "@type": "@id" - }, - "connectorFormat": { - "@id": "deg:connectorFormat", - "@type": "@id" - }, - "chargingSpeed": { - "@id": "deg:chargingSpeed", - "@type": "@id" - }, - "vehicleType": { - "@id": "deg:vehicleType", - "@type": "@id" - }, - "parkingType": { - "@id": "deg:parkingType", - "@type": "@id" - }, - "RESTAURANT": "deg:AmenityRestaurant", - "Restaurant": "deg:AmenityRestaurant", - "RESTROOM": "deg:AmenityRestroom", - "Restroom": "deg:AmenityRestroom", - "WI-FI": "deg:AmenityWiFi", - "Wi-Fi": "deg:AmenityWiFi", - "WiFi": "deg:AmenityWiFi", - "PARKING": "deg:AmenityParking", - "Parking": "deg:AmenityParking", - "CCS2": "deg:ConnectorTypeCCS2", - "Type2": "deg:ConnectorTypeType2", - "CHAdeMO": "deg:ConnectorTypeCHAdeMO", - "GB_T": "deg:ConnectorTypeGBT", - "GB/T": "deg:ConnectorTypeGBT", - "GB-T": "deg:ConnectorTypeGBT", - "AC_SINGLE_PHASE": "deg:PowerTypeACSinglePhase", - "AC_3_PHASE": "deg:PowerTypeAC3Phase", - "AC_THREE_PHASE": "deg:PowerTypeAC3Phase", - "DC": "deg:PowerTypeDC", - "SOCKET": "deg:ConnectorFormatSocket", - "CABLE": "deg:ConnectorFormatCable", - "SLOW": "deg:ChargingSpeedSlow", - "NORMAL": "deg:ChargingSpeedNormal", - "FAST": "deg:ChargingSpeedFast", - "ULTRAFAST": "deg:ChargingSpeedUltraFast", - "OnStreet": "deg:ParkingTypeOnStreet", - "OffStreet": "deg:ParkingTypeOffStreet", - "Basement": "deg:ParkingTypeBasement", - "Mall": "deg:ParkingTypeMall", - "FuelStation": "deg:ParkingTypeFuelStation", - "Fuel Station": "deg:ParkingTypeFuelStation", - "Office": "deg:ParkingTypeOffice", - "Hotel": "deg:ParkingTypeHotel", - "2-WHEELER": "deg:VehicleType2Wheeler", - "3-WHEELER": "deg:VehicleType3Wheeler", - "4-WHEELER": "deg:VehicleType4Wheeler", - "deg": "https://schema.beckn.io/deg/EvChargingService/v2.0/" - }, + "@context": [ + "../../ConnectorType/v2.0/context.jsonld", + { + "@version": 1.1, + "schema": "https://schema.org/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "beckn": "https://schema.beckn.io/core/v2.0/", + "ChargingService": "deg:ChargingService", + "ChargingStation": "deg:ChargingStation", + "name": "schema:name", + "description": "schema:description", + "price": "schema:price", + "priceCurrency": "schema:priceCurrency", + "startTime": "schema:startTime", + "endTime": "schema:endTime", + "orderStatus": "schema:orderStatus", + "serviceLocation": "schema:serviceLocation", + "geo": "schema:geo", + "latitude": "schema:latitude", + "longitude": "schema:longitude", + "paymentAccepted": "schema:paymentAccepted", + "image": "schema:image", + "url": "schema:url", + "sameAs": "schema:sameAs", + "identifier": "schema:identifier", + "areaServed": "schema:areaServed", + "category": "schema:category", + "chargingStation": "deg:chargingStation", + "qrIdentifier": "deg:qrIdentifier", + "amenityFeature": { + "@id": "deg:amenityFeature", + "@type": "@id" + }, + "powerType": { + "@id": "deg:powerType", + "@type": "@id" + }, + "connectorFormat": { + "@id": "deg:connectorFormat", + "@type": "@id" + }, + "chargingSpeed": { + "@id": "deg:chargingSpeed", + "@type": "@id" + }, + "vehicleType": { + "@id": "deg:vehicleType", + "@type": "@id" + }, + "parkingType": { + "@id": "deg:parkingType", + "@type": "@id" + }, + "RESTAURANT": "deg:AmenityRestaurant", + "Restaurant": "deg:AmenityRestaurant", + "RESTROOM": "deg:AmenityRestroom", + "Restroom": "deg:AmenityRestroom", + "WI-FI": "deg:AmenityWiFi", + "Wi-Fi": "deg:AmenityWiFi", + "WiFi": "deg:AmenityWiFi", + "PARKING": "deg:AmenityParking", + "Parking": "deg:AmenityParking", + "AC_SINGLE_PHASE": "deg:PowerTypeACSinglePhase", + "AC_3_PHASE": "deg:PowerTypeAC3Phase", + "AC_THREE_PHASE": "deg:PowerTypeAC3Phase", + "DC": "deg:PowerTypeDC", + "SOCKET": "deg:ConnectorFormatSocket", + "CABLE": "deg:ConnectorFormatCable", + "SLOW": "deg:ChargingSpeedSlow", + "NORMAL": "deg:ChargingSpeedNormal", + "FAST": "deg:ChargingSpeedFast", + "ULTRAFAST": "deg:ChargingSpeedUltraFast", + "OnStreet": "deg:ParkingTypeOnStreet", + "OffStreet": "deg:ParkingTypeOffStreet", + "Basement": "deg:ParkingTypeBasement", + "Mall": "deg:ParkingTypeMall", + "FuelStation": "deg:ParkingTypeFuelStation", + "Fuel Station": "deg:ParkingTypeFuelStation", + "Office": "deg:ParkingTypeOffice", + "Hotel": "deg:ParkingTypeHotel", + "2-WHEELER": "deg:VehicleType2Wheeler", + "3-WHEELER": "deg:VehicleType3Wheeler", + "4-WHEELER": "deg:VehicleType4Wheeler", + "deg": "https://schema.beckn.io/deg/EvChargingService/v2.0/" + } + ], "@graph": [] } diff --git a/specification/schema/EvChargingService/v2.0/vocab.jsonld b/specification/schema/EvChargingService/v2.0/vocab.jsonld index 14b07a47..0c92adfd 100644 --- a/specification/schema/EvChargingService/v2.0/vocab.jsonld +++ b/specification/schema/EvChargingService/v2.0/vocab.jsonld @@ -69,6 +69,15 @@ "rdfs:domain": "deg:ChargingService", "schema:rangeIncludes": "schema:Text" }, + { + "@id": "deg:qrIdentifier", + "@type": "rdf:Property", + "rdfs:label": "QR identifier", + "rdfs:comment": "The short URL or plain-text token encoded in the physical QR code affixed to this charging connector. BPPs populate this during catalog publish so that BAPs can discover a specific connector by scanning its QR, without requiring CPO-specific SDK logic to resolve the scanned value.", + "rdfs:domain": "deg:ChargingService", + "schema:rangeIncludes": "schema:Text", + "rdfs:seeAlso": "https://schema.org/identifier" + }, { "@id": "deg:roamingNetwork", "@type": "rdf:Property", @@ -204,63 +213,6 @@ "schema:identifier": "PARKING", "schema:alternateName": "Parking" }, - { - "@id": "deg:ConnectorType", - "@type": "schema:Enumeration", - "schema:name": "Connector Type", - "rdfs:comment": "Enumeration of electric vehicle connector interface types.", - "schema:hasEnumerationMember": [ - { - "@id": "deg:ConnectorTypeCCS2" - }, - { - "@id": "deg:ConnectorTypeType2" - }, - { - "@id": "deg:ConnectorTypeCHAdeMO" - }, - { - "@id": "deg:ConnectorTypeGBT" - } - ] - }, - { - "@id": "deg:ConnectorTypeCCS2", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "CCS2", - "schema:identifier": "CCS2" - }, - { - "@id": "deg:ConnectorTypeType2", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "Type2", - "schema:identifier": "Type2" - }, - { - "@id": "deg:ConnectorTypeCHAdeMO", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "CHAdeMO", - "schema:identifier": "CHAdeMO" - }, - { - "@id": "deg:ConnectorTypeGBT", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "GB/T", - "schema:identifier": "GB_T", - "schema:alternateName": "GB-T" - }, { "@id": "deg:PowerType", "@type": "schema:Enumeration", diff --git a/specification/schema/EvChargingSession/README.md b/specification/schema/EvChargingSession/README.md index f8d526a7..7e82738f 100644 --- a/specification/schema/EvChargingSession/README.md +++ b/specification/schema/EvChargingSession/README.md @@ -23,7 +23,7 @@ | `sessionStatus` | `string` (enum) | — | High-level session state: `PENDING`, `ACTIVE`, `STOP`, `COMPLETED`, `INTERRUPTED`. | | `connectorStatus` | `string` (enum) | — | Charging connector status (OCPP codes): `AVAILABLE`, `PREPARING`, `UNAVAILABLE`. | | `buyerFinderFee` | `object` | — | Commission payable by provider to the BAP for this session. | -| `connectorType` | `string` (enum) | — | Connector used for this session: `CCS2`, `Type2`, `CHAdeMO`, `GB_T`. | +| `connectorType` | `string` (enum) | — | Connector used for this session. Full list: see [ConnectorType](../ConnectorType/README.md). | | `maxPowerKW` | `number` | — | Peak power observed/allowed for this session (kW). | | `meteredEnergyKWh` | `number` | — | Total metered energy delivered (kWh). | | `meteredDurationMinutes` | `number` | — | Total metered duration of the session (minutes). | diff --git a/specification/schema/EvChargingSession/v2.0/attributes.yaml b/specification/schema/EvChargingSession/v2.0/attributes.yaml index 8577307c..edd97a2a 100644 --- a/specification/schema/EvChargingSession/v2.0/attributes.yaml +++ b/specification/schema/EvChargingSession/v2.0/attributes.yaml @@ -55,7 +55,7 @@ properties: connectorType: type: string - enum: [CCS2, Type2, CHAdeMO, GB_T] + enum: [CCS2, Type2, CHAdeMO, GB_T, GBT_AC, GBT_DC, AC-001, DC-001, 15A, IEC_AC, IEC_60309, Anderson, Type6, Type1] description: Connector used for this session (may differ from listing). example: "CCS2" x-jsonld: diff --git a/specification/schema/EvChargingSession/v2.0/context.jsonld b/specification/schema/EvChargingSession/v2.0/context.jsonld index f9026d56..d34fa029 100644 --- a/specification/schema/EvChargingSession/v2.0/context.jsonld +++ b/specification/schema/EvChargingSession/v2.0/context.jsonld @@ -1,68 +1,61 @@ { - "@context": { - "@version": 1.1, - "schema": "https://schema.org/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "beckn": "https://schema.beckn.io/core/v2.0/", - "ChargingSession": "deg:ChargingSession", - "name": "schema:name", - "description": "schema:description", - "price": "schema:price", - "priceCurrency": "schema:priceCurrency", - "startTime": "schema:startTime", - "endTime": "schema:endTime", - "orderStatus": "schema:orderStatus", - "lastUpdated": "schema:dateModified", - "sessionStatus": { - "@id": "deg:sessionStatus", - "@type": "@id" - }, - "connectorStatus": { - "@id": "deg:connectorStatus", - "@type": "@id" - }, - "buyerFinderFee": "deg:buyerFinderFee", - "connectorType": { - "@id": "deg:connectorType", - "@type": "@id" - }, - "maxPowerKW": "deg:maxPowerKW", - "meteredEnergyKWh": "deg:meteredEnergyKWh", - "meteredDurationMinutes": "deg:meteredDurationMinutes", - "chargingTelemetry": "deg:chargingTelemetry", - "totalCost": "deg:totalCost", - "exclVat": "deg:exclVat", - "inclVat": "deg:inclVat", - "reservationId": "deg:reservationId", - "gracePeriodMinutes": "deg:gracePeriodMinutes", - "vehicleMake": "deg:vehicleMake", - "vehicleModel": "deg:vehicleModel", - "preferences": "deg:preferences", - "trackingId": "beckn:trackingId", - "trackingUrl": "beckn:trackingUrl", - "trackingStatus": "beckn:trackingStatus", - "PENDING": "deg:SessionStatusPending", - "ACTIVE": "deg:SessionStatusActive", - "COMPLETED": "deg:SessionStatusCompleted", - "INTERRUPTED": "deg:SessionStatusInterrupted", - "AVAILABLE": "deg:ConnectorStatusAvailable", - "PREPARING": "deg:ConnectorStatusPreparing", - "UNAVAILABLE": "deg:ConnectorStatusUnavailable", - "CCS2": "deg:ConnectorTypeCCS2", - "Type2": "deg:ConnectorTypeType2", - "CHAdeMO": "deg:ConnectorTypeCHAdeMO", - "GB_T": "deg:ConnectorTypeGBT", - "GB/T": "deg:ConnectorTypeGBT", - "GB-T": "deg:ConnectorTypeGBT", - "ENERGY": "deg:TelemetryMetricEnergy", - "POWER": "deg:TelemetryMetricPower", - "CURRENT": "deg:TelemetryMetricCurrent", - "VOLTAGE": "deg:TelemetryMetricVoltage", - "STATE_OF_CHARGE": "deg:TelemetryMetricStateOfCharge", - "SOC": "deg:TelemetryMetricStateOfCharge", - "deg": "https://schema.beckn.io/deg/EvChargingSession/v2.0/" - }, + "@context": [ + "../../ConnectorType/v2.0/context.jsonld", + { + "@version": 1.1, + "schema": "https://schema.org/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "beckn": "https://schema.beckn.io/core/v2.0/", + "ChargingSession": "deg:ChargingSession", + "name": "schema:name", + "description": "schema:description", + "price": "schema:price", + "priceCurrency": "schema:priceCurrency", + "startTime": "schema:startTime", + "endTime": "schema:endTime", + "orderStatus": "schema:orderStatus", + "lastUpdated": "schema:dateModified", + "sessionStatus": { + "@id": "deg:sessionStatus", + "@type": "@id" + }, + "connectorStatus": { + "@id": "deg:connectorStatus", + "@type": "@id" + }, + "buyerFinderFee": "deg:buyerFinderFee", + "maxPowerKW": "deg:maxPowerKW", + "meteredEnergyKWh": "deg:meteredEnergyKWh", + "meteredDurationMinutes": "deg:meteredDurationMinutes", + "chargingTelemetry": "deg:chargingTelemetry", + "totalCost": "deg:totalCost", + "exclVat": "deg:exclVat", + "inclVat": "deg:inclVat", + "reservationId": "deg:reservationId", + "gracePeriodMinutes": "deg:gracePeriodMinutes", + "vehicleMake": "deg:vehicleMake", + "vehicleModel": "deg:vehicleModel", + "preferences": "deg:preferences", + "trackingId": "beckn:trackingId", + "trackingUrl": "beckn:trackingUrl", + "trackingStatus": "beckn:trackingStatus", + "PENDING": "deg:SessionStatusPending", + "ACTIVE": "deg:SessionStatusActive", + "COMPLETED": "deg:SessionStatusCompleted", + "INTERRUPTED": "deg:SessionStatusInterrupted", + "AVAILABLE": "deg:ConnectorStatusAvailable", + "PREPARING": "deg:ConnectorStatusPreparing", + "UNAVAILABLE": "deg:ConnectorStatusUnavailable", + "ENERGY": "deg:TelemetryMetricEnergy", + "POWER": "deg:TelemetryMetricPower", + "CURRENT": "deg:TelemetryMetricCurrent", + "VOLTAGE": "deg:TelemetryMetricVoltage", + "STATE_OF_CHARGE": "deg:TelemetryMetricStateOfCharge", + "SOC": "deg:TelemetryMetricStateOfCharge", + "deg": "https://schema.beckn.io/deg/EvChargingSession/v2.0/" + } + ], "@graph": [] } diff --git a/specification/schema/EvChargingSession/v2.0/vocab.jsonld b/specification/schema/EvChargingSession/v2.0/vocab.jsonld index 8f180307..0a0e607d 100644 --- a/specification/schema/EvChargingSession/v2.0/vocab.jsonld +++ b/specification/schema/EvChargingSession/v2.0/vocab.jsonld @@ -266,63 +266,6 @@ "schema:name": "UNAVAILABLE", "schema:identifier": "UNAVAILABLE" }, - { - "@id": "deg:ConnectorType", - "@type": "schema:Enumeration", - "schema:name": "Connector Type", - "rdfs:comment": "Enumeration of electric vehicle connector interface types.", - "schema:hasEnumerationMember": [ - { - "@id": "deg:ConnectorTypeCCS2" - }, - { - "@id": "deg:ConnectorTypeType2" - }, - { - "@id": "deg:ConnectorTypeCHAdeMO" - }, - { - "@id": "deg:ConnectorTypeGBT" - } - ] - }, - { - "@id": "deg:ConnectorTypeCCS2", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "CCS2", - "schema:identifier": "CCS2" - }, - { - "@id": "deg:ConnectorTypeType2", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "Type2", - "schema:identifier": "Type2" - }, - { - "@id": "deg:ConnectorTypeCHAdeMO", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "CHAdeMO", - "schema:identifier": "CHAdeMO" - }, - { - "@id": "deg:ConnectorTypeGBT", - "@type": [ - "deg:ConnectorType", - "schema:Enumeration" - ], - "schema:name": "GB/T", - "schema:identifier": "GB_T", - "schema:alternateName": "GB-T" - }, { "@id": "deg:TelemetryMetric", "@type": "schema:Enumeration", diff --git a/specification/schema/context.jsonld b/specification/schema/context.jsonld index b0f2678a..7b90fb69 100644 --- a/specification/schema/context.jsonld +++ b/specification/schema/context.jsonld @@ -11,6 +11,7 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, + "./ConnectorType/v2.0/context.jsonld", "./EnergyEnrollment/v2.0/context.jsonld", "./EnergyTrade/v2.0/context.jsonld", "./EvChargingOffer/v2.0/context.jsonld",