Merge pull request #574 from JulianHBuecher/reservation-feature
[e-mobility-charging-stations-simulator.git] / src / types / ocpp / 1.6 / Responses.ts
index 1dbcfba8ffe670ceeccc0ce8218fdb35161879fd..1a163aa82b72745c7ab42b560dae78c90f2642f5 100644 (file)
@@ -1,9 +1,11 @@
+import type { OCPP16ChargingSchedule } from './ChargingProfile';
 import type { EmptyObject } from '../../EmptyObject';
 import type { JsonObject } from '../../JsonType';
 import type { OCPPConfigurationKey } from '../Configuration';
+import { GenericStatus, type RegistrationStatusEnumType } from '../Responses';
 
 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;
 }
@@ -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,20 @@ export interface OCPP16DataTransferResponse extends JsonObject {
   status: OCPP16DataTransferStatus;
   data?: string;
 }
+
+export interface OCPP16CancelReservationResponse extends JsonObject {
+  status: GenericStatus;
+}
+
+export enum OCPP16ReservationStatus {
+  ACCEPTED = 'Accepted',
+  FAULTED = 'Faulted',
+  OCCUPIED = 'Occupied',
+  REJECTED = 'Rejected',
+  UNAVAILABLE = 'Unavailable',
+  NOT_SUPPORTED = 'NotSupported',
+}
+
+export interface OCPP16ReserveNowResponse extends JsonObject {
+  status: OCPP16ReservationStatus;
+}