refactor: rewriting functionalities and added additional helper functions
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Requests.ts
index bc45189844dcd9fd09e5f29a717d9375bd25d163..80128a271c9fd6edd3cb6ec9609ad6b2ed898da7 100644 (file)
@@ -1,14 +1,14 @@
+import type { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
+import type { OCPP16ChargePointStatus } from './ChargePointStatus';
 import type {
-  EmptyObject,
-  JsonObject,
-  OCPP16ChargePointErrorCode,
-  OCPP16ChargePointStatus,
   OCPP16ChargingProfile,
   OCPP16ChargingProfilePurposeType,
-  OCPP16DiagnosticsStatus,
-  OCPP16StandardParametersKey,
-  OCPP16VendorParametersKey,
-} from '../../internal';
+  OCPP16ChargingRateUnitType,
+} from './ChargingProfile';
+import type { OCPP16StandardParametersKey, OCPP16VendorParametersKey } from './Configuration';
+import type { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
 
 export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
@@ -21,6 +21,8 @@ export enum OCPP16RequestCommand {
   DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification',
   FIRMWARE_STATUS_NOTIFICATION = 'FirmwareStatusNotification',
   DATA_TRANSFER = 'DataTransfer',
+  RESERVE_NOW = 'ReserveNow',
+  CANCEL_RESERVATION = 'CancelReservation',
 }
 
 export enum OCPP16IncomingRequestCommand {
@@ -30,6 +32,7 @@ export enum OCPP16IncomingRequestCommand {
   UNLOCK_CONNECTOR = 'UnlockConnector',
   GET_CONFIGURATION = 'GetConfiguration',
   CHANGE_CONFIGURATION = 'ChangeConfiguration',
+  GET_COMPOSITE_SCHEDULE = 'GetCompositeSchedule',
   SET_CHARGING_PROFILE = 'SetChargingProfile',
   CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
   REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
@@ -38,6 +41,8 @@ export enum OCPP16IncomingRequestCommand {
   TRIGGER_MESSAGE = 'TriggerMessage',
   DATA_TRANSFER = 'DataTransfer',
   UPDATE_FIRMWARE = 'UpdateFirmware',
+  RESERVE_NOW = 'ReserveNow',
+  CANCEL_RESERVATION = 'CancelReservation',
 }
 
 export type OCPP16HeartbeatRequest = EmptyObject;
@@ -100,14 +105,20 @@ export interface ResetRequest extends JsonObject {
   type: ResetType;
 }
 
+export interface OCPP16GetCompositeScheduleRequest extends JsonObject {
+  connectorId: number;
+  duration: number;
+  chargingRateUnit?: OCPP16ChargingRateUnitType;
+}
+
 export interface SetChargingProfileRequest extends JsonObject {
   connectorId: number;
   csChargingProfiles: OCPP16ChargingProfile;
 }
 
 export enum OCPP16AvailabilityType {
-  INOPERATIVE = 'Inoperative',
-  OPERATIVE = 'Operative',
+  Inoperative = 'Inoperative',
+  Operative = 'Operative',
 }
 
 export interface ChangeAvailabilityRequest extends JsonObject {
@@ -176,3 +187,15 @@ export interface OCPP16DataTransferRequest extends JsonObject {
   messageId?: string;
   data?: string;
 }
+
+export interface OCPP16ReserveNowRequest extends JsonObject {
+  connectorId: number;
+  expiryDate: Date;
+  idTag: string;
+  parentIdTag?: string;
+  reservationId: number;
+}
+
+export interface OCPP16CancelReservationRequest extends JsonObject {
+  reservationId: number;
+}