{
"Message": {
"SenderId": "ABC Company",
"ReceiverId": "CargoBytes",
"ClientId": "XYZ Corp",
"MessageId": "123456",
"MessageDate": "2024-02-09T08:00:00Z",
"MessageFunction": "FunctionABC",
"Schema": "SchemaXYZ",
"Namespace": "NamespaceABC",
"DocType": "InvoiceLogistic"
},
"MetaData": [
{
"Name": "Meta1",
"Content": "Content1"
}
],
"ActivityTypes": [
{
"Agency": "Export Sea",
"Value": "Seafreight",
"Description": "Charges for ocean freight",
"SubType": "Outbound",
"TreeView": "Sea|Outbound"
},
{
"Agency": "Import Sea",
"Value": "THC",
"Description": "Terminal Handling Charge",
"SubType": "Inbound",
"TreeView": "Sea|Inbound"
}
]
}
Java classes
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class ActivityTypesBaseData {
@JsonProperty("Message")
private DocThorMessage message;
@JsonProperty("MetaData")
private List<DocThorMetaDataItem> metaData;
@JsonProperty("ActivityTypes")
private List<ActivityTypesBaseDataItem> activityTypes;
public DocThorMessage getMessage() {
return message;
}
public void setMessage(DocThorMessage message) {
this.message = message;
}
public List<DocThorMetaDataItem> getMetaData() {
return metaData;
}
public void setMetaData(List<DocThorMetaDataItem> metaData) {
this.metaData = metaData;
}
public List<ActivityTypesBaseDataItem> getActivityTypes() {
return activityTypes;
}
public void setActivityTypes(List<ActivityTypesBaseDataItem> activityTypes) {
this.activityTypes = activityTypes;
}
}
class DocThorMessage {
@JsonProperty("SenderId")
private String senderId;
@JsonProperty("ReceiverId")
private String receiverId;
@JsonProperty("ClientId")
private String clientId;
@JsonProperty("MessageId")
private String messageId;
@JsonProperty("MessageDate")
private String messageDate;
@JsonProperty("MessageFunction")
private String messageFunction;
@JsonProperty("Schema")
private String schema;
@JsonProperty("Namespace")
private String namespace;
// Getters and setters
}
class DocThorMetaDataItem {
@JsonProperty("Name")
private String name;
@JsonProperty("Content")
private String content;
// Getters and setters
}
class ActivityTypesBaseDataItem {
@JsonProperty("Agency")
private String agency;
@JsonProperty("Value")
private String value;
@JsonProperty("Description")
private String description;
@JsonProperty("SubType")
private String subType;
@JsonProperty("TreeView")
private String treeView;
// Getters and setters
}
Python classes (draft)
import json
class ActivityTypesBaseData:
def __init__(self, message=None, metaData=None, activityTypes=None):
self.message = message
self.metaData = metaData
self.activityTypes = activityTypes
class DocThorMessage:
def __init__(self, SenderId=None, ReceiverId=None, ClientId=None, MessageId=None, MessageDate=None,
MessageFunction=None, Schema=None, Namespace=None):
self.SenderId = SenderId
self.ReceiverId = ReceiverId
self.ClientId = ClientId
self.MessageId = MessageId
self.MessageDate = MessageDate
self.MessageFunction = MessageFunction
self.Schema = Schema
self.Namespace = Namespace
class DocThorMetaDataItem:
def __init__(self, Name=None, Content=None):
self.Name = Name
self.Content = Content
class ActivityTypesBaseDataItem:
def __init__(self, Agency=None, Value=None, Description=None, SubType=None, TreeView=None):
self.Agency = Agency
self.Value = Value
self.Description = Description
self.SubType = SubType
self.TreeView = TreeView
# Example usage
if __name__ == "__main__":
message = DocThorMessage(SenderId="ABC Company", ReceiverId="CargoBytes", ClientId="XYZ Corp", MessageId="123456",
MessageDate="2024-02-09T08:00:00Z", MessageFunction="FunctionABC",
Schema="SchemaXYZ", Namespace="NamespaceABC")
metaData = [DocThorMetaDataItem(Name="Meta1", Content="Content1")]
activityTypes = [
ActivityTypesBaseDataItem(Agency="Logistics", Value="Shipping", Description="Activity related to shipping goods",
SubType="Outbound", TreeView="Main"),
ActivityTypesBaseDataItem(Agency="Logistics", Value="Transportation", Description="Activity related to transportation of goods",
SubType="Inbound", TreeView="Main")
]
activity_data = ActivityTypesBaseData(message=message, metaData=metaData, activityTypes=activityTypes)
# Convert to JSON
json_data = json.dumps(activity_data.__dict__, indent=4)
print(json_data)
Javascript classes (draft)
class ActivityTypesBaseData {
constructor(message, metaData, activityTypes) {
this.message = message;
this.metaData = metaData;
this.activityTypes = activityTypes;
}
}
class DocThorMessage {
constructor(SenderId, ReceiverId, ClientId, MessageId, MessageDate, MessageFunction, Schema, Namespace) {
this.SenderId = SenderId;
this.ReceiverId = ReceiverId;
this.ClientId = ClientId;
this.MessageId = MessageId;
this.MessageDate = MessageDate;
this.MessageFunction = MessageFunction;
this.Schema = Schema;
this.Namespace = Namespace;
}
}
class DocThorMetaDataItem {
constructor(Name, Content) {
this.Name = Name;
this.Content = Content;
}
}
class ActivityTypesBaseDataItem {
constructor(Agency, Value, Description, SubType, TreeView) {
this.Agency = Agency;
this.Value = Value;
this.Description = Description;
this.SubType = SubType;
this.TreeView = TreeView;
}
}
// Example usage
const message = new DocThorMessage("ABC Company", "CargoBytes", "XYZ Corp", "123456",
"2024-02-09T08:00:00Z", "FunctionABC",
"SchemaXYZ", "NamespaceABC");
const metaData = [new DocThorMetaDataItem("Meta1", "Content1")];
const activityTypes = [
new ActivityTypesBaseDataItem("Logistics", "Shipping", "Activity related to shipping goods", "Outbound", "Main"),
new ActivityTypesBaseDataItem("Logistics", "Transportation", "Activity related to transportation of goods", "Inbound", "Main")
];
const activityData = new ActivityTypesBaseData(message, metaData, activityTypes);
console.log(JSON.stringify(activityData, null, 4));
C# classes (Draft)
using DocthorBaseData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DocthorBaseData
{
public class TaxKeysBaseData
{
public DocThorMessage Message { get; set; }
public List<DocThorMetaDataItem> MetaData { get; set; }
public List<TaxKeysBaseDataItem> TaxKeys { get; set; }
}
public class TaxKeysBaseDataItem
{
public string Agency { get; set; }
public string Value { get; set; }
public string Description { get; set; }
public string SubType { get; set; }
public string TreeView { get; set; }
public decimal? Percentage { get; set; }
public string Type { get; set; }
public bool? ReverseCharge { get; set; }
public string Value4 { get; set; }
public string Value5 { get; set; }
public string Value6 { get; set; }
public string Value7 { get; set; }
public string Value8 { get; set; }
public string Value9 { get; set; }
public string Value10 { get; set; }
public string Value11 { get; set; }
public string Value12 { get; set; }
public string Value13 { get; set; }
public string Value14 { get; set; }
public string Value15 { get; set; }
public string Value16 { get; set; }
public string Value17 { get; set; }
public string Value18 { get; set; }
public string Value19 { get; set; }
}
}
