/* Options: Date: 2025-12-06 06:16:32 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://1fetch.api.client.prod.86degrees.com //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: RequestQuote.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; public class dtos { @Route(Path="/quote", Verbs="POST") public static class RequestQuote extends ApiServiceRequest implements IReturn, ILogRequest { /** * Array of waypoints */ @ApiMember(Description="Array of waypoints", IsRequired=true) public ArrayList Waypoints = null; /** * Is this a scheduled order? */ @ApiMember(Description="Is this a scheduled order?", IsRequired=true) public Boolean IsScheduled = null; /** * Specify the scheduling type, required if IsScheduled is true */ @ApiMember(Description="Specify the scheduling type, required if IsScheduled is true") public ScheduleType ScheduleType = null; /** * Specify the scheduled date for this delivery in ISO 8601 string format, required if IsScheduled is true and ScheduleType is SpecificTime */ @ApiMember(Description="Specify the scheduled date for this delivery in ISO 8601 string format, required if IsScheduled is true and ScheduleType is SpecificTime") public String ScheduledDate = null; /** * Specify a quote Id to amend a quote. Required when amending an existing quote. */ @ApiMember(Description="Specify a quote Id to amend a quote. Required when amending an existing quote.") public UUID QuoteId = null; /** * Set this to true to prevent creating the quote */ @ApiMember(Description="Set this to true to prevent creating the quote", IsRequired=true) public Boolean Test = null; public ArrayList getWaypoints() { return Waypoints; } public RequestQuote setWaypoints(ArrayList value) { this.Waypoints = value; return this; } public Boolean getIsScheduled() { return IsScheduled; } public RequestQuote setIsScheduled(Boolean value) { this.IsScheduled = value; return this; } public ScheduleType getScheduleType() { return ScheduleType; } public RequestQuote setScheduleType(ScheduleType value) { this.ScheduleType = value; return this; } public String getScheduledDate() { return ScheduledDate; } public RequestQuote setScheduledDate(String value) { this.ScheduledDate = value; return this; } public UUID getQuoteId() { return QuoteId; } public RequestQuote setQuoteId(UUID value) { this.QuoteId = value; return this; } public Boolean isTest() { return Test; } public RequestQuote setTest(Boolean value) { this.Test = value; return this; } private static Object responseType = RequestQuoteResponse.class; public Object getResponseType() { return responseType; } } public static class RequestQuoteResponse extends ApiServiceResponse { /** * Is there an issue for the waypoints details specified? */ @ApiMember(Description="Is there an issue for the waypoints details specified?") public Boolean WaypointIssue = null; /** * Is the quote created successfully and ready to be placed as an order? */ @ApiMember(Description="Is the quote created successfully and ready to be placed as an order?") public Boolean QuoteReady = null; /** * Is the quote expired? */ @ApiMember(Description="Is the quote expired?") public Boolean QuoteExpired = null; /** * The total distance for the quote */ @ApiMember(Description="The total distance for the quote") public Double TotalDistance = null; /** * The total distance for the quote, formatted as a string */ @ApiMember(Description="The total distance for the quote, formatted as a string") public String TotalDistanceValue = null; /** * The date and time the order is scheduled for in ISO 8601 string format, will be set if IsScheduled is true */ @ApiMember(Description="The date and time the order is scheduled for in ISO 8601 string format, will be set if IsScheduled is true") public String ScheduledDate = null; /** * The subtotal of the order before VAT */ @ApiMember(Description="The subtotal of the order before VAT") public String SubTotal = null; /** * The total of the order after VAT */ @ApiMember(Description="The total of the order after VAT") public String FinalPrice = null; /** * The amount of VAT */ @ApiMember(Description="The amount of VAT ") public String VATValue = null; /** * Will contain a message if there might be a problem with a scheduled quote */ @ApiMember(Description="Will contain a message if there might be a problem with a scheduled quote") public String SchedulingNotice = null; /** * Will contain a message if there is a problem with a scheduled quote, if the order is scheduled to soon to opening times */ @ApiMember(Description="Will contain a message if there is a problem with a scheduled quote, if the order is scheduled to soon to opening times") public String SchedulingError = null; /** * The ID of the generated quote, needed when you want to change this quote later */ @ApiMember(Description="The ID of the generated quote, needed when you want to change this quote later") public UUID QuoteId = null; /** * User friendly waybill number */ @ApiMember(Description="User friendly waybill number") public String WayBill = null; /** * The date this order was created */ @ApiMember(Description="The date this order was created") public String DateCreated = null; /** * The date this quote was last changed */ @ApiMember(Description="The date this quote was last changed") public String LastUpdated = null; /** * List of quote information for pricing etc between each waypoint */ @ApiMember(Description="List of quote information for pricing etc between each waypoint") public ArrayList Waypoints = null; /** * List with validation information for each waypoint */ @ApiMember(Description="List with validation information for each waypoint") public ArrayList WaypointValidations = null; public Boolean isWaypointIssue() { return WaypointIssue; } public RequestQuoteResponse setWaypointIssue(Boolean value) { this.WaypointIssue = value; return this; } public Boolean isQuoteReady() { return QuoteReady; } public RequestQuoteResponse setQuoteReady(Boolean value) { this.QuoteReady = value; return this; } public Boolean isQuoteExpired() { return QuoteExpired; } public RequestQuoteResponse setQuoteExpired(Boolean value) { this.QuoteExpired = value; return this; } public Double getTotalDistance() { return TotalDistance; } public RequestQuoteResponse setTotalDistance(Double value) { this.TotalDistance = value; return this; } public String getTotalDistanceValue() { return TotalDistanceValue; } public RequestQuoteResponse setTotalDistanceValue(String value) { this.TotalDistanceValue = value; return this; } public String getScheduledDate() { return ScheduledDate; } public RequestQuoteResponse setScheduledDate(String value) { this.ScheduledDate = value; return this; } public String getSubTotal() { return SubTotal; } public RequestQuoteResponse setSubTotal(String value) { this.SubTotal = value; return this; } public String getFinalPrice() { return FinalPrice; } public RequestQuoteResponse setFinalPrice(String value) { this.FinalPrice = value; return this; } public String getVatValue() { return VATValue; } public RequestQuoteResponse setVatValue(String value) { this.VATValue = value; return this; } public String getSchedulingNotice() { return SchedulingNotice; } public RequestQuoteResponse setSchedulingNotice(String value) { this.SchedulingNotice = value; return this; } public String getSchedulingError() { return SchedulingError; } public RequestQuoteResponse setSchedulingError(String value) { this.SchedulingError = value; return this; } public UUID getQuoteId() { return QuoteId; } public RequestQuoteResponse setQuoteId(UUID value) { this.QuoteId = value; return this; } public String getWayBill() { return WayBill; } public RequestQuoteResponse setWayBill(String value) { this.WayBill = value; return this; } public String getDateCreated() { return DateCreated; } public RequestQuoteResponse setDateCreated(String value) { this.DateCreated = value; return this; } public String getLastUpdated() { return LastUpdated; } public RequestQuoteResponse setLastUpdated(String value) { this.LastUpdated = value; return this; } public ArrayList getWaypoints() { return Waypoints; } public RequestQuoteResponse setWaypoints(ArrayList value) { this.Waypoints = value; return this; } public ArrayList getWaypointValidations() { return WaypointValidations; } public RequestQuoteResponse setWaypointValidations(ArrayList value) { this.WaypointValidations = value; return this; } } public static class ApiServiceRequest implements IServiceRequest, IHasApiKey { /** * The API Key required for authentication */ @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) public String ApiKey = null; public String getApiKey() { return ApiKey; } public ApiServiceRequest setApiKey(String value) { this.ApiKey = value; return this; } } public static interface IServiceRequest { } public static interface IHasApiKey { public String ApiKey = null; } public static interface ILogRequest { } public static class RequestQuoteWaypoint implements IRequestWaypoint { /** * Number of waypoint for ordering */ @ApiMember(Description="Number of waypoint for ordering", IsRequired=true) public Integer WaypointNumber = null; /** * Waypoint Latitude */ @ApiMember(Description="Waypoint Latitude", IsRequired=true) public Double Latitude = null; /** * Waypoint Longitude */ @ApiMember(Description="Waypoint Longitude", IsRequired=true) public Double Longitude = null; /** * Name of contact person at waypoint */ @ApiMember(Description="Name of contact person at waypoint", IsRequired=true) public String ContactName = null; /** * Telephone number of contact person at waypoint */ @ApiMember(Description="Telephone number of contact person at waypoint", IsRequired=true) public String ContactNumber = null; /** * Instructions for driver to follow at waypoint */ @ApiMember(Description="Instructions for driver to follow at waypoint", IsRequired=true) public String DeliveryInstructions = null; /** * Waypoint address */ @ApiMember(Description="Waypoint address", IsRequired=true) public String Address = null; public Integer getWaypointNumber() { return WaypointNumber; } public RequestQuoteWaypoint setWaypointNumber(Integer value) { this.WaypointNumber = value; return this; } public Double getLatitude() { return Latitude; } public RequestQuoteWaypoint setLatitude(Double value) { this.Latitude = value; return this; } public Double getLongitude() { return Longitude; } public RequestQuoteWaypoint setLongitude(Double value) { this.Longitude = value; return this; } public String getContactName() { return ContactName; } public RequestQuoteWaypoint setContactName(String value) { this.ContactName = value; return this; } public String getContactNumber() { return ContactNumber; } public RequestQuoteWaypoint setContactNumber(String value) { this.ContactNumber = value; return this; } public String getDeliveryInstructions() { return DeliveryInstructions; } public RequestQuoteWaypoint setDeliveryInstructions(String value) { this.DeliveryInstructions = value; return this; } public String getAddress() { return Address; } public RequestQuoteWaypoint setAddress(String value) { this.Address = value; return this; } } public static enum ScheduleType { @SerializedName("0") NextAvailable(0), @SerializedName("1") SpecificTime(1); private final int value; ScheduleType(final int intValue) { value = intValue; } public int getValue() { return value; } } public static class WaypointQuoteInformation extends LinkedWaypoint { /** * Distance between waypoints as a number */ @ApiMember(Description="Distance between waypoints as a number") public Double Distance = null; /** * String formatted distance */ @ApiMember(Description="String formatted distance") public String DistanceValue = null; public Boolean WaypointValid = null; public String Message = null; public ArrayList ErrorDetails = null; /** * Caculated price between waypoints excluding vat */ @ApiMember(Description="Caculated price between waypoints excluding vat") public BigDecimal Price = null; /** * Price excluding vat formatted as a string rand value */ @ApiMember(Description="Price excluding vat formatted as a string rand value") public String PriceValue = null; /** * The price between waypoints including vat */ @ApiMember(Description="The price between waypoints including vat") public BigDecimal PriceWithVAT = null; /** * The price including vat formatted as a rand value string */ @ApiMember(Description="The price including vat formatted as a rand value string") public String PriceValueWithVAT = null; public Double getDistance() { return Distance; } public WaypointQuoteInformation setDistance(Double value) { this.Distance = value; return this; } public String getDistanceValue() { return DistanceValue; } public WaypointQuoteInformation setDistanceValue(String value) { this.DistanceValue = value; return this; } public Boolean isWaypointValid() { return WaypointValid; } public WaypointQuoteInformation setWaypointValid(Boolean value) { this.WaypointValid = value; return this; } public String getMessage() { return Message; } public WaypointQuoteInformation setMessage(String value) { this.Message = value; return this; } public ArrayList getErrorDetails() { return ErrorDetails; } public WaypointQuoteInformation setErrorDetails(ArrayList value) { this.ErrorDetails = value; return this; } public BigDecimal getPrice() { return Price; } public WaypointQuoteInformation setPrice(BigDecimal value) { this.Price = value; return this; } public String getPriceValue() { return PriceValue; } public WaypointQuoteInformation setPriceValue(String value) { this.PriceValue = value; return this; } public BigDecimal getPriceWithVAT() { return PriceWithVAT; } public WaypointQuoteInformation setPriceWithVAT(BigDecimal value) { this.PriceWithVAT = value; return this; } public String getPriceValueWithVAT() { return PriceValueWithVAT; } public WaypointQuoteInformation setPriceValueWithVAT(String value) { this.PriceValueWithVAT = value; return this; } } public static class WaypointValidationInformation { public Integer WaypointNumber = null; public Boolean IsValid = null; public ArrayList ErrorMessages = null; public Integer getWaypointNumber() { return WaypointNumber; } public WaypointValidationInformation setWaypointNumber(Integer value) { this.WaypointNumber = value; return this; } public Boolean getIsValid() { return IsValid; } public WaypointValidationInformation setIsValid(Boolean value) { this.IsValid = value; return this; } public ArrayList getErrorMessages() { return ErrorMessages; } public WaypointValidationInformation setErrorMessages(ArrayList value) { this.ErrorMessages = value; return this; } } public static interface IRequestWaypoint { public Double Latitude = null; public Double Longitude = null; public Integer WaypointNumber = null; public String ContactName = null; public String ContactNumber = null; public String DeliveryInstructions = null; public String Address = null; } public static class LinkedWaypoint { public Integer FromWaypointNumber = null; public Integer ToWaypointNumber = null; public Double FromLatitude = null; public Double FromLongitude = null; public Double ToLatitude = null; public Double ToLongitude = null; public Integer getFromWaypointNumber() { return FromWaypointNumber; } public LinkedWaypoint setFromWaypointNumber(Integer value) { this.FromWaypointNumber = value; return this; } public Integer getToWaypointNumber() { return ToWaypointNumber; } public LinkedWaypoint setToWaypointNumber(Integer value) { this.ToWaypointNumber = value; return this; } public Double getFromLatitude() { return FromLatitude; } public LinkedWaypoint setFromLatitude(Double value) { this.FromLatitude = value; return this; } public Double getFromLongitude() { return FromLongitude; } public LinkedWaypoint setFromLongitude(Double value) { this.FromLongitude = value; return this; } public Double getToLatitude() { return ToLatitude; } public LinkedWaypoint setToLatitude(Double value) { this.ToLatitude = value; return this; } public Double getToLongitude() { return ToLongitude; } public LinkedWaypoint setToLongitude(Double value) { this.ToLongitude = value; return this; } } public static class ApiServiceResponse implements IServiceResponse { /** * Information about the response. */ @ApiMember(Description="Information about the response.", IsRequired=true) public String Description = null; /** * Heading or summary of the response. */ @ApiMember(Description="Heading or summary of the response.", IsRequired=true) public String Heading = 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) public Boolean WasSuccessful = null; public String getDescription() { return Description; } public ApiServiceResponse setDescription(String value) { this.Description = value; return this; } public String getHeading() { return Heading; } public ApiServiceResponse setHeading(String value) { this.Heading = value; return this; } public Boolean isWasSuccessful() { return WasSuccessful; } public ApiServiceResponse setWasSuccessful(Boolean value) { this.WasSuccessful = value; return this; } } }