Trendsic Platform Service

<back to all web services

CourierProfilePreviewRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/profiles/{Id}/preview
import Foundation
import ServiceStack

public class CourierProfilePreviewRequest : Codable
{
    public var id:Int
    public var draft:CourierProfileView
    public var facilityCode:String

    required public init(){}
}

public class CourierProfileView : Codable
{
    public var courierProfileID:Int
    public var code:String
    public var name:String
    public var businessName:String
    public var routeShape:String
    public var enabled:Bool
    public var templateFrom:String
    public var unitOne:String
    public var unitMany:String
    public var facilityNoun:String
    public var unitOneEs:String
    public var unitManyEs:String
    public var facilityNounEs:String
    public var tagMode:String
    public var tagFormats:[String] = []
    public var pay:CourierPay
    public var dispatch:CourierDispatch
    public var missed:CourierMissed
    public var privacy:CourierPrivacy
    public var pricing:CourierPricing
    public var booking:CourierBooking
    public var facilities:[CourierFacilityView] = []
    public var vehicles:[CourierVehicleView] = []
    public var proof:[String:[String:String]] = [:]
    public var context:CourierProfileContext

    required public init(){}
}

public class CourierPay : Codable
{
    public var workerClass:String
    public var perPickup:Double
    public var perStop:Double
    public var perMissed:Double
    public var perCancel:Double
    public var waitAfterMin:Int
    public var waitPerMin:Double
    public var mileageOn:Bool
    public var perMile:Double
    public var minPerJob:Double
    public var tipsPct:Double

    required public init(){}
}

public class CourierDispatch : Codable
{
    public var pingSecs:Int
    public var radiusMi:Double
    public var declinePenalty:Bool
    public var nextRule:String
    public var goMin:Int
    public var lastMin:Int
    public var nearFull:Int
    public var marginMin:Int
    public var trafficSource:String

    required public init(){}
}

public class CourierMissed : Codable
{
    public var waitMin:Int
    public var fee:Double
    public var cancelFee:Double
    public var autoRebook:Bool
    public var requireContact:Bool
    public var requirePhoto:Bool

    required public init(){}
}

public class CourierPrivacy : Codable
{
    public var threadHrs:Int
    public var photoDays:Int
    public var lockNames:String
    public var hideAddr:Bool
    public var liveEta:Bool
    public var tipping:Bool

    required public init(){}
}

public class CourierPricing : Codable
{
    public var base:Double
    public var perUnit:Double
    public var perMile:Double
    public var minOrder:Double
    public var taxPct:Double
    public var finalAfterCount:Bool
    public var serviceArea:[String] = []
    public var windowMin:Int
    public var surcharges:[String:Double] = [:]

    required public init(){}
}

public class CourierBooking : Codable
{
    public var on:Bool
    public var slug:String
    public var asap:Bool
    public var minLeadMin:Int
    public var open:String
    public var close:String
    public var driveBufferMin:Int
    public var zips:[String] = []
    public var recurring:Bool
    public var payTiming:String

    required public init(){}
}

public class CourierFacilityView : Codable
{
    public var code:String
    public var name:String
    public var address:String
    public var intakeMin:Int
    public var levels:[CourierLevelView] = []
    public var holidays:[String] = []

    required public init(){}
}

public class CourierLevelView : Codable
{
    public var code:String
    public var name:String
    public var inBy:String
    public var withinMin:Int
    public var ready:String
    public var days:[Int] = []
    public var isOn:Bool

    required public init(){}
}

public class CourierVehicleView : Codable
{
    public var equipmentID:Int
    public var unitNumber:String
    public var name:String
    public var unit:String
    public var cap:Double
    public var cold:Bool

    required public init(){}
}

public class CourierProfileContext : Codable
{
    public var drivers:Int
    public var profileCount:Int
    public var payPlanId:Int?
    public var zoneMode:String
    public var zoneName:String
    public var zoneCount:Int
    public var hasBookingPage:Bool
    public var hasRateConfig:Bool
    public var vehicleFacts:[String:String] = [:]

    required public init(){}
}

public class CourierResponse : Codable
{
    public var profiles:[CourierProfileSummary] = []
    public var templates:[CourierTemplateOption] = []
    public var profile:CourierProfileView
    public var issues:[CourierIssue] = []
    public var changes:[CourierChange] = []
    public var preview:CourierPreview
    public var fleet:[CourierFleetVehicle] = []
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class CourierProfileSummary : Codable
{
    public var courierProfileID:Int
    public var code:String
    public var name:String
    public var businessName:String
    public var routeShape:String
    public var enabled:Bool
    public var templateFrom:String
    public var drivers:Int

    required public init(){}
}

public class CourierTemplateOption : Codable
{
    public var key:String
    public var label:String
    public var detail:String
    public var routeShape:String

    required public init(){}
}

public class CourierIssue : Codable
{
    public var key:String
    public var section:String
    public var message:String

    required public init(){}
}

public class CourierChange : Codable
{
    public var key:String
    public var section:String
    public var label:String
    public var from:String
    public var to:String

    required public init(){}
}

public class CourierPreview : Codable
{
    public var deadlineTitle:String
    public var deadlineLead:String
    public var roomW:String
    public var lastW:String
    public var goW:String
    public var zones:[CourierPreviewLine] = []
    public var paySub:String
    public var payRows:[CourierPreviewLine] = []
    public var payTotal:String
    public var proofRows:[CourierPreviewLine] = []
    public var ping:String

    required public init(){}
}

public class CourierPreviewLine : Codable
{
    public var k:String
    public var v:String
    public var dot:String

    required public init(){}
}

public class CourierFleetVehicle : Codable
{
    public var equipmentID:Int
    public var unitNumber:String
    public var name:String
    public var vehicleType:String
    public var unit:String
    public var cap:Double?
    public var cold:Bool
    public var status:String
    public var assigned:Bool

    required public init(){}
}


Swift CourierProfilePreviewRequest 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.

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

<CourierProfilePreviewRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Draft>
    <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>
  </Draft>
  <FacilityCode>String</FacilityCode>
  <Id>0</Id>
</CourierProfilePreviewRequest>
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>