/* Options: Date: 2025-12-06 06:22:05 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://1fetch.api.client.prod.86degrees.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ValidateWaypoints.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/quote/validatewaypoints", Verbs="POST") open class ValidateWaypoints : ApiServiceRequest(), IReturn, ILogRequest { /** * Array of waypoints */ @ApiMember(Description="Array of waypoints", IsRequired=true) var Waypoints:ArrayList = ArrayList() /** * Set this to true to prevent while testing the API. */ @ApiMember(Description="Set this to true to prevent while testing the API.", IsRequired=true) var Test:Boolean? = null companion object { private val responseType = ValidateWaypointsResponse::class.java } override fun getResponseType(): Any? = ValidateWaypoints.responseType } open class ValidateWaypointsResponse : ApiServiceResponse() { /** * List with validation information for each waypoint */ @ApiMember(Description="List with validation information for each waypoint") var WaypointValidations:ArrayList = ArrayList() /** * The total distance for the order */ @ApiMember(Description="The total distance for the order") var TotalDistance:Double? = null /** * The total distance for the order, formatted as a string */ @ApiMember(Description="The total distance for the order, formatted as a string") var TotalDistanceValue:String? = null /** * List of information for pricing etc between each waypoint */ @ApiMember(Description="List of information for pricing etc between each waypoint") var Waypoints:ArrayList = ArrayList() /** * Is there an issue for the waypoints details specified? */ @ApiMember(Description="Is there an issue for the waypoints details specified?") var WaypointIssue:Boolean? = null } open class ApiServiceRequest : IServiceRequest, IHasApiKey { /** * The API Key required for authentication */ @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) var ApiKey:String? = null } open interface IServiceRequest { } open interface IHasApiKey { var ApiKey:String? } open interface ILogRequest { } open class RequestQuoteWaypoint : IRequestWaypoint { /** * Number of waypoint for ordering */ @ApiMember(Description="Number of waypoint for ordering", IsRequired=true) var WaypointNumber:Int? = null /** * Waypoint Latitude */ @ApiMember(Description="Waypoint Latitude", IsRequired=true) var Latitude:Double? = null /** * Waypoint Longitude */ @ApiMember(Description="Waypoint Longitude", IsRequired=true) var Longitude:Double? = null /** * Name of contact person at waypoint */ @ApiMember(Description="Name of contact person at waypoint", IsRequired=true) var ContactName:String? = null /** * Telephone number of contact person at waypoint */ @ApiMember(Description="Telephone number of contact person at waypoint", IsRequired=true) var ContactNumber:String? = null /** * Instructions for driver to follow at waypoint */ @ApiMember(Description="Instructions for driver to follow at waypoint", IsRequired=true) var DeliveryInstructions:String? = null /** * Waypoint address */ @ApiMember(Description="Waypoint address", IsRequired=true) var Address:String? = null } open class WaypointQuoteInformation : LinkedWaypoint() { /** * Distance between waypoints as a number */ @ApiMember(Description="Distance between waypoints as a number") var Distance:Double? = null /** * String formatted distance */ @ApiMember(Description="String formatted distance") var DistanceValue:String? = null var WaypointValid:Boolean? = null var Message:String? = null var ErrorDetails:ArrayList = ArrayList() /** * Caculated price between waypoints excluding vat */ @ApiMember(Description="Caculated price between waypoints excluding vat") var Price:BigDecimal? = null /** * Price excluding vat formatted as a string rand value */ @ApiMember(Description="Price excluding vat formatted as a string rand value") var PriceValue:String? = null /** * The price between waypoints including vat */ @ApiMember(Description="The price between waypoints including vat") var PriceWithVAT:BigDecimal? = null /** * The price including vat formatted as a rand value string */ @ApiMember(Description="The price including vat formatted as a rand value string") var PriceValueWithVAT:String? = null } open class WaypointValidationInformation { var WaypointNumber:Int? = null var IsValid:Boolean? = null var ErrorMessages:ArrayList = ArrayList() } open interface IRequestWaypoint { var Latitude:Double? var Longitude:Double? var WaypointNumber:Int? var ContactName:String? var ContactNumber:String? var DeliveryInstructions:String? var Address:String? } open class LinkedWaypoint { var FromWaypointNumber:Int? = null var ToWaypointNumber:Int? = null var FromLatitude:Double? = null var FromLongitude:Double? = null var ToLatitude:Double? = null var ToLongitude:Double? = null } open class ApiServiceResponse : IServiceResponse { /** * Information about the response. */ @ApiMember(Description="Information about the response.", IsRequired=true) var Description:String? = null /** * Heading or summary of the response. */ @ApiMember(Description="Heading or summary of the response.", IsRequired=true) var Heading:String? = null /** * Did the intended operation for this response complete successfully? */ @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true) var WasSuccessful:Boolean? = null }