/* Options: Date: 2025-12-06 06:43:31 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.1fetch.co.za //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: PicUpCreateShipmentRequest.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; import com.google.gson.annotations.*; import com.google.gson.reflect.*; public class dtos { @Route(Path="/picup/createshipment", Verbs="POST") public static class PicUpCreateShipmentRequest implements IReturn, IHasApiKey, ILogRequest { public String ApiKey = null; @DataMember(Name="courier_request") @SerializedName("courier_request") public CourierRequest CourierRequest = null; public String getApiKey() { return ApiKey; } public PicUpCreateShipmentRequest setApiKey(String value) { this.ApiKey = value; return this; } public CourierRequest getCourierRequest() { return CourierRequest; } public PicUpCreateShipmentRequest setCourierRequest(CourierRequest value) { this.CourierRequest = value; return this; } private static Object responseType = PicUpCreateShipmentResponse.class; public Object getResponseType() { return responseType; } } public static class PicUpCreateShipmentResponse { @DataMember(Name="is_success") @SerializedName("is_success") public Boolean IsSuccess = null; @DataMember(Name="courier_reference") @SerializedName("courier_reference") public String CourierReference = null; @DataMember(Name="error") @SerializedName("error") public String Error = null; /** * List of order information for pricing etc between each waypoint */ @ApiMember(Description="List of order 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; /** * The 1Fetch Waybill reference for the shipment */ @ApiMember(Description="The 1Fetch Waybill reference for the shipment") public String Waybill = null; public Boolean getIsSuccess() { return IsSuccess; } public PicUpCreateShipmentResponse setIsSuccess(Boolean value) { this.IsSuccess = value; return this; } public String getCourierReference() { return CourierReference; } public PicUpCreateShipmentResponse setCourierReference(String value) { this.CourierReference = value; return this; } public String getError() { return Error; } public PicUpCreateShipmentResponse setError(String value) { this.Error = value; return this; } public ArrayList getWaypoints() { return Waypoints; } public PicUpCreateShipmentResponse setWaypoints(ArrayList value) { this.Waypoints = value; return this; } public ArrayList getWaypointValidations() { return WaypointValidations; } public PicUpCreateShipmentResponse setWaypointValidations(ArrayList value) { this.WaypointValidations = value; return this; } public String getWaybill() { return Waybill; } public PicUpCreateShipmentResponse setWaybill(String value) { this.Waybill = value; return this; } } public static interface IHasApiKey { public String ApiKey = null; } public static interface ILogRequest { } public static class CourierRequest { @DataMember(Name="bucket_details") @SerializedName("bucket_details") public BucketDetails BucketDetails = null; @DataMember(Name="shipments") @SerializedName("shipments") public ArrayList Shipments = null; public BucketDetails getBucketDetails() { return BucketDetails; } public CourierRequest setBucketDetails(BucketDetails value) { this.BucketDetails = value; return this; } public ArrayList getShipments() { return Shipments; } public CourierRequest setShipments(ArrayList value) { this.Shipments = value; return this; } } 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 class BucketDetails { @DataMember(Name="delivery_date") @SerializedName("delivery_date") public Date DeliveryDate = null; public Date getDeliveryDate() { return DeliveryDate; } public BucketDetails setDeliveryDate(Date value) { this.DeliveryDate = value; return this; } } 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; } } }