Trendsic Platform Service

<back to all web services

CourierProfileSaveRequest

Requires Authentication
The following routes are available for this service:
PUT,OPTIONS/v1/dispatch/courier/profiles/{Id}
<?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 CourierProfileSaveRequest implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $Id=0,
        /** @var CourierProfileView|null */
        public ?CourierProfileView $Draft=null,
        /** @var string|null */
        public ?string $FacilityCode=null
    ) {
    }

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

PHP CourierProfileSaveRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

PUT /v1/dispatch/courier/profiles/{Id} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Id":0,"Draft":{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNounEs":"String","TagMode":"String","TagFormats":["String"],"Pay":{"WorkerClass":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"WaitAfterMin":0,"WaitPerMin":0,"MileageOn":false,"PerMile":0,"MinPerJob":0,"TipsPct":0},"Dispatch":{"PingSecs":0,"RadiusMi":0,"DeclinePenalty":false,"NextRule":"String","GoMin":0,"LastMin":0,"NearFull":0,"MarginMin":0,"TrafficSource":"String"},"Missed":{"WaitMin":0,"Fee":0,"CancelFee":0,"AutoRebook":false,"RequireContact":false,"RequirePhoto":false},"Privacy":{"ThreadHrs":0,"PhotoDays":0,"LockNames":"String","HideAddr":false,"LiveEta":false,"Tipping":false},"Pricing":{"Base":0,"PerUnit":0,"PerMile":0,"MinOrder":0,"TaxPct":0,"FinalAfterCount":false,"ServiceArea":["String"],"WindowMin":0,"Surcharges":{"String":0}},"Booking":{"On":false,"Slug":"String","Asap":false,"MinLeadMin":0,"Open":"String","Close":"String","DriveBufferMin":0,"Zips":["String"],"Recurring":false,"PayTiming":"String"},"Facilities":[{"Code":"String","Name":"String","Address":"String","IntakeMin":0,"Levels":[{"Code":"String","Name":"String","InBy":"String","WithinMin":0,"Ready":"String","Days":[0],"IsOn":false}],"Holidays":["String"]}],"Vehicles":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","Unit":"String","Cap":0,"Cold":false}],"Proof":{"String":{"String":"String"}},"Context":{"Drivers":0,"ProfileCount":0,"PayPlanId":0,"ZoneMode":"String","ZoneName":"String","ZoneCount":0,"HasBookingPage":false,"HasRateConfig":false,"VehicleFacts":{"String":"String"}}},"FacilityCode":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Profiles":[{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","Drivers":0}],"Templates":[{"Key":"String","Label":"String","Detail":"String","RouteShape":"String"}],"Profile":{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNounEs":"String","TagMode":"String","TagFormats":["String"],"Pay":{"WorkerClass":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"WaitAfterMin":0,"WaitPerMin":0,"MileageOn":false,"PerMile":0,"MinPerJob":0,"TipsPct":0},"Dispatch":{"PingSecs":0,"RadiusMi":0,"DeclinePenalty":false,"NextRule":"String","GoMin":0,"LastMin":0,"NearFull":0,"MarginMin":0,"TrafficSource":"String"},"Missed":{"WaitMin":0,"Fee":0,"CancelFee":0,"AutoRebook":false,"RequireContact":false,"RequirePhoto":false},"Privacy":{"ThreadHrs":0,"PhotoDays":0,"LockNames":"String","HideAddr":false,"LiveEta":false,"Tipping":false},"Pricing":{"Base":0,"PerUnit":0,"PerMile":0,"MinOrder":0,"TaxPct":0,"FinalAfterCount":false,"ServiceArea":["String"],"WindowMin":0,"Surcharges":{"String":0}},"Booking":{"On":false,"Slug":"String","Asap":false,"MinLeadMin":0,"Open":"String","Close":"String","DriveBufferMin":0,"Zips":["String"],"Recurring":false,"PayTiming":"String"},"Facilities":[{"Code":"String","Name":"String","Address":"String","IntakeMin":0,"Levels":[{"Code":"String","Name":"String","InBy":"String","WithinMin":0,"Ready":"String","Days":[0],"IsOn":false}],"Holidays":["String"]}],"Vehicles":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","Unit":"String","Cap":0,"Cold":false}],"Proof":{"String":{"String":"String"}},"Context":{"Drivers":0,"ProfileCount":0,"PayPlanId":0,"ZoneMode":"String","ZoneName":"String","ZoneCount":0,"HasBookingPage":false,"HasRateConfig":false,"VehicleFacts":{"String":"String"}}},"Issues":[{"Key":"String","Section":"String","Message":"String"}],"Changes":[{"Key":"String","Section":"String","Label":"String","From":"String","To":"String"}],"Preview":{"DeadlineTitle":"String","DeadlineLead":"String","RoomW":"String","LastW":"String","GoW":"String","Zones":[{"K":"String","V":"String","Dot":"String"}],"PaySub":"String","PayRows":[{"K":"String","V":"String","Dot":"String"}],"PayTotal":"String","ProofRows":[{"K":"String","V":"String","Dot":"String"}],"Ping":"String"},"Fleet":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","VehicleType":"String","Unit":"String","Cap":0,"Cold":false,"Status":"String","Assigned":false}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}