/* Options: Date: 2025-12-06 06:17:16 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://1fetch.api.client.prod.86degrees.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: PlaceOrder.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using WebService.ClientServiceModel.Base; using CommonService.Api.Operations.Base; using CommonService.Api.Operations; using WebService.ClientServiceModel; using BusinessLogic.Entities; namespace BusinessLogic.Entities { public partial interface IRequestWaypoint { double Latitude { get; set; } double Longitude { get; set; } int WaypointNumber { get; set; } string ContactName { get; set; } string ContactNumber { get; set; } string DeliveryInstructions { get; set; } string Address { get; set; } } public partial class LinkedWaypoint { public virtual int FromWaypointNumber { get; set; } public virtual int ToWaypointNumber { get; set; } public virtual double FromLatitude { get; set; } public virtual double FromLongitude { get; set; } public virtual double ToLatitude { get; set; } public virtual double ToLongitude { get; set; } } } namespace CommonService.Api.Operations { public partial interface IHasApiKey { string ApiKey { get; set; } } public partial interface ILogRequest { } } namespace CommonService.Api.Operations.Base { public partial interface IServiceRequest { } } namespace WebService.ClientServiceModel { [Route("/order", "POST")] public partial class PlaceOrder : ApiServiceRequest, IReturn, ILogRequest { public PlaceOrder() { Waypoints = new List{}; } /// ///Optionally provide your own reference identifier /// [ApiMember(Description="Optionally provide your own reference identifier")] public virtual string ClientReference { get; set; } /// ///Optionally provide a reference for the customer/business /// [ApiMember(Description="Optionally provide a reference for the customer/business")] public virtual string CustomerReference { get; set; } /// ///Array of waypoints /// [ApiMember(Description="Array of waypoints", IsRequired=true)] public virtual List Waypoints { get; set; } /// ///Is this a scheduled order? /// [ApiMember(Description="Is this a scheduled order?", IsRequired=true)] public virtual bool IsScheduled { get; set; } /// ///Specify the scheduling type, required if IsScheduled is true /// [ApiMember(Description="Specify the scheduling type, required if IsScheduled is true")] public virtual ScheduleType ScheduleType { get; set; } /// ///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 virtual string ScheduledDate { get; set; } /// ///Set this to true to prevent creating an order and billing for it /// [ApiMember(Description="Set this to true to prevent creating an order and billing for it", IsRequired=true)] public virtual bool Test { get; set; } /// ///Is your account allows Urgent Orders, you can use this flag to indicate when an Order is urgent. /// [ApiMember(Description="Is your account allows Urgent Orders, you can use this flag to indicate when an Order is urgent.")] public virtual bool IsUrgent { get; set; } } public partial class PlaceOrderResponse : ApiServiceResponse { public PlaceOrderResponse() { Waypoints = new List{}; WaypointValidations = new List{}; } /// ///The ID of the order. /// [ApiMember(Description="The ID of the order.")] public virtual Guid OrderId { get; set; } /// ///Were there any validation issues for any waypoints /// [ApiMember(Description="Were there any validation issues for any waypoints")] public virtual bool WaypointIssue { get; set; } /// ///The total distance for the order /// [ApiMember(Description="The total distance for the order")] public virtual double TotalDistance { get; set; } /// ///The total distance for the order, formatted as a string /// [ApiMember(Description="The total distance for the order, formatted as a string")] public virtual string TotalDistanceValue { get; set; } /// ///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 virtual string ScheduledDate { get; set; } /// ///The subtotal of the order before VAT /// [ApiMember(Description="The subtotal of the order before VAT")] public virtual string SubTotal { get; set; } /// ///The total of the order after VAT /// [ApiMember(Description="The total of the order after VAT")] public virtual string FinalPrice { get; set; } /// ///The amount of VAT /// [ApiMember(Description="The amount of VAT ")] public virtual string VATValue { get; set; } /// ///Will contain a message if there a problem with a scheduled order /// [ApiMember(Description="Will contain a message if there a problem with a scheduled order")] public virtual string SchedulingNotice { get; set; } /// ///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 virtual string SchedulingError { get; set; } /// ///User friendly waybill number /// [ApiMember(Description="User friendly waybill number")] public virtual string WayBill { get; set; } /// ///List of order information for pricing etc between each waypoint /// [ApiMember(Description="List of order information for pricing etc between each waypoint")] public virtual List Waypoints { get; set; } /// ///List with validation information for each waypoint /// [ApiMember(Description="List with validation information for each waypoint")] public virtual List WaypointValidations { get; set; } } public partial class RequestQuoteWaypoint : IRequestWaypoint { /// ///Number of waypoint for ordering /// [ApiMember(Description="Number of waypoint for ordering", IsRequired=true)] public virtual int WaypointNumber { get; set; } /// ///Waypoint Latitude /// [ApiMember(Description="Waypoint Latitude", IsRequired=true)] public virtual double Latitude { get; set; } /// ///Waypoint Longitude /// [ApiMember(Description="Waypoint Longitude", IsRequired=true)] public virtual double Longitude { get; set; } /// ///Name of contact person at waypoint /// [ApiMember(Description="Name of contact person at waypoint", IsRequired=true)] public virtual string ContactName { get; set; } /// ///Telephone number of contact person at waypoint /// [ApiMember(Description="Telephone number of contact person at waypoint", IsRequired=true)] public virtual string ContactNumber { get; set; } /// ///Instructions for driver to follow at waypoint /// [ApiMember(Description="Instructions for driver to follow at waypoint", IsRequired=true)] public virtual string DeliveryInstructions { get; set; } /// ///Waypoint address /// [ApiMember(Description="Waypoint address", IsRequired=true)] public virtual string Address { get; set; } } public enum ScheduleType { NextAvailable = 0, SpecificTime = 1, } public partial class WaypointQuoteInformation : LinkedWaypoint { public WaypointQuoteInformation() { ErrorDetails = new List{}; } /// ///Distance between waypoints as a number /// [ApiMember(Description="Distance between waypoints as a number")] public virtual double Distance { get; set; } /// ///String formatted distance /// [ApiMember(Description="String formatted distance")] public virtual string DistanceValue { get; set; } public virtual bool WaypointValid { get; set; } public virtual string Message { get; set; } public virtual List ErrorDetails { get; set; } /// ///Caculated price between waypoints excluding vat /// [ApiMember(Description="Caculated price between waypoints excluding vat")] public virtual decimal Price { get; set; } /// ///Price excluding vat formatted as a string rand value /// [ApiMember(Description="Price excluding vat formatted as a string rand value")] public virtual string PriceValue { get; set; } /// ///The price between waypoints including vat /// [ApiMember(Description="The price between waypoints including vat")] public virtual decimal PriceWithVAT { get; set; } /// ///The price including vat formatted as a rand value string /// [ApiMember(Description="The price including vat formatted as a rand value string")] public virtual string PriceValueWithVAT { get; set; } } public partial class WaypointValidationInformation { public WaypointValidationInformation() { ErrorMessages = new List{}; } public virtual int WaypointNumber { get; set; } public virtual bool IsValid { get; set; } public virtual List ErrorMessages { get; set; } } } namespace WebService.ClientServiceModel.Base { public partial class ApiServiceRequest : IServiceRequest, IHasApiKey { /// ///The API Key required for authentication /// [ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)] public virtual string ApiKey { get; set; } } public partial class ApiServiceResponse : IServiceResponse { /// ///Information about the response. /// [ApiMember(Description="Information about the response.", IsRequired=true)] public virtual string Description { get; set; } /// ///Heading or summary of the response. /// [ApiMember(Description="Heading or summary of the response.", IsRequired=true)] public virtual string Heading { get; set; } /// ///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 virtual bool WasSuccessful { get; set; } } }