UNPKG

typed-ocpp

Version:

A library for type-aware parsing, serialization and validation of OCPP 1.6, OCPP 2.0 and OCPP 2.1 messages

1,684 lines (1,683 loc) 52.9 kB
/* * * THIS FILE IS AUTOMATICALLY GENERATED AND SHOULD NEVER BE EDITED DIRECTLY. * SEE ../../BUILD.md * * GENERATED ON: 2025-04-04T14:44:47.835Z * */ const definitions = {}; export const AuthorizeRequest = { definitions, "title": "AuthorizeRequest", "type": "object", "properties": { "idTag": { "type": "string", "maxLength": 20 } }, "additionalProperties": false, "required": [ "idTag" ] }; export const AuthorizeResponse = { definitions, "title": "AuthorizeResponse", "type": "object", "properties": { "idTagInfo": { "type": "object", "properties": { "expiryDate": { "type": "string", "format": "date-time" }, "parentIdTag": { "type": "string", "maxLength": 20 }, "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Blocked", "Expired", "Invalid", "ConcurrentTx" ] } }, "additionalProperties": false, "required": [ "status" ] } }, "additionalProperties": false, "required": [ "idTagInfo" ] }; export const BootNotificationRequest = { definitions, "title": "BootNotificationRequest", "type": "object", "properties": { "chargePointVendor": { "type": "string", "maxLength": 20 }, "chargePointModel": { "type": "string", "maxLength": 20 }, "chargePointSerialNumber": { "type": "string", "maxLength": 25 }, "chargeBoxSerialNumber": { "type": "string", "maxLength": 25 }, "firmwareVersion": { "type": "string", "maxLength": 50 }, "iccid": { "type": "string", "maxLength": 20 }, "imsi": { "type": "string", "maxLength": 20 }, "meterType": { "type": "string", "maxLength": 25 }, "meterSerialNumber": { "type": "string", "maxLength": 25 } }, "additionalProperties": false, "required": [ "chargePointVendor", "chargePointModel" ] }; export const BootNotificationResponse = { definitions, "title": "BootNotificationResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Pending", "Rejected" ] }, "currentTime": { "type": "string", "format": "date-time" }, "interval": { "type": "integer" } }, "additionalProperties": false, "required": [ "status", "currentTime", "interval" ] }; export const CancelReservationRequest = { definitions, "title": "CancelReservationRequest", "type": "object", "properties": { "reservationId": { "type": "integer" } }, "additionalProperties": false, "required": [ "reservationId" ] }; export const CancelReservationResponse = { definitions, "title": "CancelReservationResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ChangeAvailabilityRequest = { definitions, "title": "ChangeAvailabilityRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "type": { "type": "string", "additionalProperties": false, "enum": [ "Inoperative", "Operative" ] } }, "additionalProperties": false, "required": [ "connectorId", "type" ] }; export const ChangeAvailabilityResponse = { definitions, "title": "ChangeAvailabilityResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "Scheduled" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ChangeConfigurationRequest = { definitions, "title": "ChangeConfigurationRequest", "type": "object", "properties": { "key": { "type": "string", "maxLength": 50 }, "value": { "type": "string", "maxLength": 500 } }, "additionalProperties": false, "required": [ "key", "value" ] }; export const ChangeConfigurationResponse = { definitions, "title": "ChangeConfigurationResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "RebootRequired", "NotSupported" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ClearCacheRequest = { definitions, "title": "ClearCacheRequest", "type": "object", "properties": {}, "additionalProperties": false }; export const ClearCacheResponse = { definitions, "title": "ClearCacheResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ClearChargingProfileRequest = { definitions, "title": "ClearChargingProfileRequest", "type": "object", "properties": { "id": { "type": "integer" }, "connectorId": { "type": "integer" }, "chargingProfilePurpose": { "type": "string", "additionalProperties": false, "enum": [ "ChargePointMaxProfile", "TxDefaultProfile", "TxProfile" ] }, "stackLevel": { "type": "integer" } }, "additionalProperties": false }; export const ClearChargingProfileResponse = { definitions, "title": "ClearChargingProfileResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Unknown" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const DataTransferRequest = { definitions, "title": "DataTransferRequest", "type": "object", "properties": { "vendorId": { "type": "string", "maxLength": 255 }, "messageId": { "type": "string", "maxLength": 50 }, "data": { "type": "string" } }, "additionalProperties": false, "required": [ "vendorId" ] }; export const DataTransferResponse = { definitions, "title": "DataTransferResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "UnknownMessageId", "UnknownVendorId" ] }, "data": { "type": "string" } }, "additionalProperties": false, "required": [ "status" ] }; export const DiagnosticsStatusNotificationRequest = { definitions, "title": "DiagnosticsStatusNotificationRequest", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Idle", "Uploaded", "UploadFailed", "Uploading" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const DiagnosticsStatusNotificationResponse = { definitions, "title": "DiagnosticsStatusNotificationResponse", "type": "object", "properties": {}, "additionalProperties": false }; export const FirmwareStatusNotificationRequest = { definitions, "title": "FirmwareStatusNotificationRequest", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Downloaded", "DownloadFailed", "Downloading", "Idle", "InstallationFailed", "Installing", "Installed" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const FirmwareStatusNotificationResponse = { definitions, "title": "FirmwareStatusNotificationResponse", "type": "object", "properties": {}, "additionalProperties": false }; export const GetCompositeScheduleRequest = { definitions, "title": "GetCompositeScheduleRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "duration": { "type": "integer" }, "chargingRateUnit": { "type": "string", "additionalProperties": false, "enum": [ "A", "W" ] } }, "additionalProperties": false, "required": [ "connectorId", "duration" ] }; export const GetCompositeScheduleResponse = { definitions, "title": "GetCompositeScheduleResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] }, "connectorId": { "type": "integer" }, "scheduleStart": { "type": "string", "format": "date-time" }, "chargingSchedule": { "type": "object", "properties": { "duration": { "type": "integer" }, "startSchedule": { "type": "string", "format": "date-time" }, "chargingRateUnit": { "type": "string", "additionalProperties": false, "enum": [ "A", "W" ] }, "chargingSchedulePeriod": { "type": "array", "items": { "type": "object", "properties": { "startPeriod": { "type": "integer" }, "limit": { "type": "number", "multipleOf": 0.1 }, "numberPhases": { "type": "integer" } }, "additionalProperties": false, "required": [ "startPeriod", "limit" ] } }, "minChargingRate": { "type": "number", "multipleOf": 0.1 } }, "additionalProperties": false, "required": [ "chargingRateUnit", "chargingSchedulePeriod" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const GetConfigurationRequest = { definitions, "title": "GetConfigurationRequest", "type": "object", "properties": { "key": { "type": "array", "items": { "type": "string", "maxLength": 50 } } }, "additionalProperties": false }; export const GetConfigurationResponse = { definitions, "title": "GetConfigurationResponse", "type": "object", "properties": { "configurationKey": { "type": "array", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50 }, "readonly": { "type": "boolean" }, "value": { "type": "string", "maxLength": 500 } }, "additionalProperties": false, "required": [ "key", "readonly" ] } }, "unknownKey": { "type": "array", "items": { "type": "string", "maxLength": 50 } } }, "additionalProperties": false }; export const GetDiagnosticsRequest = { definitions, "title": "GetDiagnosticsRequest", "type": "object", "properties": { "location": { "type": "string", "format": "uri" }, "retries": { "type": "integer" }, "retryInterval": { "type": "integer" }, "startTime": { "type": "string", "format": "date-time" }, "stopTime": { "type": "string", "format": "date-time" } }, "additionalProperties": false, "required": [ "location" ] }; export const GetDiagnosticsResponse = { definitions, "title": "GetDiagnosticsResponse", "type": "object", "properties": { "fileName": { "type": "string", "maxLength": 255 } }, "additionalProperties": false }; export const GetLocalListVersionRequest = { definitions, "title": "GetLocalListVersionRequest", "type": "object", "properties": {}, "additionalProperties": false }; export const GetLocalListVersionResponse = { definitions, "title": "GetLocalListVersionResponse", "type": "object", "properties": { "listVersion": { "type": "integer" } }, "additionalProperties": false, "required": [ "listVersion" ] }; export const HeartbeatRequest = { definitions, "title": "HeartbeatRequest", "type": "object", "properties": {}, "additionalProperties": false }; export const HeartbeatResponse = { definitions, "title": "HeartbeatResponse", "type": "object", "properties": { "currentTime": { "type": "string", "format": "date-time" } }, "additionalProperties": false, "required": [ "currentTime" ] }; export const MeterValuesRequest = { definitions, "title": "MeterValuesRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "transactionId": { "type": "integer" }, "meterValue": { "type": "array", "items": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "sampledValue": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "context": { "type": "string", "additionalProperties": false, "enum": [ "Interruption.Begin", "Interruption.End", "Sample.Clock", "Sample.Periodic", "Transaction.Begin", "Transaction.End", "Trigger", "Other" ] }, "format": { "type": "string", "additionalProperties": false, "enum": [ "Raw", "SignedData" ] }, "measurand": { "type": "string", "additionalProperties": false, "enum": [ "Energy.Active.Export.Register", "Energy.Active.Import.Register", "Energy.Reactive.Export.Register", "Energy.Reactive.Import.Register", "Energy.Active.Export.Interval", "Energy.Active.Import.Interval", "Energy.Reactive.Export.Interval", "Energy.Reactive.Import.Interval", "Power.Active.Export", "Power.Active.Import", "Power.Offered", "Power.Reactive.Export", "Power.Reactive.Import", "Power.Factor", "Current.Import", "Current.Export", "Current.Offered", "Voltage", "Frequency", "Temperature", "SoC", "RPM" ] }, "phase": { "type": "string", "additionalProperties": false, "enum": [ "L1", "L2", "L3", "N", "L1-N", "L2-N", "L3-N", "L1-L2", "L2-L3", "L3-L1" ] }, "location": { "type": "string", "additionalProperties": false, "enum": [ "Cable", "EV", "Inlet", "Outlet", "Body" ] }, "unit": { "type": "string", "additionalProperties": false, "enum": [ "Wh", "kWh", "varh", "kvarh", "W", "kW", "VA", "kVA", "var", "kvar", "A", "V", "K", "Celcius", "Celsius", "Fahrenheit", "Percent" ] } }, "additionalProperties": false, "required": [ "value" ] } } }, "additionalProperties": false, "required": [ "timestamp", "sampledValue" ] } } }, "additionalProperties": false, "required": [ "connectorId", "meterValue" ] }; export const MeterValuesResponse = { definitions, "title": "MeterValuesResponse", "type": "object", "properties": {}, "additionalProperties": false }; export const RemoteStartTransactionRequest = { definitions, "title": "RemoteStartTransactionRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "idTag": { "type": "string", "maxLength": 20 }, "chargingProfile": { "type": "object", "properties": { "chargingProfileId": { "type": "integer" }, "transactionId": { "type": "integer" }, "stackLevel": { "type": "integer" }, "chargingProfilePurpose": { "type": "string", "additionalProperties": false, "enum": [ "ChargePointMaxProfile", "TxDefaultProfile", "TxProfile" ] }, "chargingProfileKind": { "type": "string", "additionalProperties": false, "enum": [ "Absolute", "Recurring", "Relative" ] }, "recurrencyKind": { "type": "string", "additionalProperties": false, "enum": [ "Daily", "Weekly" ] }, "validFrom": { "type": "string", "format": "date-time" }, "validTo": { "type": "string", "format": "date-time" }, "chargingSchedule": { "type": "object", "properties": { "duration": { "type": "integer" }, "startSchedule": { "type": "string", "format": "date-time" }, "chargingRateUnit": { "type": "string", "additionalProperties": false, "enum": [ "A", "W" ] }, "chargingSchedulePeriod": { "type": "array", "items": { "type": "object", "properties": { "startPeriod": { "type": "integer" }, "limit": { "type": "number", "multipleOf": 0.1 }, "numberPhases": { "type": "integer" } }, "additionalProperties": false, "required": [ "startPeriod", "limit" ] } }, "minChargingRate": { "type": "number", "multipleOf": 0.1 } }, "additionalProperties": false, "required": [ "chargingRateUnit", "chargingSchedulePeriod" ] } }, "additionalProperties": false, "required": [ "chargingProfileId", "stackLevel", "chargingProfilePurpose", "chargingProfileKind", "chargingSchedule" ] } }, "additionalProperties": false, "required": [ "idTag" ] }; export const RemoteStartTransactionResponse = { definitions, "title": "RemoteStartTransactionResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const RemoteStopTransactionRequest = { definitions, "title": "RemoteStopTransactionRequest", "type": "object", "properties": { "transactionId": { "type": "integer" } }, "additionalProperties": false, "required": [ "transactionId" ] }; export const RemoteStopTransactionResponse = { definitions, "title": "RemoteStopTransactionResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ReserveNowRequest = { definitions, "title": "ReserveNowRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "expiryDate": { "type": "string", "format": "date-time" }, "idTag": { "type": "string", "maxLength": 20 }, "parentIdTag": { "type": "string", "maxLength": 20 }, "reservationId": { "type": "integer" } }, "additionalProperties": false, "required": [ "connectorId", "expiryDate", "idTag", "reservationId" ] }; export const ReserveNowResponse = { definitions, "title": "ReserveNowResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Faulted", "Occupied", "Rejected", "Unavailable" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const ResetRequest = { definitions, "title": "ResetRequest", "type": "object", "properties": { "type": { "type": "string", "additionalProperties": false, "enum": [ "Hard", "Soft" ] } }, "additionalProperties": false, "required": [ "type" ] }; export const ResetResponse = { definitions, "title": "ResetResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const SendLocalListRequest = { definitions, "title": "SendLocalListRequest", "type": "object", "properties": { "listVersion": { "type": "integer" }, "localAuthorizationList": { "type": "array", "items": { "type": "object", "properties": { "idTag": { "type": "string", "maxLength": 20 }, "idTagInfo": { "type": "object", "properties": { "expiryDate": { "type": "string", "format": "date-time" }, "parentIdTag": { "type": "string", "maxLength": 20 }, "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Blocked", "Expired", "Invalid", "ConcurrentTx" ] } }, "additionalProperties": false, "required": [ "status" ] } }, "additionalProperties": false, "required": [ "idTag" ] } }, "updateType": { "type": "string", "additionalProperties": false, "enum": [ "Differential", "Full" ] } }, "additionalProperties": false, "required": [ "listVersion", "updateType" ] }; export const SendLocalListResponse = { definitions, "title": "SendLocalListResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Failed", "NotSupported", "VersionMismatch" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const SetChargingProfileRequest = { definitions, "title": "SetChargingProfileRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "csChargingProfiles": { "type": "object", "properties": { "chargingProfileId": { "type": "integer" }, "transactionId": { "type": "integer" }, "stackLevel": { "type": "integer" }, "chargingProfilePurpose": { "type": "string", "additionalProperties": false, "enum": [ "ChargePointMaxProfile", "TxDefaultProfile", "TxProfile" ] }, "chargingProfileKind": { "type": "string", "additionalProperties": false, "enum": [ "Absolute", "Recurring", "Relative" ] }, "recurrencyKind": { "type": "string", "additionalProperties": false, "enum": [ "Daily", "Weekly" ] }, "validFrom": { "type": "string", "format": "date-time" }, "validTo": { "type": "string", "format": "date-time" }, "chargingSchedule": { "type": "object", "properties": { "duration": { "type": "integer" }, "startSchedule": { "type": "string", "format": "date-time" }, "chargingRateUnit": { "type": "string", "additionalProperties": false, "enum": [ "A", "W" ] }, "chargingSchedulePeriod": { "type": "array", "items": { "type": "object", "properties": { "startPeriod": { "type": "integer" }, "limit": { "type": "number", "multipleOf": 0.1 }, "numberPhases": { "type": "integer" } }, "additionalProperties": false, "required": [ "startPeriod", "limit" ] } }, "minChargingRate": { "type": "number", "multipleOf": 0.1 } }, "additionalProperties": false, "required": [ "chargingRateUnit", "chargingSchedulePeriod" ] } }, "additionalProperties": false, "required": [ "chargingProfileId", "stackLevel", "chargingProfilePurpose", "chargingProfileKind", "chargingSchedule" ] } }, "additionalProperties": false, "required": [ "connectorId", "csChargingProfiles" ] }; export const SetChargingProfileResponse = { definitions, "title": "SetChargingProfileResponse", "type": "object", "properties": { "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "NotSupported" ] } }, "additionalProperties": false, "required": [ "status" ] }; export const StartTransactionRequest = { definitions, "title": "StartTransactionRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "idTag": { "type": "string", "maxLength": 20 }, "meterStart": { "type": "integer" }, "reservationId": { "type": "integer" }, "timestamp": { "type": "string", "format": "date-time" } }, "additionalProperties": false, "required": [ "connectorId", "idTag", "meterStart", "timestamp" ] }; export const StartTransactionResponse = { definitions, "title": "StartTransactionResponse", "type": "object", "properties": { "idTagInfo": { "type": "object", "properties": { "expiryDate": { "type": "string", "format": "date-time" }, "parentIdTag": { "type": "string", "maxLength": 20 }, "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Blocked", "Expired", "Invalid", "ConcurrentTx" ] } }, "additionalProperties": false, "required": [ "status" ] }, "transactionId": { "type": "integer" } }, "additionalProperties": false, "required": [ "idTagInfo", "transactionId" ] }; export const StatusNotificationRequest = { definitions, "title": "StatusNotificationRequest", "type": "object", "properties": { "connectorId": { "type": "integer" }, "errorCode": { "type": "string", "additionalProperties": false, "enum": [ "ConnectorLockFailure", "EVCommunicationError", "GroundFailure", "HighTemperature", "InternalError", "LocalListConflict", "NoError", "OtherError", "OverCurrentFailure", "PowerMeterFailure", "PowerSwitchFailure", "ReaderFailure", "ResetFailure", "UnderVoltage", "OverVoltage", "WeakSignal" ] }, "info": { "type": "string", "maxLength": 50 }, "status": { "type": "string", "additionalProperties": false, "enum": [ "Available", "Preparing", "Charging", "SuspendedEVSE", "SuspendedEV", "Finishing", "Reserved", "Unavailable", "Faulted" ] }, "timestamp": { "type": "string", "format": "date-time" }, "vendorId": { "type": "string", "maxLength": 255 }, "vendorErrorCode": { "type": "string", "maxLength": 50 } }, "additionalProperties": false, "required": [ "connectorId", "errorCode", "status" ] }; export const StatusNotificationResponse = { definitions, "title": "StatusNotificationResponse", "type": "object", "properties": {}, "additionalProperties": false }; export const StopTransactionRequest = { definitions, "title": "StopTransactionRequest", "type": "object", "properties": { "idTag": { "type": "string", "maxLength": 20 }, "meterStop": { "type": "integer" }, "timestamp": { "type": "string", "format": "date-time" }, "transactionId": { "type": "integer" }, "reason": { "type": "string", "additionalProperties": false, "enum": [ "EmergencyStop", "EVDisconnected", "HardReset", "Local", "Other", "PowerLoss", "Reboot", "Remote", "SoftReset", "UnlockCommand", "DeAuthorized" ] }, "transactionData": { "type": "array", "items": { "type": "object", "properties": { "timestamp": { "type": "string", "format": "date-time" }, "sampledValue": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string" }, "context": { "type": "string", "additionalProperties": false, "enum": [ "Interruption.Begin", "Interruption.End", "Sample.Clock", "Sample.Periodic", "Transaction.Begin", "Transaction.End", "Trigger", "Other" ] }, "format": { "type": "string", "additionalProperties": false, "enum": [ "Raw", "SignedData" ] }, "measurand": { "type": "string", "additionalProperties": false, "enum": [ "Energy.Active.Export.Register", "Energy.Active.Import.Register", "Energy.Reactive.Export.Register", "Energy.Reactive.Import.Register", "Energy.Active.Export.Interval", "Energy.Active.Import.Interval", "Energy.Reactive.Export.Interval", "Energy.Reactive.Import.Interval", "Power.Active.Export", "Power.Active.Import", "Power.Offered", "Power.Reactive.Export", "Power.Reactive.Import", "Power.Factor", "Current.Import", "Current.Export", "Current.Offered", "Voltage", "Frequency", "Temperature", "SoC", "RPM" ] }, "phase": { "type": "string", "additionalProperties": false, "enum": [ "L1", "L2", "L3", "N", "L1-N", "L2-N", "L3-N", "L1-L2", "L2-L3", "L3-L1" ] }, "location": { "type": "string", "additionalProperties": false, "enum": [ "Cable", "EV", "Inlet", "Outlet", "Body" ] }, "unit": { "type": "string", "additionalProperties": false, "enum": [ "Wh", "kWh", "varh", "kvarh", "W", "kW", "VA", "kVA", "var", "kvar", "A", "V", "K", "Celcius", "Fahrenheit", "Percent", "Celsius" ] } }, "additionalProperties": false, "required": [ "value" ] } } }, "additionalProperties": false, "required": [ "timestamp", "sampledValue" ] } } }, "additionalProperties": false, "required": [ "transactionId", "timestamp", "meterStop" ] }; export const StopTransactionResponse = { definitions, "title": "StopTransactionResponse", "type": "object", "properties": { "idTagInfo": { "type": "object", "properties": { "expiryDate": { "type": "string", "format": "date-time" }, "parentIdTag": { "type": "string", "maxLength": 20 }, "status": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Blocked", "Expired", "Invalid",