Mercedes.Agency.Orchestration.API

<back to all web services

GetOrderCustomerRequest

Order
Requires Authentication
The following routes are available for this service:
GET/v1/order/customer/{CustomerId}Get Order by Customer
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class Order implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Guid='',
        /** @var string */
        public string $Reference='',
        /** @var int */
        public int $Status=0,
        /** @var string */
        public string $CustomerId='',
        /** @var string */
        public string $MulesoftReference='',
        /** @var string */
        public string $GasId='',
        /** @var string */
        public string $OrderDate='',
        /** @var string */
        public string $OfferSnapShot=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Reference'])) $this->Reference = $o['Reference'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['CustomerId'])) $this->CustomerId = $o['CustomerId'];
        if (isset($o['MulesoftReference'])) $this->MulesoftReference = $o['MulesoftReference'];
        if (isset($o['GasId'])) $this->GasId = $o['GasId'];
        if (isset($o['OrderDate'])) $this->OrderDate = $o['OrderDate'];
        if (isset($o['OfferSnapShot'])) $this->OfferSnapShot = $o['OfferSnapShot'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Reference)) $o['Reference'] = $this->Reference;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->CustomerId)) $o['CustomerId'] = $this->CustomerId;
        if (isset($this->MulesoftReference)) $o['MulesoftReference'] = $this->MulesoftReference;
        if (isset($this->GasId)) $o['GasId'] = $this->GasId;
        if (isset($this->OrderDate)) $o['OrderDate'] = $this->OrderDate;
        if (isset($this->OfferSnapShot)) $o['OfferSnapShot'] = $this->OfferSnapShot;
        return empty($o) ? new class(){} : $o;
    }
}

class OrderStatus implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Id=0,
        /** @var string */
        public string $Description=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        return empty($o) ? new class(){} : $o;
    }
}

class OnlineShowroomStatus implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Id=0,
        /** @var string */
        public string $Description='',
        /** @var string */
        public string $Slug='',
        /** @var bool|null */
        public ?bool $Current=null,
        /** @var bool|null */
        public ?bool $Completed=null,
        /** @var array<OrderStatus>|null */
        public ?array $OrderStatuses=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
        if (isset($o['Slug'])) $this->Slug = $o['Slug'];
        if (isset($o['Current'])) $this->Current = $o['Current'];
        if (isset($o['Completed'])) $this->Completed = $o['Completed'];
        if (isset($o['OrderStatuses'])) $this->OrderStatuses = JsonConverters::fromArray('OrderStatus', $o['OrderStatuses']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        if (isset($this->Slug)) $o['Slug'] = $this->Slug;
        if (isset($this->Current)) $o['Current'] = $this->Current;
        if (isset($this->Completed)) $o['Completed'] = $this->Completed;
        if (isset($this->OrderStatuses)) $o['OrderStatuses'] = JsonConverters::toArray('OrderStatus', $this->OrderStatuses);
        return empty($o) ? new class(){} : $o;
    }
}

class RetailerOpeningTime implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Day='',
        /** @var string */
        public string $OpenFrom='',
        /** @var string */
        public string $OpenTo='',
        /** @var string */
        public string $Special=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Day'])) $this->Day = $o['Day'];
        if (isset($o['OpenFrom'])) $this->OpenFrom = $o['OpenFrom'];
        if (isset($o['OpenTo'])) $this->OpenTo = $o['OpenTo'];
        if (isset($o['Special'])) $this->Special = $o['Special'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Day)) $o['Day'] = $this->Day;
        if (isset($this->OpenFrom)) $o['OpenFrom'] = $this->OpenFrom;
        if (isset($this->OpenTo)) $o['OpenTo'] = $this->OpenTo;
        if (isset($this->Special)) $o['Special'] = $this->Special;
        return empty($o) ? new class(){} : $o;
    }
}

class RetailerOpeningTimes implements JsonSerializable
{
    public function __construct(
        /** @var array<RetailerOpeningTime>|null */
        public ?array $New=null,
        /** @var array<RetailerOpeningTime>|null */
        public ?array $Used=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['New'])) $this->New = JsonConverters::fromArray('RetailerOpeningTime', $o['New']);
        if (isset($o['Used'])) $this->Used = JsonConverters::fromArray('RetailerOpeningTime', $o['Used']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->New)) $o['New'] = JsonConverters::toArray('RetailerOpeningTime', $this->New);
        if (isset($this->Used)) $o['Used'] = JsonConverters::toArray('RetailerOpeningTime', $this->Used);
        return empty($o) ? new class(){} : $o;
    }
}

class Retailer implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Id=0,
        /** @var string */
        public string $GssnId='',
        /** @var string */
        public string $Description='',
        /** @var string */
        public string $Street='',
        /** @var string */
        public string $City='',
        /** @var string */
        public string $Postcode='',
        /** @var string */
        public string $GoogleMapPostcode='',
        /** @var string */
        public string $Phone='',
        /** @var string */
        public string $Fax='',
        /** @var string */
        public string $Email='',
        /** @var string */
        public string $Website='',
        /** @var string */
        public string $RetailerGroupId='',
        /** @var string */
        public string $RetailerGroupName='',
        /** @var bool|null */
        public ?bool $IsOnline=null,
        /** @var bool|null */
        public ?bool $IsNewCarRetailer=null,
        /** @var bool|null */
        public ?bool $IsUsedCarRetailer=null,
        /** @var bool|null */
        public ?bool $IsCentralRetailer=null,
        /** @var bool|null */
        public ?bool $ChatEnabled=null,
        /** @var bool|null */
        public ?bool $TradeInEnabled=null,
        /** @var bool|null */
        public ?bool $smart=null,
        /** @var string */
        public string $DisplayPhoneNumberNew='',
        /** @var string */
        public string $DisplayPhoneNumberUsed='',
        /** @var float */
        public float $Latitude=0.0,
        /** @var float */
        public float $Longitude=0.0,
        /** @var string */
        public string $smartDescription='',
        /** @var string */
        public string $smartWebsite='',
        /** @var string */
        public string $smartPhone='',
        /** @var string */
        public string $LegacyId='',
        /** @var bool|null */
        public ?bool $Agent=null,
        /** @var int */
        public int $MarketAreaId=0,
        /** @var string|null */
        public ?string $DigitalLoungeParentGssnId=null,
        /** @var bool|null */
        public ?bool $SendLeadsToDigitalLoungeParent=null,
        /** @var RetailerOpeningTimes|null */
        public ?RetailerOpeningTimes $OpeningTimes=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Id'])) $this->Id = $o['Id'];
        if (isset($o['GssnId'])) $this->GssnId = $o['GssnId'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
        if (isset($o['Street'])) $this->Street = $o['Street'];
        if (isset($o['City'])) $this->City = $o['City'];
        if (isset($o['Postcode'])) $this->Postcode = $o['Postcode'];
        if (isset($o['GoogleMapPostcode'])) $this->GoogleMapPostcode = $o['GoogleMapPostcode'];
        if (isset($o['Phone'])) $this->Phone = $o['Phone'];
        if (isset($o['Fax'])) $this->Fax = $o['Fax'];
        if (isset($o['Email'])) $this->Email = $o['Email'];
        if (isset($o['Website'])) $this->Website = $o['Website'];
        if (isset($o['RetailerGroupId'])) $this->RetailerGroupId = $o['RetailerGroupId'];
        if (isset($o['RetailerGroupName'])) $this->RetailerGroupName = $o['RetailerGroupName'];
        if (isset($o['IsOnline'])) $this->IsOnline = $o['IsOnline'];
        if (isset($o['IsNewCarRetailer'])) $this->IsNewCarRetailer = $o['IsNewCarRetailer'];
        if (isset($o['IsUsedCarRetailer'])) $this->IsUsedCarRetailer = $o['IsUsedCarRetailer'];
        if (isset($o['IsCentralRetailer'])) $this->IsCentralRetailer = $o['IsCentralRetailer'];
        if (isset($o['ChatEnabled'])) $this->ChatEnabled = $o['ChatEnabled'];
        if (isset($o['TradeInEnabled'])) $this->TradeInEnabled = $o['TradeInEnabled'];
        if (isset($o['smart'])) $this->smart = $o['smart'];
        if (isset($o['DisplayPhoneNumberNew'])) $this->DisplayPhoneNumberNew = $o['DisplayPhoneNumberNew'];
        if (isset($o['DisplayPhoneNumberUsed'])) $this->DisplayPhoneNumberUsed = $o['DisplayPhoneNumberUsed'];
        if (isset($o['Latitude'])) $this->Latitude = $o['Latitude'];
        if (isset($o['Longitude'])) $this->Longitude = $o['Longitude'];
        if (isset($o['smartDescription'])) $this->smartDescription = $o['smartDescription'];
        if (isset($o['smartWebsite'])) $this->smartWebsite = $o['smartWebsite'];
        if (isset($o['smartPhone'])) $this->smartPhone = $o['smartPhone'];
        if (isset($o['LegacyId'])) $this->LegacyId = $o['LegacyId'];
        if (isset($o['Agent'])) $this->Agent = $o['Agent'];
        if (isset($o['MarketAreaId'])) $this->MarketAreaId = $o['MarketAreaId'];
        if (isset($o['DigitalLoungeParentGssnId'])) $this->DigitalLoungeParentGssnId = $o['DigitalLoungeParentGssnId'];
        if (isset($o['SendLeadsToDigitalLoungeParent'])) $this->SendLeadsToDigitalLoungeParent = $o['SendLeadsToDigitalLoungeParent'];
        if (isset($o['OpeningTimes'])) $this->OpeningTimes = JsonConverters::from('RetailerOpeningTimes', $o['OpeningTimes']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Id)) $o['Id'] = $this->Id;
        if (isset($this->GssnId)) $o['GssnId'] = $this->GssnId;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        if (isset($this->Street)) $o['Street'] = $this->Street;
        if (isset($this->City)) $o['City'] = $this->City;
        if (isset($this->Postcode)) $o['Postcode'] = $this->Postcode;
        if (isset($this->GoogleMapPostcode)) $o['GoogleMapPostcode'] = $this->GoogleMapPostcode;
        if (isset($this->Phone)) $o['Phone'] = $this->Phone;
        if (isset($this->Fax)) $o['Fax'] = $this->Fax;
        if (isset($this->Email)) $o['Email'] = $this->Email;
        if (isset($this->Website)) $o['Website'] = $this->Website;
        if (isset($this->RetailerGroupId)) $o['RetailerGroupId'] = $this->RetailerGroupId;
        if (isset($this->RetailerGroupName)) $o['RetailerGroupName'] = $this->RetailerGroupName;
        if (isset($this->IsOnline)) $o['IsOnline'] = $this->IsOnline;
        if (isset($this->IsNewCarRetailer)) $o['IsNewCarRetailer'] = $this->IsNewCarRetailer;
        if (isset($this->IsUsedCarRetailer)) $o['IsUsedCarRetailer'] = $this->IsUsedCarRetailer;
        if (isset($this->IsCentralRetailer)) $o['IsCentralRetailer'] = $this->IsCentralRetailer;
        if (isset($this->ChatEnabled)) $o['ChatEnabled'] = $this->ChatEnabled;
        if (isset($this->TradeInEnabled)) $o['TradeInEnabled'] = $this->TradeInEnabled;
        if (isset($this->smart)) $o['smart'] = $this->smart;
        if (isset($this->DisplayPhoneNumberNew)) $o['DisplayPhoneNumberNew'] = $this->DisplayPhoneNumberNew;
        if (isset($this->DisplayPhoneNumberUsed)) $o['DisplayPhoneNumberUsed'] = $this->DisplayPhoneNumberUsed;
        if (isset($this->Latitude)) $o['Latitude'] = $this->Latitude;
        if (isset($this->Longitude)) $o['Longitude'] = $this->Longitude;
        if (isset($this->smartDescription)) $o['smartDescription'] = $this->smartDescription;
        if (isset($this->smartWebsite)) $o['smartWebsite'] = $this->smartWebsite;
        if (isset($this->smartPhone)) $o['smartPhone'] = $this->smartPhone;
        if (isset($this->LegacyId)) $o['LegacyId'] = $this->LegacyId;
        if (isset($this->Agent)) $o['Agent'] = $this->Agent;
        if (isset($this->MarketAreaId)) $o['MarketAreaId'] = $this->MarketAreaId;
        if (isset($this->DigitalLoungeParentGssnId)) $o['DigitalLoungeParentGssnId'] = $this->DigitalLoungeParentGssnId;
        if (isset($this->SendLeadsToDigitalLoungeParent)) $o['SendLeadsToDigitalLoungeParent'] = $this->SendLeadsToDigitalLoungeParent;
        if (isset($this->OpeningTimes)) $o['OpeningTimes'] = JsonConverters::to('RetailerOpeningTimes', $this->OpeningTimes);
        return empty($o) ? new class(){} : $o;
    }
}

class OnlineShowroomVehicle implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Vin='',
        /** @var string */
        public string $VehicleClass='',
        /** @var string */
        public string $TransmissionType='',
        /** @var string */
        public string $FuelType='',
        /** @var string */
        public string $ImageUrl='',
        /** @var string */
        public string $Colour='',
        /** @var string */
        public string $Description='',
        /** @var string */
        public string $BodyStyle='',
        /** @var string */
        public string $UpholsteryType='',
        /** @var Retailer|null */
        public ?Retailer $Retailer=null,
        /** @var float */
        public float $OTR=0.0,
        /** @var float */
        public float $ActualPrice=0.0,
        /** @var float */
        public float $TotalOfferValue=0.0,
        /** @var float */
        public float $NetPrice=0.0,
        /** @var string */
        public string $VehicleType='',
        /** @var string|null */
        public ?string $OfferExpiryDate=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Vin'])) $this->Vin = $o['Vin'];
        if (isset($o['VehicleClass'])) $this->VehicleClass = $o['VehicleClass'];
        if (isset($o['TransmissionType'])) $this->TransmissionType = $o['TransmissionType'];
        if (isset($o['FuelType'])) $this->FuelType = $o['FuelType'];
        if (isset($o['ImageUrl'])) $this->ImageUrl = $o['ImageUrl'];
        if (isset($o['Colour'])) $this->Colour = $o['Colour'];
        if (isset($o['Description'])) $this->Description = $o['Description'];
        if (isset($o['BodyStyle'])) $this->BodyStyle = $o['BodyStyle'];
        if (isset($o['UpholsteryType'])) $this->UpholsteryType = $o['UpholsteryType'];
        if (isset($o['Retailer'])) $this->Retailer = JsonConverters::from('Retailer', $o['Retailer']);
        if (isset($o['OTR'])) $this->OTR = $o['OTR'];
        if (isset($o['ActualPrice'])) $this->ActualPrice = $o['ActualPrice'];
        if (isset($o['TotalOfferValue'])) $this->TotalOfferValue = $o['TotalOfferValue'];
        if (isset($o['NetPrice'])) $this->NetPrice = $o['NetPrice'];
        if (isset($o['VehicleType'])) $this->VehicleType = $o['VehicleType'];
        if (isset($o['OfferExpiryDate'])) $this->OfferExpiryDate = $o['OfferExpiryDate'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Vin)) $o['Vin'] = $this->Vin;
        if (isset($this->VehicleClass)) $o['VehicleClass'] = $this->VehicleClass;
        if (isset($this->TransmissionType)) $o['TransmissionType'] = $this->TransmissionType;
        if (isset($this->FuelType)) $o['FuelType'] = $this->FuelType;
        if (isset($this->ImageUrl)) $o['ImageUrl'] = $this->ImageUrl;
        if (isset($this->Colour)) $o['Colour'] = $this->Colour;
        if (isset($this->Description)) $o['Description'] = $this->Description;
        if (isset($this->BodyStyle)) $o['BodyStyle'] = $this->BodyStyle;
        if (isset($this->UpholsteryType)) $o['UpholsteryType'] = $this->UpholsteryType;
        if (isset($this->Retailer)) $o['Retailer'] = JsonConverters::to('Retailer', $this->Retailer);
        if (isset($this->OTR)) $o['OTR'] = $this->OTR;
        if (isset($this->ActualPrice)) $o['ActualPrice'] = $this->ActualPrice;
        if (isset($this->TotalOfferValue)) $o['TotalOfferValue'] = $this->TotalOfferValue;
        if (isset($this->NetPrice)) $o['NetPrice'] = $this->NetPrice;
        if (isset($this->VehicleType)) $o['VehicleType'] = $this->VehicleType;
        if (isset($this->OfferExpiryDate)) $o['OfferExpiryDate'] = $this->OfferExpiryDate;
        return empty($o) ? new class(){} : $o;
    }
}

class Payment implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $PaymentType='',
        /** @var string */
        public string $PaymentLink=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['PaymentType'])) $this->PaymentType = $o['PaymentType'];
        if (isset($o['PaymentLink'])) $this->PaymentLink = $o['PaymentLink'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->PaymentType)) $o['PaymentType'] = $this->PaymentType;
        if (isset($this->PaymentLink)) $o['PaymentLink'] = $this->PaymentLink;
        return empty($o) ? new class(){} : $o;
    }
}

class Refund implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Name='',
        /** @var string */
        public string $Amount='',
        /** @var string */
        public string $PaymentType='',
        /** @var string */
        public string $CreatedDate='',
        /** @var string */
        public string $Status='',
        /** @var string */
        public string $RefundMpayTransactionId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Amount'])) $this->Amount = $o['Amount'];
        if (isset($o['PaymentType'])) $this->PaymentType = $o['PaymentType'];
        if (isset($o['CreatedDate'])) $this->CreatedDate = $o['CreatedDate'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['RefundMpayTransactionId'])) $this->RefundMpayTransactionId = $o['RefundMpayTransactionId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Amount)) $o['Amount'] = $this->Amount;
        if (isset($this->PaymentType)) $o['PaymentType'] = $this->PaymentType;
        if (isset($this->CreatedDate)) $o['CreatedDate'] = $this->CreatedDate;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->RefundMpayTransactionId)) $o['RefundMpayTransactionId'] = $this->RefundMpayTransactionId;
        return empty($o) ? new class(){} : $o;
    }
}

class PaymentDetail implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Name='',
        /** @var string */
        public string $MpayTransactionId='',
        /** @var string */
        public string $MerchantReference='',
        /** @var string */
        public string $PaymentMethod='',
        /** @var string */
        public string $Amount='',
        /** @var string */
        public string $NewConfirmedAmount='',
        /** @var string */
        public string $PaymentType='',
        /** @var string */
        public string $PaymentStatus='',
        /** @var string */
        public string $RefundType='',
        /** @var string */
        public string $PaymentLink='',
        /** @var string */
        public string $CreatedDate='',
        /** @var string */
        public string $DateTimePaymentConfirmed='',
        /** @var array<Refund>|null */
        public ?array $Refunds=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['MpayTransactionId'])) $this->MpayTransactionId = $o['MpayTransactionId'];
        if (isset($o['MerchantReference'])) $this->MerchantReference = $o['MerchantReference'];
        if (isset($o['PaymentMethod'])) $this->PaymentMethod = $o['PaymentMethod'];
        if (isset($o['Amount'])) $this->Amount = $o['Amount'];
        if (isset($o['NewConfirmedAmount'])) $this->NewConfirmedAmount = $o['NewConfirmedAmount'];
        if (isset($o['PaymentType'])) $this->PaymentType = $o['PaymentType'];
        if (isset($o['PaymentStatus'])) $this->PaymentStatus = $o['PaymentStatus'];
        if (isset($o['RefundType'])) $this->RefundType = $o['RefundType'];
        if (isset($o['PaymentLink'])) $this->PaymentLink = $o['PaymentLink'];
        if (isset($o['CreatedDate'])) $this->CreatedDate = $o['CreatedDate'];
        if (isset($o['DateTimePaymentConfirmed'])) $this->DateTimePaymentConfirmed = $o['DateTimePaymentConfirmed'];
        if (isset($o['Refunds'])) $this->Refunds = JsonConverters::fromArray('Refund', $o['Refunds']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->MpayTransactionId)) $o['MpayTransactionId'] = $this->MpayTransactionId;
        if (isset($this->MerchantReference)) $o['MerchantReference'] = $this->MerchantReference;
        if (isset($this->PaymentMethod)) $o['PaymentMethod'] = $this->PaymentMethod;
        if (isset($this->Amount)) $o['Amount'] = $this->Amount;
        if (isset($this->NewConfirmedAmount)) $o['NewConfirmedAmount'] = $this->NewConfirmedAmount;
        if (isset($this->PaymentType)) $o['PaymentType'] = $this->PaymentType;
        if (isset($this->PaymentStatus)) $o['PaymentStatus'] = $this->PaymentStatus;
        if (isset($this->RefundType)) $o['RefundType'] = $this->RefundType;
        if (isset($this->PaymentLink)) $o['PaymentLink'] = $this->PaymentLink;
        if (isset($this->CreatedDate)) $o['CreatedDate'] = $this->CreatedDate;
        if (isset($this->DateTimePaymentConfirmed)) $o['DateTimePaymentConfirmed'] = $this->DateTimePaymentConfirmed;
        if (isset($this->Refunds)) $o['Refunds'] = JsonConverters::toArray('Refund', $this->Refunds);
        return empty($o) ? new class(){} : $o;
    }
}

class OnlineShowroomOrder implements JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $Guid='',
        /** @var string */
        public string $Reference='',
        /** @var array<OnlineShowroomStatus>|null */
        public ?array $Status=null,
        /** @var OnlineShowroomVehicle|null */
        public ?OnlineShowroomVehicle $Vehicle=null,
        /** @var string */
        public string $ClosedDate='',
        /** @var string */
        public string $CustomerId='',
        /** @var string */
        public string $HandoverDate='',
        /** @var string */
        public string $ClosedReason='',
        /** @var string */
        public string $OrderDate='',
        /** @var array<Payment>|null */
        public ?array $PaymentLinks=null,
        /** @var array<PaymentDetail>|null */
        public ?array $PaymentDetails=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Reference'])) $this->Reference = $o['Reference'];
        if (isset($o['Status'])) $this->Status = JsonConverters::fromArray('OnlineShowroomStatus', $o['Status']);
        if (isset($o['Vehicle'])) $this->Vehicle = JsonConverters::from('OnlineShowroomVehicle', $o['Vehicle']);
        if (isset($o['ClosedDate'])) $this->ClosedDate = $o['ClosedDate'];
        if (isset($o['CustomerId'])) $this->CustomerId = $o['CustomerId'];
        if (isset($o['HandoverDate'])) $this->HandoverDate = $o['HandoverDate'];
        if (isset($o['ClosedReason'])) $this->ClosedReason = $o['ClosedReason'];
        if (isset($o['OrderDate'])) $this->OrderDate = $o['OrderDate'];
        if (isset($o['PaymentLinks'])) $this->PaymentLinks = JsonConverters::fromArray('Payment', $o['PaymentLinks']);
        if (isset($o['PaymentDetails'])) $this->PaymentDetails = JsonConverters::fromArray('PaymentDetail', $o['PaymentDetails']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Reference)) $o['Reference'] = $this->Reference;
        if (isset($this->Status)) $o['Status'] = JsonConverters::toArray('OnlineShowroomStatus', $this->Status);
        if (isset($this->Vehicle)) $o['Vehicle'] = JsonConverters::to('OnlineShowroomVehicle', $this->Vehicle);
        if (isset($this->ClosedDate)) $o['ClosedDate'] = $this->ClosedDate;
        if (isset($this->CustomerId)) $o['CustomerId'] = $this->CustomerId;
        if (isset($this->HandoverDate)) $o['HandoverDate'] = $this->HandoverDate;
        if (isset($this->ClosedReason)) $o['ClosedReason'] = $this->ClosedReason;
        if (isset($this->OrderDate)) $o['OrderDate'] = $this->OrderDate;
        if (isset($this->PaymentLinks)) $o['PaymentLinks'] = JsonConverters::toArray('Payment', $this->PaymentLinks);
        if (isset($this->PaymentDetails)) $o['PaymentDetails'] = JsonConverters::toArray('PaymentDetail', $this->PaymentDetails);
        return empty($o) ? new class(){} : $o;
    }
}

class GetOrderCustomerResponse implements JsonSerializable
{
    public function __construct(
        /** @var array<Order>|null */
        public ?array $Orders=null,
        /** @var array<OnlineShowroomOrder>|null */
        public ?array $Completed=null,
        /** @var array<OnlineShowroomOrder>|null */
        public ?array $Cancelled=null,
        /** @var array<OnlineShowroomOrder>|null */
        public ?array $InProgress=null,
        /** @var array<OnlineShowroomOrder>|null */
        public ?array $Archived=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Orders'])) $this->Orders = JsonConverters::fromArray('Order', $o['Orders']);
        if (isset($o['Completed'])) $this->Completed = JsonConverters::fromArray('OnlineShowroomOrder', $o['Completed']);
        if (isset($o['Cancelled'])) $this->Cancelled = JsonConverters::fromArray('OnlineShowroomOrder', $o['Cancelled']);
        if (isset($o['InProgress'])) $this->InProgress = JsonConverters::fromArray('OnlineShowroomOrder', $o['InProgress']);
        if (isset($o['Archived'])) $this->Archived = JsonConverters::fromArray('OnlineShowroomOrder', $o['Archived']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Orders)) $o['Orders'] = JsonConverters::toArray('Order', $this->Orders);
        if (isset($this->Completed)) $o['Completed'] = JsonConverters::toArray('OnlineShowroomOrder', $this->Completed);
        if (isset($this->Cancelled)) $o['Cancelled'] = JsonConverters::toArray('OnlineShowroomOrder', $this->Cancelled);
        if (isset($this->InProgress)) $o['InProgress'] = JsonConverters::toArray('OnlineShowroomOrder', $this->InProgress);
        if (isset($this->Archived)) $o['Archived'] = JsonConverters::toArray('OnlineShowroomOrder', $this->Archived);
        return empty($o) ? new class(){} : $o;
    }
}

class GetOrderCustomerRequest implements IGet, JsonSerializable
{
    public function __construct(
        /** @var string */
        public string $CustomerId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CustomerId'])) $this->CustomerId = $o['CustomerId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CustomerId)) $o['CustomerId'] = $this->CustomerId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetOrderCustomerRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/order/customer/{CustomerId} HTTP/1.1 
Host: prod-api-agency-orch-mb-dhc.rapp-customers.co.uk 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetOrderCustomerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Mercedes.Agency.Orchestration.API.Clients.AgencyApi.Responses">
  <Archived xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:OnlineShowroomOrder>
      <d2p1:ClosedDate>String</d2p1:ClosedDate>
      <d2p1:ClosedReason>String</d2p1:ClosedReason>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:HandoverDate>String</d2p1:HandoverDate>
      <d2p1:OrderDate>String</d2p1:OrderDate>
      <d2p1:PaymentDetails>
        <d2p1:PaymentDetail>
          <d2p1:Amount>String</d2p1:Amount>
          <d2p1:CreatedDate>String</d2p1:CreatedDate>
          <d2p1:DateTimePaymentConfirmed>String</d2p1:DateTimePaymentConfirmed>
          <d2p1:MerchantReference>String</d2p1:MerchantReference>
          <d2p1:MpayTransactionId>String</d2p1:MpayTransactionId>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NewConfirmedAmount>String</d2p1:NewConfirmedAmount>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentMethod>String</d2p1:PaymentMethod>
          <d2p1:PaymentStatus>String</d2p1:PaymentStatus>
          <d2p1:PaymentType>String</d2p1:PaymentType>
          <d2p1:RefundType>String</d2p1:RefundType>
          <d2p1:Refunds>
            <d2p1:Refund>
              <d2p1:Amount>String</d2p1:Amount>
              <d2p1:CreatedDate>String</d2p1:CreatedDate>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:PaymentType>String</d2p1:PaymentType>
              <d2p1:RefundMpayTransactionId>String</d2p1:RefundMpayTransactionId>
              <d2p1:Status>String</d2p1:Status>
            </d2p1:Refund>
          </d2p1:Refunds>
        </d2p1:PaymentDetail>
      </d2p1:PaymentDetails>
      <d2p1:PaymentLinks>
        <d2p1:Payment>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentType>String</d2p1:PaymentType>
        </d2p1:Payment>
      </d2p1:PaymentLinks>
      <d2p1:Reference>String</d2p1:Reference>
      <d2p1:Status>
        <d2p1:OnlineShowroomStatus>
          <d2p1:Completed>false</d2p1:Completed>
          <d2p1:Current>false</d2p1:Current>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:OrderStatuses>
            <d2p1:OrderStatus>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:Id>0</d2p1:Id>
            </d2p1:OrderStatus>
          </d2p1:OrderStatuses>
          <d2p1:Slug>String</d2p1:Slug>
        </d2p1:OnlineShowroomStatus>
      </d2p1:Status>
      <d2p1:Vehicle>
        <d2p1:ActualPrice>0</d2p1:ActualPrice>
        <d2p1:BodyStyle>String</d2p1:BodyStyle>
        <d2p1:Colour>String</d2p1:Colour>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:FuelType>String</d2p1:FuelType>
        <d2p1:ImageUrl>String</d2p1:ImageUrl>
        <d2p1:NetPrice>0</d2p1:NetPrice>
        <d2p1:OTR>0</d2p1:OTR>
        <d2p1:OfferExpiryDate>String</d2p1:OfferExpiryDate>
        <d2p1:Retailer>
          <d2p1:Agent>false</d2p1:Agent>
          <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
          <d2p1:City>String</d2p1:City>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
          <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
          <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Fax>String</d2p1:Fax>
          <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
          <d2p1:GssnId>String</d2p1:GssnId>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
          <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
          <d2p1:IsOnline>false</d2p1:IsOnline>
          <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
          <d2p1:Latitude>0</d2p1:Latitude>
          <d2p1:LegacyId>String</d2p1:LegacyId>
          <d2p1:Longitude>0</d2p1:Longitude>
          <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
          <d2p1:OpeningTimes>
            <d2p1:New>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:New>
            <d2p1:Used>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:Used>
          </d2p1:OpeningTimes>
          <d2p1:Phone>String</d2p1:Phone>
          <d2p1:Postcode>String</d2p1:Postcode>
          <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
          <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
          <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
          <d2p1:Street>String</d2p1:Street>
          <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
          <d2p1:Website>String</d2p1:Website>
          <d2p1:smart>false</d2p1:smart>
          <d2p1:smartDescription>String</d2p1:smartDescription>
          <d2p1:smartPhone>String</d2p1:smartPhone>
          <d2p1:smartWebsite>String</d2p1:smartWebsite>
        </d2p1:Retailer>
        <d2p1:TotalOfferValue>0</d2p1:TotalOfferValue>
        <d2p1:TransmissionType>String</d2p1:TransmissionType>
        <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
        <d2p1:VehicleClass>String</d2p1:VehicleClass>
        <d2p1:VehicleType>String</d2p1:VehicleType>
        <d2p1:Vin>String</d2p1:Vin>
      </d2p1:Vehicle>
    </d2p1:OnlineShowroomOrder>
  </Archived>
  <Cancelled xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:OnlineShowroomOrder>
      <d2p1:ClosedDate>String</d2p1:ClosedDate>
      <d2p1:ClosedReason>String</d2p1:ClosedReason>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:HandoverDate>String</d2p1:HandoverDate>
      <d2p1:OrderDate>String</d2p1:OrderDate>
      <d2p1:PaymentDetails>
        <d2p1:PaymentDetail>
          <d2p1:Amount>String</d2p1:Amount>
          <d2p1:CreatedDate>String</d2p1:CreatedDate>
          <d2p1:DateTimePaymentConfirmed>String</d2p1:DateTimePaymentConfirmed>
          <d2p1:MerchantReference>String</d2p1:MerchantReference>
          <d2p1:MpayTransactionId>String</d2p1:MpayTransactionId>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NewConfirmedAmount>String</d2p1:NewConfirmedAmount>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentMethod>String</d2p1:PaymentMethod>
          <d2p1:PaymentStatus>String</d2p1:PaymentStatus>
          <d2p1:PaymentType>String</d2p1:PaymentType>
          <d2p1:RefundType>String</d2p1:RefundType>
          <d2p1:Refunds>
            <d2p1:Refund>
              <d2p1:Amount>String</d2p1:Amount>
              <d2p1:CreatedDate>String</d2p1:CreatedDate>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:PaymentType>String</d2p1:PaymentType>
              <d2p1:RefundMpayTransactionId>String</d2p1:RefundMpayTransactionId>
              <d2p1:Status>String</d2p1:Status>
            </d2p1:Refund>
          </d2p1:Refunds>
        </d2p1:PaymentDetail>
      </d2p1:PaymentDetails>
      <d2p1:PaymentLinks>
        <d2p1:Payment>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentType>String</d2p1:PaymentType>
        </d2p1:Payment>
      </d2p1:PaymentLinks>
      <d2p1:Reference>String</d2p1:Reference>
      <d2p1:Status>
        <d2p1:OnlineShowroomStatus>
          <d2p1:Completed>false</d2p1:Completed>
          <d2p1:Current>false</d2p1:Current>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:OrderStatuses>
            <d2p1:OrderStatus>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:Id>0</d2p1:Id>
            </d2p1:OrderStatus>
          </d2p1:OrderStatuses>
          <d2p1:Slug>String</d2p1:Slug>
        </d2p1:OnlineShowroomStatus>
      </d2p1:Status>
      <d2p1:Vehicle>
        <d2p1:ActualPrice>0</d2p1:ActualPrice>
        <d2p1:BodyStyle>String</d2p1:BodyStyle>
        <d2p1:Colour>String</d2p1:Colour>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:FuelType>String</d2p1:FuelType>
        <d2p1:ImageUrl>String</d2p1:ImageUrl>
        <d2p1:NetPrice>0</d2p1:NetPrice>
        <d2p1:OTR>0</d2p1:OTR>
        <d2p1:OfferExpiryDate>String</d2p1:OfferExpiryDate>
        <d2p1:Retailer>
          <d2p1:Agent>false</d2p1:Agent>
          <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
          <d2p1:City>String</d2p1:City>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
          <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
          <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Fax>String</d2p1:Fax>
          <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
          <d2p1:GssnId>String</d2p1:GssnId>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
          <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
          <d2p1:IsOnline>false</d2p1:IsOnline>
          <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
          <d2p1:Latitude>0</d2p1:Latitude>
          <d2p1:LegacyId>String</d2p1:LegacyId>
          <d2p1:Longitude>0</d2p1:Longitude>
          <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
          <d2p1:OpeningTimes>
            <d2p1:New>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:New>
            <d2p1:Used>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:Used>
          </d2p1:OpeningTimes>
          <d2p1:Phone>String</d2p1:Phone>
          <d2p1:Postcode>String</d2p1:Postcode>
          <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
          <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
          <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
          <d2p1:Street>String</d2p1:Street>
          <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
          <d2p1:Website>String</d2p1:Website>
          <d2p1:smart>false</d2p1:smart>
          <d2p1:smartDescription>String</d2p1:smartDescription>
          <d2p1:smartPhone>String</d2p1:smartPhone>
          <d2p1:smartWebsite>String</d2p1:smartWebsite>
        </d2p1:Retailer>
        <d2p1:TotalOfferValue>0</d2p1:TotalOfferValue>
        <d2p1:TransmissionType>String</d2p1:TransmissionType>
        <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
        <d2p1:VehicleClass>String</d2p1:VehicleClass>
        <d2p1:VehicleType>String</d2p1:VehicleType>
        <d2p1:Vin>String</d2p1:Vin>
      </d2p1:Vehicle>
    </d2p1:OnlineShowroomOrder>
  </Cancelled>
  <Completed xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:OnlineShowroomOrder>
      <d2p1:ClosedDate>String</d2p1:ClosedDate>
      <d2p1:ClosedReason>String</d2p1:ClosedReason>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:HandoverDate>String</d2p1:HandoverDate>
      <d2p1:OrderDate>String</d2p1:OrderDate>
      <d2p1:PaymentDetails>
        <d2p1:PaymentDetail>
          <d2p1:Amount>String</d2p1:Amount>
          <d2p1:CreatedDate>String</d2p1:CreatedDate>
          <d2p1:DateTimePaymentConfirmed>String</d2p1:DateTimePaymentConfirmed>
          <d2p1:MerchantReference>String</d2p1:MerchantReference>
          <d2p1:MpayTransactionId>String</d2p1:MpayTransactionId>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NewConfirmedAmount>String</d2p1:NewConfirmedAmount>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentMethod>String</d2p1:PaymentMethod>
          <d2p1:PaymentStatus>String</d2p1:PaymentStatus>
          <d2p1:PaymentType>String</d2p1:PaymentType>
          <d2p1:RefundType>String</d2p1:RefundType>
          <d2p1:Refunds>
            <d2p1:Refund>
              <d2p1:Amount>String</d2p1:Amount>
              <d2p1:CreatedDate>String</d2p1:CreatedDate>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:PaymentType>String</d2p1:PaymentType>
              <d2p1:RefundMpayTransactionId>String</d2p1:RefundMpayTransactionId>
              <d2p1:Status>String</d2p1:Status>
            </d2p1:Refund>
          </d2p1:Refunds>
        </d2p1:PaymentDetail>
      </d2p1:PaymentDetails>
      <d2p1:PaymentLinks>
        <d2p1:Payment>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentType>String</d2p1:PaymentType>
        </d2p1:Payment>
      </d2p1:PaymentLinks>
      <d2p1:Reference>String</d2p1:Reference>
      <d2p1:Status>
        <d2p1:OnlineShowroomStatus>
          <d2p1:Completed>false</d2p1:Completed>
          <d2p1:Current>false</d2p1:Current>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:OrderStatuses>
            <d2p1:OrderStatus>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:Id>0</d2p1:Id>
            </d2p1:OrderStatus>
          </d2p1:OrderStatuses>
          <d2p1:Slug>String</d2p1:Slug>
        </d2p1:OnlineShowroomStatus>
      </d2p1:Status>
      <d2p1:Vehicle>
        <d2p1:ActualPrice>0</d2p1:ActualPrice>
        <d2p1:BodyStyle>String</d2p1:BodyStyle>
        <d2p1:Colour>String</d2p1:Colour>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:FuelType>String</d2p1:FuelType>
        <d2p1:ImageUrl>String</d2p1:ImageUrl>
        <d2p1:NetPrice>0</d2p1:NetPrice>
        <d2p1:OTR>0</d2p1:OTR>
        <d2p1:OfferExpiryDate>String</d2p1:OfferExpiryDate>
        <d2p1:Retailer>
          <d2p1:Agent>false</d2p1:Agent>
          <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
          <d2p1:City>String</d2p1:City>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
          <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
          <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Fax>String</d2p1:Fax>
          <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
          <d2p1:GssnId>String</d2p1:GssnId>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
          <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
          <d2p1:IsOnline>false</d2p1:IsOnline>
          <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
          <d2p1:Latitude>0</d2p1:Latitude>
          <d2p1:LegacyId>String</d2p1:LegacyId>
          <d2p1:Longitude>0</d2p1:Longitude>
          <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
          <d2p1:OpeningTimes>
            <d2p1:New>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:New>
            <d2p1:Used>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:Used>
          </d2p1:OpeningTimes>
          <d2p1:Phone>String</d2p1:Phone>
          <d2p1:Postcode>String</d2p1:Postcode>
          <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
          <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
          <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
          <d2p1:Street>String</d2p1:Street>
          <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
          <d2p1:Website>String</d2p1:Website>
          <d2p1:smart>false</d2p1:smart>
          <d2p1:smartDescription>String</d2p1:smartDescription>
          <d2p1:smartPhone>String</d2p1:smartPhone>
          <d2p1:smartWebsite>String</d2p1:smartWebsite>
        </d2p1:Retailer>
        <d2p1:TotalOfferValue>0</d2p1:TotalOfferValue>
        <d2p1:TransmissionType>String</d2p1:TransmissionType>
        <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
        <d2p1:VehicleClass>String</d2p1:VehicleClass>
        <d2p1:VehicleType>String</d2p1:VehicleType>
        <d2p1:Vin>String</d2p1:Vin>
      </d2p1:Vehicle>
    </d2p1:OnlineShowroomOrder>
  </Completed>
  <InProgress xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:OnlineShowroomOrder>
      <d2p1:ClosedDate>String</d2p1:ClosedDate>
      <d2p1:ClosedReason>String</d2p1:ClosedReason>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:HandoverDate>String</d2p1:HandoverDate>
      <d2p1:OrderDate>String</d2p1:OrderDate>
      <d2p1:PaymentDetails>
        <d2p1:PaymentDetail>
          <d2p1:Amount>String</d2p1:Amount>
          <d2p1:CreatedDate>String</d2p1:CreatedDate>
          <d2p1:DateTimePaymentConfirmed>String</d2p1:DateTimePaymentConfirmed>
          <d2p1:MerchantReference>String</d2p1:MerchantReference>
          <d2p1:MpayTransactionId>String</d2p1:MpayTransactionId>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NewConfirmedAmount>String</d2p1:NewConfirmedAmount>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentMethod>String</d2p1:PaymentMethod>
          <d2p1:PaymentStatus>String</d2p1:PaymentStatus>
          <d2p1:PaymentType>String</d2p1:PaymentType>
          <d2p1:RefundType>String</d2p1:RefundType>
          <d2p1:Refunds>
            <d2p1:Refund>
              <d2p1:Amount>String</d2p1:Amount>
              <d2p1:CreatedDate>String</d2p1:CreatedDate>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:PaymentType>String</d2p1:PaymentType>
              <d2p1:RefundMpayTransactionId>String</d2p1:RefundMpayTransactionId>
              <d2p1:Status>String</d2p1:Status>
            </d2p1:Refund>
          </d2p1:Refunds>
        </d2p1:PaymentDetail>
      </d2p1:PaymentDetails>
      <d2p1:PaymentLinks>
        <d2p1:Payment>
          <d2p1:PaymentLink>String</d2p1:PaymentLink>
          <d2p1:PaymentType>String</d2p1:PaymentType>
        </d2p1:Payment>
      </d2p1:PaymentLinks>
      <d2p1:Reference>String</d2p1:Reference>
      <d2p1:Status>
        <d2p1:OnlineShowroomStatus>
          <d2p1:Completed>false</d2p1:Completed>
          <d2p1:Current>false</d2p1:Current>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:OrderStatuses>
            <d2p1:OrderStatus>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:Id>0</d2p1:Id>
            </d2p1:OrderStatus>
          </d2p1:OrderStatuses>
          <d2p1:Slug>String</d2p1:Slug>
        </d2p1:OnlineShowroomStatus>
      </d2p1:Status>
      <d2p1:Vehicle>
        <d2p1:ActualPrice>0</d2p1:ActualPrice>
        <d2p1:BodyStyle>String</d2p1:BodyStyle>
        <d2p1:Colour>String</d2p1:Colour>
        <d2p1:Description>String</d2p1:Description>
        <d2p1:FuelType>String</d2p1:FuelType>
        <d2p1:ImageUrl>String</d2p1:ImageUrl>
        <d2p1:NetPrice>0</d2p1:NetPrice>
        <d2p1:OTR>0</d2p1:OTR>
        <d2p1:OfferExpiryDate>String</d2p1:OfferExpiryDate>
        <d2p1:Retailer>
          <d2p1:Agent>false</d2p1:Agent>
          <d2p1:ChatEnabled>false</d2p1:ChatEnabled>
          <d2p1:City>String</d2p1:City>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:DigitalLoungeParentGssnId>String</d2p1:DigitalLoungeParentGssnId>
          <d2p1:DisplayPhoneNumberNew>String</d2p1:DisplayPhoneNumberNew>
          <d2p1:DisplayPhoneNumberUsed>String</d2p1:DisplayPhoneNumberUsed>
          <d2p1:Email>String</d2p1:Email>
          <d2p1:Fax>String</d2p1:Fax>
          <d2p1:GoogleMapPostcode>String</d2p1:GoogleMapPostcode>
          <d2p1:GssnId>String</d2p1:GssnId>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:IsCentralRetailer>false</d2p1:IsCentralRetailer>
          <d2p1:IsNewCarRetailer>false</d2p1:IsNewCarRetailer>
          <d2p1:IsOnline>false</d2p1:IsOnline>
          <d2p1:IsUsedCarRetailer>false</d2p1:IsUsedCarRetailer>
          <d2p1:Latitude>0</d2p1:Latitude>
          <d2p1:LegacyId>String</d2p1:LegacyId>
          <d2p1:Longitude>0</d2p1:Longitude>
          <d2p1:MarketAreaId>0</d2p1:MarketAreaId>
          <d2p1:OpeningTimes>
            <d2p1:New>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:New>
            <d2p1:Used>
              <d2p1:RetailerOpeningTime>
                <d2p1:Day>String</d2p1:Day>
                <d2p1:OpenFrom>String</d2p1:OpenFrom>
                <d2p1:OpenTo>String</d2p1:OpenTo>
                <d2p1:Special>String</d2p1:Special>
              </d2p1:RetailerOpeningTime>
            </d2p1:Used>
          </d2p1:OpeningTimes>
          <d2p1:Phone>String</d2p1:Phone>
          <d2p1:Postcode>String</d2p1:Postcode>
          <d2p1:RetailerGroupId>String</d2p1:RetailerGroupId>
          <d2p1:RetailerGroupName>String</d2p1:RetailerGroupName>
          <d2p1:SendLeadsToDigitalLoungeParent>false</d2p1:SendLeadsToDigitalLoungeParent>
          <d2p1:Street>String</d2p1:Street>
          <d2p1:TradeInEnabled>false</d2p1:TradeInEnabled>
          <d2p1:Website>String</d2p1:Website>
          <d2p1:smart>false</d2p1:smart>
          <d2p1:smartDescription>String</d2p1:smartDescription>
          <d2p1:smartPhone>String</d2p1:smartPhone>
          <d2p1:smartWebsite>String</d2p1:smartWebsite>
        </d2p1:Retailer>
        <d2p1:TotalOfferValue>0</d2p1:TotalOfferValue>
        <d2p1:TransmissionType>String</d2p1:TransmissionType>
        <d2p1:UpholsteryType>String</d2p1:UpholsteryType>
        <d2p1:VehicleClass>String</d2p1:VehicleClass>
        <d2p1:VehicleType>String</d2p1:VehicleType>
        <d2p1:Vin>String</d2p1:Vin>
      </d2p1:Vehicle>
    </d2p1:OnlineShowroomOrder>
  </InProgress>
  <Orders xmlns:d2p1="http://schemas.datacontract.org/2004/07/Mercedes.Agency.API.Shared.POCO">
    <d2p1:Order>
      <d2p1:CustomerId>String</d2p1:CustomerId>
      <d2p1:GasId>String</d2p1:GasId>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:MulesoftReference>String</d2p1:MulesoftReference>
      <d2p1:OfferSnapShot>String</d2p1:OfferSnapShot>
      <d2p1:OrderDate>String</d2p1:OrderDate>
      <d2p1:Reference>String</d2p1:Reference>
      <d2p1:Status>0</d2p1:Status>
    </d2p1:Order>
  </Orders>
</GetOrderCustomerResponse>