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