Trendsic Platform Service

<back to all web services

CourierFleetRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dispatch/courier/profiles/{Id}/fleet
<?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 CourierProfileSummary implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CourierProfileID=0,
        /** @var string|null */
        public ?string $Code=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $BusinessName=null,
        /** @var string|null */
        public ?string $RouteShape=null,
        /** @var bool|null */
        public ?bool $Enabled=null,
        /** @var string|null */
        public ?string $TemplateFrom=null,
        /** @var int */
        public int $Drivers=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CourierProfileID'])) $this->CourierProfileID = $o['CourierProfileID'];
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['BusinessName'])) $this->BusinessName = $o['BusinessName'];
        if (isset($o['RouteShape'])) $this->RouteShape = $o['RouteShape'];
        if (isset($o['Enabled'])) $this->Enabled = $o['Enabled'];
        if (isset($o['TemplateFrom'])) $this->TemplateFrom = $o['TemplateFrom'];
        if (isset($o['Drivers'])) $this->Drivers = $o['Drivers'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CourierProfileID)) $o['CourierProfileID'] = $this->CourierProfileID;
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->BusinessName)) $o['BusinessName'] = $this->BusinessName;
        if (isset($this->RouteShape)) $o['RouteShape'] = $this->RouteShape;
        if (isset($this->Enabled)) $o['Enabled'] = $this->Enabled;
        if (isset($this->TemplateFrom)) $o['TemplateFrom'] = $this->TemplateFrom;
        if (isset($this->Drivers)) $o['Drivers'] = $this->Drivers;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierTemplateOption implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Key=null,
        /** @var string|null */
        public ?string $Label=null,
        /** @var string|null */
        public ?string $Detail=null,
        /** @var string|null */
        public ?string $RouteShape=null
    ) {
    }

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

class CourierPay implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $WorkerClass=null,
        /** @var float */
        public float $PerPickup=0.0,
        /** @var float */
        public float $PerStop=0.0,
        /** @var float */
        public float $PerMissed=0.0,
        /** @var float */
        public float $PerCancel=0.0,
        /** @var int */
        public int $WaitAfterMin=0,
        /** @var float */
        public float $WaitPerMin=0.0,
        /** @var bool|null */
        public ?bool $MileageOn=null,
        /** @var float */
        public float $PerMile=0.0,
        /** @var float */
        public float $MinPerJob=0.0,
        /** @var float */
        public float $TipsPct=0.0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['WorkerClass'])) $this->WorkerClass = $o['WorkerClass'];
        if (isset($o['PerPickup'])) $this->PerPickup = $o['PerPickup'];
        if (isset($o['PerStop'])) $this->PerStop = $o['PerStop'];
        if (isset($o['PerMissed'])) $this->PerMissed = $o['PerMissed'];
        if (isset($o['PerCancel'])) $this->PerCancel = $o['PerCancel'];
        if (isset($o['WaitAfterMin'])) $this->WaitAfterMin = $o['WaitAfterMin'];
        if (isset($o['WaitPerMin'])) $this->WaitPerMin = $o['WaitPerMin'];
        if (isset($o['MileageOn'])) $this->MileageOn = $o['MileageOn'];
        if (isset($o['PerMile'])) $this->PerMile = $o['PerMile'];
        if (isset($o['MinPerJob'])) $this->MinPerJob = $o['MinPerJob'];
        if (isset($o['TipsPct'])) $this->TipsPct = $o['TipsPct'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->WorkerClass)) $o['WorkerClass'] = $this->WorkerClass;
        if (isset($this->PerPickup)) $o['PerPickup'] = $this->PerPickup;
        if (isset($this->PerStop)) $o['PerStop'] = $this->PerStop;
        if (isset($this->PerMissed)) $o['PerMissed'] = $this->PerMissed;
        if (isset($this->PerCancel)) $o['PerCancel'] = $this->PerCancel;
        if (isset($this->WaitAfterMin)) $o['WaitAfterMin'] = $this->WaitAfterMin;
        if (isset($this->WaitPerMin)) $o['WaitPerMin'] = $this->WaitPerMin;
        if (isset($this->MileageOn)) $o['MileageOn'] = $this->MileageOn;
        if (isset($this->PerMile)) $o['PerMile'] = $this->PerMile;
        if (isset($this->MinPerJob)) $o['MinPerJob'] = $this->MinPerJob;
        if (isset($this->TipsPct)) $o['TipsPct'] = $this->TipsPct;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierDispatch implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $PingSecs=0,
        /** @var float */
        public float $RadiusMi=0.0,
        /** @var bool|null */
        public ?bool $DeclinePenalty=null,
        /** @var string|null */
        public ?string $NextRule=null,
        /** @var int */
        public int $GoMin=0,
        /** @var int */
        public int $LastMin=0,
        /** @var int */
        public int $NearFull=0,
        /** @var int */
        public int $MarginMin=0,
        /** @var string|null */
        public ?string $TrafficSource=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['PingSecs'])) $this->PingSecs = $o['PingSecs'];
        if (isset($o['RadiusMi'])) $this->RadiusMi = $o['RadiusMi'];
        if (isset($o['DeclinePenalty'])) $this->DeclinePenalty = $o['DeclinePenalty'];
        if (isset($o['NextRule'])) $this->NextRule = $o['NextRule'];
        if (isset($o['GoMin'])) $this->GoMin = $o['GoMin'];
        if (isset($o['LastMin'])) $this->LastMin = $o['LastMin'];
        if (isset($o['NearFull'])) $this->NearFull = $o['NearFull'];
        if (isset($o['MarginMin'])) $this->MarginMin = $o['MarginMin'];
        if (isset($o['TrafficSource'])) $this->TrafficSource = $o['TrafficSource'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->PingSecs)) $o['PingSecs'] = $this->PingSecs;
        if (isset($this->RadiusMi)) $o['RadiusMi'] = $this->RadiusMi;
        if (isset($this->DeclinePenalty)) $o['DeclinePenalty'] = $this->DeclinePenalty;
        if (isset($this->NextRule)) $o['NextRule'] = $this->NextRule;
        if (isset($this->GoMin)) $o['GoMin'] = $this->GoMin;
        if (isset($this->LastMin)) $o['LastMin'] = $this->LastMin;
        if (isset($this->NearFull)) $o['NearFull'] = $this->NearFull;
        if (isset($this->MarginMin)) $o['MarginMin'] = $this->MarginMin;
        if (isset($this->TrafficSource)) $o['TrafficSource'] = $this->TrafficSource;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierMissed implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $WaitMin=0,
        /** @var float */
        public float $Fee=0.0,
        /** @var float */
        public float $CancelFee=0.0,
        /** @var bool|null */
        public ?bool $AutoRebook=null,
        /** @var bool|null */
        public ?bool $RequireContact=null,
        /** @var bool|null */
        public ?bool $RequirePhoto=null
    ) {
    }

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

class CourierPrivacy implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $ThreadHrs=0,
        /** @var int */
        public int $PhotoDays=0,
        /** @var string|null */
        public ?string $LockNames=null,
        /** @var bool|null */
        public ?bool $HideAddr=null,
        /** @var bool|null */
        public ?bool $LiveEta=null,
        /** @var bool|null */
        public ?bool $Tipping=null
    ) {
    }

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

class CourierPricing implements JsonSerializable
{
    public function __construct(
        /** @var float */
        public float $Base=0.0,
        /** @var float */
        public float $PerUnit=0.0,
        /** @var float */
        public float $PerMile=0.0,
        /** @var float */
        public float $MinOrder=0.0,
        /** @var float */
        public float $TaxPct=0.0,
        /** @var bool|null */
        public ?bool $FinalAfterCount=null,
        /** @var array<string>|null */
        public ?array $ServiceArea=null,
        /** @var int */
        public int $WindowMin=0,
        /** @var array<string,float>|null */
        public ?array $Surcharges=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Base'])) $this->Base = $o['Base'];
        if (isset($o['PerUnit'])) $this->PerUnit = $o['PerUnit'];
        if (isset($o['PerMile'])) $this->PerMile = $o['PerMile'];
        if (isset($o['MinOrder'])) $this->MinOrder = $o['MinOrder'];
        if (isset($o['TaxPct'])) $this->TaxPct = $o['TaxPct'];
        if (isset($o['FinalAfterCount'])) $this->FinalAfterCount = $o['FinalAfterCount'];
        if (isset($o['ServiceArea'])) $this->ServiceArea = JsonConverters::fromArray('string', $o['ServiceArea']);
        if (isset($o['WindowMin'])) $this->WindowMin = $o['WindowMin'];
        if (isset($o['Surcharges'])) $this->Surcharges = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','float']), $o['Surcharges']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Base)) $o['Base'] = $this->Base;
        if (isset($this->PerUnit)) $o['PerUnit'] = $this->PerUnit;
        if (isset($this->PerMile)) $o['PerMile'] = $this->PerMile;
        if (isset($this->MinOrder)) $o['MinOrder'] = $this->MinOrder;
        if (isset($this->TaxPct)) $o['TaxPct'] = $this->TaxPct;
        if (isset($this->FinalAfterCount)) $o['FinalAfterCount'] = $this->FinalAfterCount;
        if (isset($this->ServiceArea)) $o['ServiceArea'] = JsonConverters::toArray('string', $this->ServiceArea);
        if (isset($this->WindowMin)) $o['WindowMin'] = $this->WindowMin;
        if (isset($this->Surcharges)) $o['Surcharges'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','float']), $this->Surcharges);
        return empty($o) ? new class(){} : $o;
    }
}

class CourierBooking implements JsonSerializable
{
    public function __construct(
        /** @var bool|null */
        public ?bool $On=null,
        /** @var string|null */
        public ?string $Slug=null,
        /** @var bool|null */
        public ?bool $Asap=null,
        /** @var int */
        public int $MinLeadMin=0,
        /** @var string|null */
        public ?string $Open=null,
        /** @var string|null */
        public ?string $Close=null,
        /** @var int */
        public int $DriveBufferMin=0,
        /** @var array<string>|null */
        public ?array $Zips=null,
        /** @var bool|null */
        public ?bool $Recurring=null,
        /** @var string|null */
        public ?string $PayTiming=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['On'])) $this->On = $o['On'];
        if (isset($o['Slug'])) $this->Slug = $o['Slug'];
        if (isset($o['Asap'])) $this->Asap = $o['Asap'];
        if (isset($o['MinLeadMin'])) $this->MinLeadMin = $o['MinLeadMin'];
        if (isset($o['Open'])) $this->Open = $o['Open'];
        if (isset($o['Close'])) $this->Close = $o['Close'];
        if (isset($o['DriveBufferMin'])) $this->DriveBufferMin = $o['DriveBufferMin'];
        if (isset($o['Zips'])) $this->Zips = JsonConverters::fromArray('string', $o['Zips']);
        if (isset($o['Recurring'])) $this->Recurring = $o['Recurring'];
        if (isset($o['PayTiming'])) $this->PayTiming = $o['PayTiming'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->On)) $o['On'] = $this->On;
        if (isset($this->Slug)) $o['Slug'] = $this->Slug;
        if (isset($this->Asap)) $o['Asap'] = $this->Asap;
        if (isset($this->MinLeadMin)) $o['MinLeadMin'] = $this->MinLeadMin;
        if (isset($this->Open)) $o['Open'] = $this->Open;
        if (isset($this->Close)) $o['Close'] = $this->Close;
        if (isset($this->DriveBufferMin)) $o['DriveBufferMin'] = $this->DriveBufferMin;
        if (isset($this->Zips)) $o['Zips'] = JsonConverters::toArray('string', $this->Zips);
        if (isset($this->Recurring)) $o['Recurring'] = $this->Recurring;
        if (isset($this->PayTiming)) $o['PayTiming'] = $this->PayTiming;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierLevelView implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Code=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $InBy=null,
        /** @var int */
        public int $WithinMin=0,
        /** @var string|null */
        public ?string $Ready=null,
        /** @var array<int>|null */
        public ?array $Days=null,
        /** @var bool|null */
        public ?bool $IsOn=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['InBy'])) $this->InBy = $o['InBy'];
        if (isset($o['WithinMin'])) $this->WithinMin = $o['WithinMin'];
        if (isset($o['Ready'])) $this->Ready = $o['Ready'];
        if (isset($o['Days'])) $this->Days = JsonConverters::fromArray('int', $o['Days']);
        if (isset($o['IsOn'])) $this->IsOn = $o['IsOn'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->InBy)) $o['InBy'] = $this->InBy;
        if (isset($this->WithinMin)) $o['WithinMin'] = $this->WithinMin;
        if (isset($this->Ready)) $o['Ready'] = $this->Ready;
        if (isset($this->Days)) $o['Days'] = JsonConverters::toArray('int', $this->Days);
        if (isset($this->IsOn)) $o['IsOn'] = $this->IsOn;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierFacilityView implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Code=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Address=null,
        /** @var int */
        public int $IntakeMin=0,
        /** @var array<CourierLevelView>|null */
        public ?array $Levels=null,
        /** @var array<string>|null */
        public ?array $Holidays=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Address'])) $this->Address = $o['Address'];
        if (isset($o['IntakeMin'])) $this->IntakeMin = $o['IntakeMin'];
        if (isset($o['Levels'])) $this->Levels = JsonConverters::fromArray('CourierLevelView', $o['Levels']);
        if (isset($o['Holidays'])) $this->Holidays = JsonConverters::fromArray('string', $o['Holidays']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Address)) $o['Address'] = $this->Address;
        if (isset($this->IntakeMin)) $o['IntakeMin'] = $this->IntakeMin;
        if (isset($this->Levels)) $o['Levels'] = JsonConverters::toArray('CourierLevelView', $this->Levels);
        if (isset($this->Holidays)) $o['Holidays'] = JsonConverters::toArray('string', $this->Holidays);
        return empty($o) ? new class(){} : $o;
    }
}

class CourierVehicleView implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $EquipmentID=0,
        /** @var string|null */
        public ?string $UnitNumber=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Unit=null,
        /** @var float */
        public float $Cap=0.0,
        /** @var bool|null */
        public ?bool $Cold=null
    ) {
    }

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

class CourierProfileContext implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Drivers=0,
        /** @var int */
        public int $ProfileCount=0,
        /** @var int|null */
        public ?int $PayPlanId=null,
        /** @var string|null */
        public ?string $ZoneMode=null,
        /** @var string|null */
        public ?string $ZoneName=null,
        /** @var int */
        public int $ZoneCount=0,
        /** @var bool|null */
        public ?bool $HasBookingPage=null,
        /** @var bool|null */
        public ?bool $HasRateConfig=null,
        /** @var array<string,string>|null */
        public ?array $VehicleFacts=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Drivers'])) $this->Drivers = $o['Drivers'];
        if (isset($o['ProfileCount'])) $this->ProfileCount = $o['ProfileCount'];
        if (isset($o['PayPlanId'])) $this->PayPlanId = $o['PayPlanId'];
        if (isset($o['ZoneMode'])) $this->ZoneMode = $o['ZoneMode'];
        if (isset($o['ZoneName'])) $this->ZoneName = $o['ZoneName'];
        if (isset($o['ZoneCount'])) $this->ZoneCount = $o['ZoneCount'];
        if (isset($o['HasBookingPage'])) $this->HasBookingPage = $o['HasBookingPage'];
        if (isset($o['HasRateConfig'])) $this->HasRateConfig = $o['HasRateConfig'];
        if (isset($o['VehicleFacts'])) $this->VehicleFacts = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['VehicleFacts']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Drivers)) $o['Drivers'] = $this->Drivers;
        if (isset($this->ProfileCount)) $o['ProfileCount'] = $this->ProfileCount;
        if (isset($this->PayPlanId)) $o['PayPlanId'] = $this->PayPlanId;
        if (isset($this->ZoneMode)) $o['ZoneMode'] = $this->ZoneMode;
        if (isset($this->ZoneName)) $o['ZoneName'] = $this->ZoneName;
        if (isset($this->ZoneCount)) $o['ZoneCount'] = $this->ZoneCount;
        if (isset($this->HasBookingPage)) $o['HasBookingPage'] = $this->HasBookingPage;
        if (isset($this->HasRateConfig)) $o['HasRateConfig'] = $this->HasRateConfig;
        if (isset($this->VehicleFacts)) $o['VehicleFacts'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->VehicleFacts);
        return empty($o) ? new class(){} : $o;
    }
}

class CourierProfileView implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $CourierProfileID=0,
        /** @var string|null */
        public ?string $Code=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $BusinessName=null,
        /** @var string|null */
        public ?string $RouteShape=null,
        /** @var bool|null */
        public ?bool $Enabled=null,
        /** @var string|null */
        public ?string $TemplateFrom=null,
        /** @var string|null */
        public ?string $UnitOne=null,
        /** @var string|null */
        public ?string $UnitMany=null,
        /** @var string|null */
        public ?string $FacilityNoun=null,
        /** @var string|null */
        public ?string $UnitOneEs=null,
        /** @var string|null */
        public ?string $UnitManyEs=null,
        /** @var string|null */
        public ?string $FacilityNounEs=null,
        /** @var string|null */
        public ?string $TagMode=null,
        /** @var array<string>|null */
        public ?array $TagFormats=null,
        /** @var CourierPay|null */
        public ?CourierPay $Pay=null,
        /** @var CourierDispatch|null */
        public ?CourierDispatch $Dispatch=null,
        /** @var CourierMissed|null */
        public ?CourierMissed $Missed=null,
        /** @var CourierPrivacy|null */
        public ?CourierPrivacy $Privacy=null,
        /** @var CourierPricing|null */
        public ?CourierPricing $Pricing=null,
        /** @var CourierBooking|null */
        public ?CourierBooking $Booking=null,
        /** @var array<CourierFacilityView>|null */
        public ?array $Facilities=null,
        /** @var array<CourierVehicleView>|null */
        public ?array $Vehicles=null,
        /** @var array<string,array<string,string>>|null */
        public ?array $Proof=null,
        /** @var CourierProfileContext|null */
        public ?CourierProfileContext $Context=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['CourierProfileID'])) $this->CourierProfileID = $o['CourierProfileID'];
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['BusinessName'])) $this->BusinessName = $o['BusinessName'];
        if (isset($o['RouteShape'])) $this->RouteShape = $o['RouteShape'];
        if (isset($o['Enabled'])) $this->Enabled = $o['Enabled'];
        if (isset($o['TemplateFrom'])) $this->TemplateFrom = $o['TemplateFrom'];
        if (isset($o['UnitOne'])) $this->UnitOne = $o['UnitOne'];
        if (isset($o['UnitMany'])) $this->UnitMany = $o['UnitMany'];
        if (isset($o['FacilityNoun'])) $this->FacilityNoun = $o['FacilityNoun'];
        if (isset($o['UnitOneEs'])) $this->UnitOneEs = $o['UnitOneEs'];
        if (isset($o['UnitManyEs'])) $this->UnitManyEs = $o['UnitManyEs'];
        if (isset($o['FacilityNounEs'])) $this->FacilityNounEs = $o['FacilityNounEs'];
        if (isset($o['TagMode'])) $this->TagMode = $o['TagMode'];
        if (isset($o['TagFormats'])) $this->TagFormats = JsonConverters::fromArray('string', $o['TagFormats']);
        if (isset($o['Pay'])) $this->Pay = JsonConverters::from('CourierPay', $o['Pay']);
        if (isset($o['Dispatch'])) $this->Dispatch = JsonConverters::from('CourierDispatch', $o['Dispatch']);
        if (isset($o['Missed'])) $this->Missed = JsonConverters::from('CourierMissed', $o['Missed']);
        if (isset($o['Privacy'])) $this->Privacy = JsonConverters::from('CourierPrivacy', $o['Privacy']);
        if (isset($o['Pricing'])) $this->Pricing = JsonConverters::from('CourierPricing', $o['Pricing']);
        if (isset($o['Booking'])) $this->Booking = JsonConverters::from('CourierBooking', $o['Booking']);
        if (isset($o['Facilities'])) $this->Facilities = JsonConverters::fromArray('CourierFacilityView', $o['Facilities']);
        if (isset($o['Vehicles'])) $this->Vehicles = JsonConverters::fromArray('CourierVehicleView', $o['Vehicles']);
        if (isset($o['Proof'])) $this->Proof = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','Dictionary<String,String>']), $o['Proof']);
        if (isset($o['Context'])) $this->Context = JsonConverters::from('CourierProfileContext', $o['Context']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->CourierProfileID)) $o['CourierProfileID'] = $this->CourierProfileID;
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->BusinessName)) $o['BusinessName'] = $this->BusinessName;
        if (isset($this->RouteShape)) $o['RouteShape'] = $this->RouteShape;
        if (isset($this->Enabled)) $o['Enabled'] = $this->Enabled;
        if (isset($this->TemplateFrom)) $o['TemplateFrom'] = $this->TemplateFrom;
        if (isset($this->UnitOne)) $o['UnitOne'] = $this->UnitOne;
        if (isset($this->UnitMany)) $o['UnitMany'] = $this->UnitMany;
        if (isset($this->FacilityNoun)) $o['FacilityNoun'] = $this->FacilityNoun;
        if (isset($this->UnitOneEs)) $o['UnitOneEs'] = $this->UnitOneEs;
        if (isset($this->UnitManyEs)) $o['UnitManyEs'] = $this->UnitManyEs;
        if (isset($this->FacilityNounEs)) $o['FacilityNounEs'] = $this->FacilityNounEs;
        if (isset($this->TagMode)) $o['TagMode'] = $this->TagMode;
        if (isset($this->TagFormats)) $o['TagFormats'] = JsonConverters::toArray('string', $this->TagFormats);
        if (isset($this->Pay)) $o['Pay'] = JsonConverters::to('CourierPay', $this->Pay);
        if (isset($this->Dispatch)) $o['Dispatch'] = JsonConverters::to('CourierDispatch', $this->Dispatch);
        if (isset($this->Missed)) $o['Missed'] = JsonConverters::to('CourierMissed', $this->Missed);
        if (isset($this->Privacy)) $o['Privacy'] = JsonConverters::to('CourierPrivacy', $this->Privacy);
        if (isset($this->Pricing)) $o['Pricing'] = JsonConverters::to('CourierPricing', $this->Pricing);
        if (isset($this->Booking)) $o['Booking'] = JsonConverters::to('CourierBooking', $this->Booking);
        if (isset($this->Facilities)) $o['Facilities'] = JsonConverters::toArray('CourierFacilityView', $this->Facilities);
        if (isset($this->Vehicles)) $o['Vehicles'] = JsonConverters::toArray('CourierVehicleView', $this->Vehicles);
        if (isset($this->Proof)) $o['Proof'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','Dictionary<String,String>']), $this->Proof);
        if (isset($this->Context)) $o['Context'] = JsonConverters::to('CourierProfileContext', $this->Context);
        return empty($o) ? new class(){} : $o;
    }
}

class CourierIssue implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Key=null,
        /** @var string|null */
        public ?string $Section=null,
        /** @var string|null */
        public ?string $Message=null
    ) {
    }

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

class CourierChange implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Key=null,
        /** @var string|null */
        public ?string $Section=null,
        /** @var string|null */
        public ?string $Label=null,
        /** @var string|null */
        public ?string $From=null,
        /** @var string|null */
        public ?string $To=null
    ) {
    }

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

class CourierPreviewLine implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $K=null,
        /** @var string|null */
        public ?string $V=null,
        /** @var string|null */
        public ?string $Dot=null
    ) {
    }

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

class CourierPreview implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $DeadlineTitle=null,
        /** @var string|null */
        public ?string $DeadlineLead=null,
        /** @var string|null */
        public ?string $RoomW=null,
        /** @var string|null */
        public ?string $LastW=null,
        /** @var string|null */
        public ?string $GoW=null,
        /** @var array<CourierPreviewLine>|null */
        public ?array $Zones=null,
        /** @var string|null */
        public ?string $PaySub=null,
        /** @var array<CourierPreviewLine>|null */
        public ?array $PayRows=null,
        /** @var string|null */
        public ?string $PayTotal=null,
        /** @var array<CourierPreviewLine>|null */
        public ?array $ProofRows=null,
        /** @var string|null */
        public ?string $Ping=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['DeadlineTitle'])) $this->DeadlineTitle = $o['DeadlineTitle'];
        if (isset($o['DeadlineLead'])) $this->DeadlineLead = $o['DeadlineLead'];
        if (isset($o['RoomW'])) $this->RoomW = $o['RoomW'];
        if (isset($o['LastW'])) $this->LastW = $o['LastW'];
        if (isset($o['GoW'])) $this->GoW = $o['GoW'];
        if (isset($o['Zones'])) $this->Zones = JsonConverters::fromArray('CourierPreviewLine', $o['Zones']);
        if (isset($o['PaySub'])) $this->PaySub = $o['PaySub'];
        if (isset($o['PayRows'])) $this->PayRows = JsonConverters::fromArray('CourierPreviewLine', $o['PayRows']);
        if (isset($o['PayTotal'])) $this->PayTotal = $o['PayTotal'];
        if (isset($o['ProofRows'])) $this->ProofRows = JsonConverters::fromArray('CourierPreviewLine', $o['ProofRows']);
        if (isset($o['Ping'])) $this->Ping = $o['Ping'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->DeadlineTitle)) $o['DeadlineTitle'] = $this->DeadlineTitle;
        if (isset($this->DeadlineLead)) $o['DeadlineLead'] = $this->DeadlineLead;
        if (isset($this->RoomW)) $o['RoomW'] = $this->RoomW;
        if (isset($this->LastW)) $o['LastW'] = $this->LastW;
        if (isset($this->GoW)) $o['GoW'] = $this->GoW;
        if (isset($this->Zones)) $o['Zones'] = JsonConverters::toArray('CourierPreviewLine', $this->Zones);
        if (isset($this->PaySub)) $o['PaySub'] = $this->PaySub;
        if (isset($this->PayRows)) $o['PayRows'] = JsonConverters::toArray('CourierPreviewLine', $this->PayRows);
        if (isset($this->PayTotal)) $o['PayTotal'] = $this->PayTotal;
        if (isset($this->ProofRows)) $o['ProofRows'] = JsonConverters::toArray('CourierPreviewLine', $this->ProofRows);
        if (isset($this->Ping)) $o['Ping'] = $this->Ping;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierFleetVehicle implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $EquipmentID=0,
        /** @var string|null */
        public ?string $UnitNumber=null,
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $VehicleType=null,
        /** @var string|null */
        public ?string $Unit=null,
        /** @var float|null */
        public ?float $Cap=null,
        /** @var bool|null */
        public ?bool $Cold=null,
        /** @var string|null */
        public ?string $Status=null,
        /** @var bool|null */
        public ?bool $Assigned=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['EquipmentID'])) $this->EquipmentID = $o['EquipmentID'];
        if (isset($o['UnitNumber'])) $this->UnitNumber = $o['UnitNumber'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['VehicleType'])) $this->VehicleType = $o['VehicleType'];
        if (isset($o['Unit'])) $this->Unit = $o['Unit'];
        if (isset($o['Cap'])) $this->Cap = $o['Cap'];
        if (isset($o['Cold'])) $this->Cold = $o['Cold'];
        if (isset($o['Status'])) $this->Status = $o['Status'];
        if (isset($o['Assigned'])) $this->Assigned = $o['Assigned'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->EquipmentID)) $o['EquipmentID'] = $this->EquipmentID;
        if (isset($this->UnitNumber)) $o['UnitNumber'] = $this->UnitNumber;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->VehicleType)) $o['VehicleType'] = $this->VehicleType;
        if (isset($this->Unit)) $o['Unit'] = $this->Unit;
        if (isset($this->Cap)) $o['Cap'] = $this->Cap;
        if (isset($this->Cold)) $o['Cold'] = $this->Cold;
        if (isset($this->Status)) $o['Status'] = $this->Status;
        if (isset($this->Assigned)) $o['Assigned'] = $this->Assigned;
        return empty($o) ? new class(){} : $o;
    }
}

class CourierResponse implements JsonSerializable
{
    public function __construct(
        /** @var array<CourierProfileSummary>|null */
        public ?array $Profiles=null,
        /** @var array<CourierTemplateOption>|null */
        public ?array $Templates=null,
        /** @var CourierProfileView|null */
        public ?CourierProfileView $Profile=null,
        /** @var array<CourierIssue>|null */
        public ?array $Issues=null,
        /** @var array<CourierChange>|null */
        public ?array $Changes=null,
        /** @var CourierPreview|null */
        public ?CourierPreview $Preview=null,
        /** @var array<CourierFleetVehicle>|null */
        public ?array $Fleet=null,
        /** @var ResponseStatus|null */
        public ?ResponseStatus $ResponseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Profiles'])) $this->Profiles = JsonConverters::fromArray('CourierProfileSummary', $o['Profiles']);
        if (isset($o['Templates'])) $this->Templates = JsonConverters::fromArray('CourierTemplateOption', $o['Templates']);
        if (isset($o['Profile'])) $this->Profile = JsonConverters::from('CourierProfileView', $o['Profile']);
        if (isset($o['Issues'])) $this->Issues = JsonConverters::fromArray('CourierIssue', $o['Issues']);
        if (isset($o['Changes'])) $this->Changes = JsonConverters::fromArray('CourierChange', $o['Changes']);
        if (isset($o['Preview'])) $this->Preview = JsonConverters::from('CourierPreview', $o['Preview']);
        if (isset($o['Fleet'])) $this->Fleet = JsonConverters::fromArray('CourierFleetVehicle', $o['Fleet']);
        if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Profiles)) $o['Profiles'] = JsonConverters::toArray('CourierProfileSummary', $this->Profiles);
        if (isset($this->Templates)) $o['Templates'] = JsonConverters::toArray('CourierTemplateOption', $this->Templates);
        if (isset($this->Profile)) $o['Profile'] = JsonConverters::to('CourierProfileView', $this->Profile);
        if (isset($this->Issues)) $o['Issues'] = JsonConverters::toArray('CourierIssue', $this->Issues);
        if (isset($this->Changes)) $o['Changes'] = JsonConverters::toArray('CourierChange', $this->Changes);
        if (isset($this->Preview)) $o['Preview'] = JsonConverters::to('CourierPreview', $this->Preview);
        if (isset($this->Fleet)) $o['Fleet'] = JsonConverters::toArray('CourierFleetVehicle', $this->Fleet);
        if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

class CourierFleetRequest implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Id=0
    ) {
    }

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

PHP CourierFleetRequest 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/dispatch/courier/profiles/{Id}/fleet HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CourierResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Changes>
    <CourierChange>
      <From>String</From>
      <Key>String</Key>
      <Label>String</Label>
      <Section>String</Section>
      <To>String</To>
    </CourierChange>
  </Changes>
  <Fleet>
    <CourierFleetVehicle>
      <Assigned>false</Assigned>
      <Cap>0</Cap>
      <Cold>false</Cold>
      <EquipmentID>0</EquipmentID>
      <Name>String</Name>
      <Status>String</Status>
      <Unit>String</Unit>
      <UnitNumber>String</UnitNumber>
      <VehicleType>String</VehicleType>
    </CourierFleetVehicle>
  </Fleet>
  <Issues>
    <CourierIssue>
      <Key>String</Key>
      <Message>String</Message>
      <Section>String</Section>
    </CourierIssue>
  </Issues>
  <Preview>
    <DeadlineLead>String</DeadlineLead>
    <DeadlineTitle>String</DeadlineTitle>
    <GoW>String</GoW>
    <LastW>String</LastW>
    <PayRows>
      <CourierPreviewLine>
        <Dot>String</Dot>
        <K>String</K>
        <V>String</V>
      </CourierPreviewLine>
    </PayRows>
    <PaySub>String</PaySub>
    <PayTotal>String</PayTotal>
    <Ping>String</Ping>
    <ProofRows>
      <CourierPreviewLine>
        <Dot>String</Dot>
        <K>String</K>
        <V>String</V>
      </CourierPreviewLine>
    </ProofRows>
    <RoomW>String</RoomW>
    <Zones>
      <CourierPreviewLine>
        <Dot>String</Dot>
        <K>String</K>
        <V>String</V>
      </CourierPreviewLine>
    </Zones>
  </Preview>
  <Profile>
    <Booking>
      <Asap>false</Asap>
      <Close>String</Close>
      <DriveBufferMin>0</DriveBufferMin>
      <MinLeadMin>0</MinLeadMin>
      <On>false</On>
      <Open>String</Open>
      <PayTiming>String</PayTiming>
      <Recurring>false</Recurring>
      <Slug>String</Slug>
      <Zips xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Zips>
    </Booking>
    <BusinessName>String</BusinessName>
    <Code>String</Code>
    <Context>
      <Drivers>0</Drivers>
      <HasBookingPage>false</HasBookingPage>
      <HasRateConfig>false</HasRateConfig>
      <PayPlanId>0</PayPlanId>
      <ProfileCount>0</ProfileCount>
      <VehicleFacts xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </VehicleFacts>
      <ZoneCount>0</ZoneCount>
      <ZoneMode>String</ZoneMode>
      <ZoneName>String</ZoneName>
    </Context>
    <CourierProfileID>0</CourierProfileID>
    <Dispatch>
      <DeclinePenalty>false</DeclinePenalty>
      <GoMin>0</GoMin>
      <LastMin>0</LastMin>
      <MarginMin>0</MarginMin>
      <NearFull>0</NearFull>
      <NextRule>String</NextRule>
      <PingSecs>0</PingSecs>
      <RadiusMi>0</RadiusMi>
      <TrafficSource>String</TrafficSource>
    </Dispatch>
    <Enabled>false</Enabled>
    <Facilities>
      <CourierFacilityView>
        <Address>String</Address>
        <Code>String</Code>
        <Holidays xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </Holidays>
        <IntakeMin>0</IntakeMin>
        <Levels>
          <CourierLevelView>
            <Code>String</Code>
            <Days xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:int>0</d7p1:int>
            </Days>
            <InBy>String</InBy>
            <IsOn>false</IsOn>
            <Name>String</Name>
            <Ready>String</Ready>
            <WithinMin>0</WithinMin>
          </CourierLevelView>
        </Levels>
        <Name>String</Name>
      </CourierFacilityView>
    </Facilities>
    <FacilityNoun>String</FacilityNoun>
    <FacilityNounEs>String</FacilityNounEs>
    <Missed>
      <AutoRebook>false</AutoRebook>
      <CancelFee>0</CancelFee>
      <Fee>0</Fee>
      <RequireContact>false</RequireContact>
      <RequirePhoto>false</RequirePhoto>
      <WaitMin>0</WaitMin>
    </Missed>
    <Name>String</Name>
    <Pay>
      <MileageOn>false</MileageOn>
      <MinPerJob>0</MinPerJob>
      <PerCancel>0</PerCancel>
      <PerMile>0</PerMile>
      <PerMissed>0</PerMissed>
      <PerPickup>0</PerPickup>
      <PerStop>0</PerStop>
      <TipsPct>0</TipsPct>
      <WaitAfterMin>0</WaitAfterMin>
      <WaitPerMin>0</WaitPerMin>
      <WorkerClass>String</WorkerClass>
    </Pay>
    <Pricing>
      <Base>0</Base>
      <FinalAfterCount>false</FinalAfterCount>
      <MinOrder>0</MinOrder>
      <PerMile>0</PerMile>
      <PerUnit>0</PerUnit>
      <ServiceArea xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </ServiceArea>
      <Surcharges xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringdecimal>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>0</d4p1:Value>
        </d4p1:KeyValueOfstringdecimal>
      </Surcharges>
      <TaxPct>0</TaxPct>
      <WindowMin>0</WindowMin>
    </Pricing>
    <Privacy>
      <HideAddr>false</HideAddr>
      <LiveEta>false</LiveEta>
      <LockNames>String</LockNames>
      <PhotoDays>0</PhotoDays>
      <ThreadHrs>0</ThreadHrs>
      <Tipping>false</Tipping>
    </Privacy>
    <Proof xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringArrayOfKeyValueOfstringstringty7Ep6D1>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>
          <d3p1:KeyValueOfstringstring>
            <d3p1:Key>String</d3p1:Key>
            <d3p1:Value>String</d3p1:Value>
          </d3p1:KeyValueOfstringstring>
        </d3p1:Value>
      </d3p1:KeyValueOfstringArrayOfKeyValueOfstringstringty7Ep6D1>
    </Proof>
    <RouteShape>String</RouteShape>
    <TagFormats xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </TagFormats>
    <TagMode>String</TagMode>
    <TemplateFrom>String</TemplateFrom>
    <UnitMany>String</UnitMany>
    <UnitManyEs>String</UnitManyEs>
    <UnitOne>String</UnitOne>
    <UnitOneEs>String</UnitOneEs>
    <Vehicles>
      <CourierVehicleView>
        <Cap>0</Cap>
        <Cold>false</Cold>
        <EquipmentID>0</EquipmentID>
        <Name>String</Name>
        <Unit>String</Unit>
        <UnitNumber>String</UnitNumber>
      </CourierVehicleView>
    </Vehicles>
  </Profile>
  <Profiles>
    <CourierProfileSummary>
      <BusinessName>String</BusinessName>
      <Code>String</Code>
      <CourierProfileID>0</CourierProfileID>
      <Drivers>0</Drivers>
      <Enabled>false</Enabled>
      <Name>String</Name>
      <RouteShape>String</RouteShape>
      <TemplateFrom>String</TemplateFrom>
    </CourierProfileSummary>
  </Profiles>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <Templates>
    <CourierTemplateOption>
      <Detail>String</Detail>
      <Key>String</Key>
      <Label>String</Label>
      <RouteShape>String</RouteShape>
    </CourierTemplateOption>
  </Templates>
</CourierResponse>