-export const countReservableConnectors = (connectors: Map<number, ConnectorStatus>) => {
- let reservableConnectors = 0;
+export const removeExpiredReservations = async (
+ chargingStation: ChargingStation
+): Promise<void> => {
+ if (chargingStation.hasEvses) {
+ for (const evseStatus of chargingStation.evses.values()) {
+ for (const connectorStatus of evseStatus.connectors.values()) {
+ if (
+ connectorStatus.reservation != null &&
+ hasReservationExpired(connectorStatus.reservation)
+ ) {
+ await chargingStation.removeReservation(
+ connectorStatus.reservation,
+ ReservationTerminationReason.EXPIRED
+ )
+ }
+ }
+ }
+ } else {
+ for (const connectorStatus of chargingStation.connectors.values()) {
+ if (
+ connectorStatus.reservation != null &&
+ hasReservationExpired(connectorStatus.reservation)
+ ) {
+ await chargingStation.removeReservation(
+ connectorStatus.reservation,
+ ReservationTerminationReason.EXPIRED
+ )
+ }
+ }
+ }
+}
+
+export const getNumberOfReservableConnectors = (
+ connectors: Map<number, ConnectorStatus>
+): number => {
+ let numberOfReservableConnectors = 0