MobileAuthorizeStart(this IMobileClient IMobileClient,
                             EVSE_Id EVSEId,
                             EVCO_Id EVCOId,
                             String HashedPIN,
                             PINCrypto Function,
                             String Salt,
                             PartnerProduct_Id?PartnerProductId = null,
                             Boolean?GetNewSession = null,

                             DateTime?Timestamp = null,
                             CancellationToken?CancellationToken = null,
                             EventTracking_Id EventTrackingId    = null,
                             TimeSpan?RequestTimeout             = null)


        => IMobileClient.MobileAuthorizeStart(new MobileAuthorizeStartRequest(EVSEId,
                                                                              new QRCodeIdentification(EVCOId,
                                                                                                       HashedPIN,
                                                                                                       Function,
                                                                                                       Salt),
                                                                              PartnerProductId,
                                                                              GetNewSession,

                                                                              Timestamp,
                                                                              CancellationToken,
                                                                              EventTrackingId,
                                                                              RequestTimeout ?? IMobileClient.RequestTimeout));
        MobileAuthorizeStart(this IMobileClient IMobileClient,
                             EVSE_Id EVSEId,
                             QRCodeIdentification QRCodeIdentification,
                             PartnerProduct_Id?PartnerProductId = null,
                             Boolean?GetNewSession = null,

                             DateTime?Timestamp = null,
                             CancellationToken?CancellationToken = null,
                             EventTracking_Id EventTrackingId    = null,
                             TimeSpan?RequestTimeout             = null)


        => IMobileClient.MobileAuthorizeStart(new MobileAuthorizeStartRequest(EVSEId,
                                                                              QRCodeIdentification,
                                                                              PartnerProductId,
                                                                              GetNewSession,

                                                                              Timestamp,
                                                                              CancellationToken,
                                                                              EventTrackingId,
                                                                              RequestTimeout ?? IMobileClient.RequestTimeout));