rust_ocpp/v2_0_1/messages/
change_availability.rs

1//! ChangeAvailability
2use crate::v2_0_1::datatypes::evse_type::EVSEType;
3use crate::v2_0_1::datatypes::status_info_type::StatusInfoType;
4use crate::v2_0_1::enumerations::change_availability_status_enum_type::ChangeAvailabilityStatusEnumType;
5use crate::v2_0_1::enumerations::operational_status_enum_type::OperationalStatusEnumType;
6
7/// `ChangeAvailabilityRequest`, sent by the CSMS to the Charging Station.
8#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)]
9#[serde(rename_all = "camelCase")]
10pub struct ChangeAvailabilityRequest {
11    /// This contains the type of availability change that the Charging Station should perform.
12    pub operational_status: OperationalStatusEnumType,
13    /// Contains Id’s to designate a specific EVSE/connector by index numbers. When omitted, the message refers to the Charging Station as a whole.
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub evse: Option<EVSEType>,
16}
17
18/// `ChangeAvailabilityResponse`, sent by the Charging Station to the CSMS.
19#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Default)]
20#[serde(rename_all = "camelCase")]
21pub struct ChangeAvailabilityResponse {
22    /// This indicates whether the Charging Station is able to perform the availability change.
23    pub status: ChangeAvailabilityStatusEnumType,
24    /// Detailed status information.
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub status_info: Option<StatusInfoType>,
27}