diff --git a/ds-wms-service/DS.WMS.Core/Op/Dtos/Cargoo/CargooShipmentDto.cs b/ds-wms-service/DS.WMS.Core/Op/Dtos/Cargoo/CargooShipmentDto.cs new file mode 100644 index 00000000..51a38e99 --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Op/Dtos/Cargoo/CargooShipmentDto.cs @@ -0,0 +1,537 @@ +using NPOI.SS.Formula.Functions; +using SharpCompress.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DS.WMS.Core.Op.Dtos +{ + /// + /// + /// + public class CargooShipmentDto + { + /// + /// Shipment Booking number once confirmed + /// + public string bookingNumber { get; set; } + + /// + /// Internal Cargoo refence number – Mandatory for Update if no Booking Number provided + /// + public string cargooReference { get; set; } + + /// + /// Bill of Lading Number once shipped + /// + public string blNumber { get; set; } + + /// + /// Incoterm of the shipment (i.e. FOB) + /// + public string incoterm { get; set; } + + /// + /// FCL_FLC, LCL_FCL + /// + public string movementType { get; set; } + + /// + /// Port of receipt where the commodity will be first received + /// + public CargooShipmentPortDto por { get; set; } + + /// + /// Port of Loading. Starting port of the main shipment. + /// + public CargooShipmentPortDto pol { get; set; } + + /// + /// Port of discharge. Last port in the main shipment + /// + public CargooShipmentPortDto pod { get; set; } + + /// + /// Final destination of the shipment + /// + public CargooShipmentPortDto fnd { get; set; } + + /// + /// The earliest date the shipment can depart + /// + public string departureFrom { get; set; } + + /// + /// The latest date the shipment can depart + /// + public string departureTo { get; set; } + + /// + /// Usually equal to departureFrom until the shipment gets confirmed. + /// + public string etd { get; set; } + + /// + /// Planned arrival date of the shipment + /// + public string eta { get; set; } + + /// + /// Set only when the shipment is shipped and is set to the actual departure date of the first leg of the shipment. Each transport leg has its own ATD + /// + public string atd { get; set; } + + /// + /// Set only when the shipment has arrived and is set to the actual arrival date of the last leg of the shipment. Each transport leg has its own ATA + /// + public string ata { get; set; } + + /// + /// Carrier code + /// + public string carrierCode { get; set; } + + /// + /// List of actual shipped container + /// + public List containers { get; set;} + + /// + /// List of shipped commodities. Measures in metric system + /// + public List items { get; set; } + + /// + /// Latest transport Plan + /// + public CargooShipmentTransportPlanDto transportPlan { get; set; } + + /// + /// List of the involved party – If shipment from an order – Parties of the order are copied + /// + public List parties { get; set; } + + /// + /// Current Status of the shipment + /// + public CargooShipmentCurrentStatusDto currentStatus { get; set; } + + /// + /// Unique Key of that shipment for integration + /// + public string integrationId { get; set; } + + /// + /// + /// + public string contractNumber { get; set; } + + } + + /// + /// + /// + public class CargooShipmentPortDto + { + /// + /// Port or door – Default to 1 + /// + public string type { get; set; } + + /// + /// UNCODE port code + /// + public string code { get; set; } + } + + /// + /// + /// + public class CargooShipmentContainerTypesDto + { + /// + /// Number of the containers of that type + /// + public string count { get; set; } + + /// + /// Type of the container (i.e. 20GP) + /// + public string type { get; set; } + + /// + /// Gross weight of the container + items + /// + public decimal weight { get; set; } + + /// + /// Haulage information is available + /// + public string haulage { get; set; } + + /// + /// Type of the container (i.e. 20GP) + /// + public CargooShipmentContainerReferDto refer { get; set; } + } + + /// + /// + /// + public class CargooShipmentTransportPlanDto + { + /// + /// Cutoff date for to load cargo + /// + public string cargoCutOff { get; set; } + + /// + /// Cutoff date for to load cargo + /// + public string documentCutOff { get; set; } + + /// + /// Cutoff date for shipping document + /// + public string preCarriage { get; set; } + + /// + /// List of legs making the main carriage. + /// + public List mainCarriage { get; set; } + + /// + /// The structure from the on-carriage is the same main carriage. It can be one or more legs + /// + public List onCarriage { get; set; } + } + + /// + /// + /// + public class CargooShipmentMainCarriageDto + { + /// + /// The leg number + /// + public string SequenceNumber { get; set; } + + /// + /// From port + /// + public CargooShipmentCarriagePortDto from { get; set; } + + /// + /// To port + /// + public CargooShipmentCarriagePortDto to { get; set; } + + /// + /// Estimated departure date of the leg + /// + public string etd { get; set; } + + /// + /// Estimated arrival date of the leg + /// + public string eta { get; set; } + + /// + /// Actual departure date of the leg + /// + public string atd { get; set; } + + /// + /// Actual arrival date of the leg + /// + public string ata { get; set; } + + /// + /// + /// + public int transportMode { get; set; } + + /// + /// + /// + public CargooShipmentTransportMeanDto transportMean { get; set; } + + /// + /// Voyage Number + /// + public string conveyanceReferenceNumber { get; set; } + } + + /// + /// + /// + public class CargooShipmentTransportMeanDto + { + /// + /// Internal Cargoo Code to define the mode of transport. + /// + public string code { get; set; } + /// + /// Vessel IMO/Identification number + /// + public string id { get; set; } + /// + /// Vessel Name + /// + public string name { get; set; } + } + + /// + /// + /// + public class CargooShipmentContainerDto + { + /// + /// Booking Number belonging to that container + /// + public string bookingNumber { get; set; } + /// + /// Status of the container (i.e. 396) + /// + public string Status { get; set; } + /// + /// Description of the container status + /// + public string StatusDescription { get; set; } + /// + /// Date of the status of the container. + /// + public string statusDate { get; set; } + /// + /// Gross Weight of the cargo + /// + public decimal grossWeight { get; set; } + /// + /// Volume of the cargo + /// + public Nullable Volume { get; set; } + /// + /// If VGM is submitted – status of the submission (ie. Received) + /// + public string vgmStatus { get; set; } + + /// + /// VGM weight in Metric Kg + /// + public string vgmWeight { get; set; } + + /// + /// Container type (i.e. 20GP) + /// + public string type { get; set; } + + /// + /// Container number + /// + public string number { get; set; } + + /// + /// Bool. + /// + public Nullable soc { get; set; } + } + + /// + /// + /// + public class CargooShipmentItemDto + { + /// + /// Commodity of the item – see appendix + /// + public string commodityCode { get; set; } + /// + /// + /// + public string articleCode { get; set; } + /// + /// Description of the intem + /// + public string articleDescription { get; set; } + /// + /// Number of pieces – Packages mostly used + /// + public Nullable pieces { get; set; } + /// + /// Number of transported packages + /// + public Nullable packages { get; set; } + /// + /// Type of package (i.e. Carton) – see appendix + /// + public string packageType { get; set; } + /// + /// Volume + /// + public Nullable volume { get; set; } + /// + /// Gross weight of the cargo + /// + public decimal grossWeight { get; set; } + /// + /// Net weight (less packages) + /// + public Nullable netWeight { get; set; } + /// + /// HS Code + /// + public string hsCode { get; set; } + } + + /// + /// + /// + public class CargooShipmentContainerReferDto + { + /// + /// + /// + public string type { get; set; } + + /// + /// + /// + public string metricType { get; set; } + + /// + /// + /// + public string metricValue { get; set; } + + /// + /// + /// + public string woodDeclaration { get; set; } + + /// + /// + /// + public string shipperSealNumber { get; set; } + + /// + /// + /// + public string carrierSealNumber { get; set; } + } + + /// + /// + /// + public class CargooShipmentContainerTemperatureSettings + { + /// + /// + /// + public string ventSetting { get; set; } + /// + /// + /// + public string airFlowValue { get; set; } + /// + /// + /// + public string airFlowType { get; set; } + /// + /// + /// + public string Humidity { get; set; } + /// + /// + /// + public string humidificationRequested { get; set; } + /// + /// + /// + public string genSetRequested { get; set; } + /// + /// + /// + public string controlledAtmosphereRequested { get; set; } + /// + /// + /// + public string Carbon { get; set; } + /// + /// + /// + public string Nitrogen { get; set; } + /// + /// + /// + public string Oxygen { get; set; } + /// + /// + /// + public string instructions { get; set; } + } + + /// + /// + /// + public class CargooShipmentCarriagePortDto + { + /// + /// UNCode of the port + /// + public string code { get; set; } + + /// + /// Full name + /// + public string name { get; set; } + + } + + /// + /// + /// + public class CargooShipmentPartyDto + { + /// + /// + /// + public string name { get; set; } + /// + /// Customer or Cargoo Id + /// + public string companyId { get; set; } + /// + /// Type of party (i.e. BUYER) – see appendix + /// + public string Type { get; set; } + /// + /// Full address and contact details available. See Order model. + /// + public string address { get; set; } + /// + /// Reference for the given party + /// + public string Reference { get; set; } + } + + /// + /// Current Status of the shipment + /// + public class CargooShipmentCurrentStatusDto + { + /// + /// Cargoo Code (see appendix below) + /// + public int Code { get; set; } + /// + /// Description of the Status + /// + public string Description { get; set; } + /// + /// Date when the status changed + /// + public string Date { get; set; } + } +}