(* Options: Date: 2025-12-06 06:38:21 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: ValidateWaypoints.* //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 RequestQuoteWaypoint() = /// ///Number of waypoint for ordering /// [] member val WaypointNumber:Int32 = new Int32() with get,set /// ///Waypoint Latitude /// [] member val Latitude:Double = new Double() with get,set /// ///Waypoint Longitude /// [] member val Longitude:Double = new Double() with get,set /// ///Name of contact person at waypoint /// [] member val ContactName:String = null with get,set /// ///Telephone number of contact person at waypoint /// [] member val ContactNumber:String = null with get,set /// ///Instructions for driver to follow at waypoint /// [] member val DeliveryInstructions:String = null with get,set /// ///Waypoint address /// [] member val Address:String = null with get,set [] type LinkedWaypoint() = member val FromWaypointNumber:Int32 = new Int32() with get,set member val ToWaypointNumber:Int32 = new Int32() with get,set member val FromLatitude:Double = new Double() with get,set member val FromLongitude:Double = new Double() with get,set member val ToLatitude:Double = new Double() with get,set member val ToLongitude:Double = new Double() with get,set [] type WaypointQuoteInformation() = inherit LinkedWaypoint() /// ///Distance between waypoints as a number /// [] member val Distance:Double = new Double() with get,set /// ///String formatted distance /// [] member val DistanceValue:String = null with get,set member val WaypointValid:Boolean = new Boolean() with get,set member val Message:String = null with get,set member val ErrorDetails:ResizeArray = new ResizeArray() with get,set /// ///Caculated price between waypoints excluding vat /// [] member val Price:Decimal = new Decimal() with get,set /// ///Price excluding vat formatted as a string rand value /// [] member val PriceValue:String = null with get,set /// ///The price between waypoints including vat /// [] member val PriceWithVAT:Decimal = new Decimal() with get,set /// ///The price including vat formatted as a rand value string /// [] member val PriceValueWithVAT:String = null with get,set [] type WaypointValidationInformation() = member val WaypointNumber:Int32 = new Int32() with get,set member val IsValid:Boolean = new Boolean() with get,set member val ErrorMessages:ResizeArray = new ResizeArray() with get,set [] type IRequestWaypoint = abstract Latitude:Double with get,set abstract Longitude:Double with get,set abstract WaypointNumber:Int32 with get,set abstract ContactName:String with get,set abstract ContactNumber:String with get,set abstract DeliveryInstructions:String with get,set abstract Address:String 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 ValidateWaypointsResponse() = inherit ApiServiceResponse() /// ///List with validation information for each waypoint /// [] member val WaypointValidations:ResizeArray = new ResizeArray() with get,set /// ///The total distance for the order /// [] member val TotalDistance:Double = new Double() with get,set /// ///The total distance for the order, formatted as a string /// [] member val TotalDistanceValue:String = null with get,set /// ///List of information for pricing etc between each waypoint /// [] member val Waypoints:ResizeArray = new ResizeArray() with get,set /// ///Is there an issue for the waypoints details specified? /// [] member val WaypointIssue:Boolean = new Boolean() with get,set [] [] type ValidateWaypoints() = inherit ApiServiceRequest() interface IReturn /// ///Array of waypoints /// [] member val Waypoints:ResizeArray = new ResizeArray() with get,set /// ///Set this to true to prevent while testing the API. /// [] member val Test:Boolean = new Boolean() with get,set