/// <summary>
        /// Return a XML representation of this object.
        /// </summary>
        /// <param name="CustomSetEVSEAvailabilityStatusRequestSerializer">A delegate to serialize custom set EVSE availability status request XML elements.</param>
        public XElement ToXML(CustomXMLSerializerDelegate <SetEVSEAvailabilityStatusRequest> CustomSetEVSEAvailabilityStatusRequestSerializer = null)
        {
            var XML = new XElement(eMIPNS.EVCIDynamic + "eMIP_ToIOP_SetEVSEAvailabilityStatusRequest",

                                   TransactionId.HasValue
                              ? new XElement("transactionId", TransactionId.ToString())
                              : null,

                                   new XElement("partnerIdType", PartnerId.Format.AsText()),
                                   new XElement("partnerId", PartnerId.ToString()),

                                   new XElement("operatorIdType", OperatorId.Format.AsText()),
                                   new XElement("operatorId", OperatorId.ToString()),

                                   new XElement("EVSEIdType", EVSEId.Format.AsText()),
                                   new XElement("EVSEId", EVSEId.ToString()),

                                   new XElement("statusEventDate", StatusEventDate.ToIso8601(false).Replace("Z", "")),
                                   new XElement("availabilityStatus", AvailabilityStatus.AsNumber()),

                                   AvailabilityStatusUntil.HasValue
                              ? new XElement("availabilityStatusUntil", AvailabilityStatusUntil.Value.ToIso8601(false).Replace("Z", ""))
                              : null,

                                   AvailabilityStatusComment.IsNeitherNullNorEmpty()
                              ? new XElement("availabilityStatusComment", AvailabilityStatusComment)
                              : null

                                   );


            return(CustomSetEVSEAvailabilityStatusRequestSerializer != null
                       ? CustomSetEVSEAvailabilityStatusRequestSerializer(this, XML)
                       : XML);
        }