(* Options: Date: 2025-12-06 06:45:48 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.1fetch.co.za //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: Order.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace WebService.ClientServiceModel open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations [] type ApiServiceRequest() = /// ///The API Key required for authentication /// [] member val ApiKey:String = null with get,set [] type IServiceRequest = interface end [] type IHasApiKey = abstract ApiKey:String with get,set [] type ILogRequest = interface end type OrderStatus = | AwaitingPayment = 0 | ProcessingPayment = 1 | AwaitingDispatch = 2 | DriverDispatched = 3 | PackageEnRoute = 4 | Completed = 5 | Cancelled = 6 | DeliveryFailed = 7 [] type ScanDetail() = /// ///List of URLs for images captured at the waypoint /// [] member val PhotoUrls:ResizeArray = new ResizeArray() with get,set /// ///List of URLs for images of signatures captured at the waypoint /// [] member val SignatureUrls:ResizeArray = new ResizeArray() with get,set /// ///Name of person the driver interacted with at the waypoint /// [] member val ReceivedBy:String = null with get,set /// ///The date the driver interacted with the person /// [] member val ReceivedDate:String = null with get,set /// ///Number of packages collected by the driver /// [] member val PackagesCollected:Int32 = new Int32() with get,set [] type OrderItemWaypoint() = /// ///Has the driver completed this waypoint /// [] member val Completed:Boolean = new Boolean() with get,set member val Latitude:Double = new Double() with get,set member val Longitude:Double = new Double() with get,set member val Address:String = null with get,set member val ContactName:String = null with get,set member val ContactNumber:String = null with get,set member val DeliveryInstructions:String = null with get,set /// ///Details captured at waypoint /// [] member val ScanDetail:ScanDetail = null with get,set [] type OrderTransitPoint() = /// ///Origin waypoint number /// [] member val FromWaypointNumber:Int32 = new Int32() with get,set /// ///Destination waypoint number /// [] member val ToWaypointNumber:Int32 = new Int32() with get,set /// ///Distance between waypoints /// [] member val Distance:Double = new Double() with get,set /// ///Distance between waypoints rounded and converted to a string /// [] member val DistanceValue:String = null with get,set /// ///Price calculated between waypoints /// [] member val Price:Decimal = new Decimal() with get,set /// ///Price calculated between waypoints formatted as ZA currency /// [] member val PriceValue:String = null with get,set [] type EventDetail() = member val Description:String = null with get,set member val Time:String = null with get,set member val EventDateTime:DateTime = new DateTime() with get,set [] type OrderDetail() = /// ///ID of quote attached to the order /// [] member val QuoteId:Guid = new Guid() with get,set /// ///ID of order /// [] member val OrderId:Guid = new Guid() with get,set /// ///User friendly order identifier /// [] member val Waybill:String = null with get,set /// ///Invoice number for the order /// [] member val InvoiceNumber:String = null with get,set /// ///The date and time the order is scheduled for in ISO 8601 string format, will be set if IsScheduled is true /// [] member val ScheduledDate:String = null with get,set /// ///Order status number /// [] member val OrderStatus:OrderStatus = new OrderStatus() with get,set /// ///String value of order status /// [] member val OrderStatusValue:String = null with get,set /// ///List of waypoints for this order /// [] member val Waypoints:ResizeArray = new ResizeArray() with get,set /// ///List of sections between waypoints /// [] member val TransitPoints:ResizeArray = new ResizeArray() with get,set /// ///Order Final price including VAT /// [] member val FinalPrice:Decimal = new Decimal() with get,set /// ///Final price formatted as ZA currency /// [] member val FinalPriceValue:String = null with get,set /// ///Total distance for the order in km /// [] member val TotalDistance:Double = new Double() with get,set /// ///Total distance for the order formatted as a string /// [] member val TotalDistanceValue:String = null with get,set /// ///Date order was placed /// [] member val Date:String = null with get,set /// ///Google encoded maps polyline path for drawing route on a google map /// [] member val EncodedPolyPath:String = null with get,set /// ///List of events as they occurred while the order was in progress /// [] member val Events:ResizeArray = new ResizeArray() with get,set [] type ApiServiceResponse() = /// ///Information about the response. /// [] member val Description:String = null with get,set /// ///Heading or summary of the response. /// [] member val Heading:String = null with get,set /// ///Did the intended operation for this response complete successfully? /// [] member val WasSuccessful:Boolean = new Boolean() with get,set [] type OrderResponse() = inherit ApiServiceResponse() /// ///List with order details, will only contain one item if requested with order id /// [] member val OrderItems:ResizeArray = new ResizeArray() with get,set /// ///Total number of items in order collection /// [] member val TotalCount:Int32 = new Int32() with get,set /// ///Used to indicate if there are more items available /// [] member val LastPage:Boolean = new Boolean() with get,set [] [] type Order() = inherit ApiServiceRequest() interface IReturn /// ///The ID if getting specific order /// [] member val OrderId:String = null with get,set /// ///The amount of elements to offset the index by /// [] member val Offset:Int32 = new Int32() with get,set /// ///The number of elements to be returned, defaults to 10 /// [] member val Count:Int32 = new Int32() with get,set