refactor: factor out change availability helper
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Responses.ts
index 1dbcfba8ffe670ceeccc0ce8218fdb35161879fd..c98c03a36b13210e0b448ff68f32b1e862401291 100644 (file)
@@ -1,9 +1,11 @@
+import type { OCPP16ChargingSchedule } from './ChargingProfile';
 import type { EmptyObject } from '../../EmptyObject';
 import type { JsonObject } from '../../JsonType';
+import type { GenericStatus, RegistrationStatusEnumType } from '../Common';
 import type { OCPPConfigurationKey } from '../Configuration';
 
 export interface OCPP16HeartbeatResponse extends JsonObject {
-  currentTime: string;
+  currentTime: Date;
 }
 
 export enum OCPP16UnlockStatus {
@@ -27,15 +29,9 @@ export interface ChangeConfigurationResponse extends JsonObject {
   status: OCPP16ConfigurationStatus;
 }
 
-export enum OCPP16RegistrationStatus {
-  ACCEPTED = 'Accepted',
-  PENDING = 'Pending',
-  REJECTED = 'Rejected',
-}
-
 export interface OCPP16BootNotificationResponse extends JsonObject {
-  status: OCPP16RegistrationStatus;
-  currentTime: string;
+  status: RegistrationStatusEnumType;
+  currentTime: Date;
   interval: number;
 }
 
@@ -52,6 +48,13 @@ export enum OCPP16ChargingProfileStatus {
   NOT_SUPPORTED = 'NotSupported',
 }
 
+export interface OCPP16GetCompositeScheduleResponse extends JsonObject {
+  status: GenericStatus;
+  connectorId?: number;
+  scheduleStart?: Date;
+  chargingSchedule?: OCPP16ChargingSchedule;
+}
+
 export interface SetChargingProfileResponse extends JsonObject {
   status: OCPP16ChargingProfileStatus;
 }
@@ -62,7 +65,7 @@ export enum OCPP16AvailabilityStatus {
   SCHEDULED = 'Scheduled',
 }
 
-export interface ChangeAvailabilityResponse extends JsonObject {
+export interface OCPP16ChangeAvailabilityResponse extends JsonObject {
   status: OCPP16AvailabilityStatus;
 }
 
@@ -77,11 +80,13 @@ export interface ClearChargingProfileResponse extends JsonObject {
 
 export type OCPP16UpdateFirmwareResponse = EmptyObject;
 
+export type OCPP16FirmwareStatusNotificationResponse = EmptyObject;
+
 export interface GetDiagnosticsResponse extends JsonObject {
   fileName?: string;
 }
 
-export type DiagnosticsStatusNotificationResponse = EmptyObject;
+export type OCPP16DiagnosticsStatusNotificationResponse = EmptyObject;
 
 export enum OCPP16TriggerMessageStatus {
   ACCEPTED = 'Accepted',
@@ -104,3 +109,16 @@ export interface OCPP16DataTransferResponse extends JsonObject {
   status: OCPP16DataTransferStatus;
   data?: string;
 }
+
+export enum OCPP16ReservationStatus {
+  ACCEPTED = 'Accepted',
+  FAULTED = 'Faulted',
+  OCCUPIED = 'Occupied',
+  REJECTED = 'Rejected',
+  UNAVAILABLE = 'Unavailable',
+  NOT_SUPPORTED = 'NotSupported',
+}
+
+export interface OCPP16ReserveNowResponse extends JsonObject {
+  status: OCPP16ReservationStatus;
+}