{
"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"
}
],
"TaxKeys": [
{
"Agency": "Airfreight Export",
"Value": "19V",
"Description": "19% Vorsteuer",
"SubType": "Vorsteuer",
"TreeView": "Tax Keys (Steuerschlüssel)",
"Percentage": 19.0,
"Type": "V",
"ReverseCharge": false
},
{
"Agency": "Airfreight Export",
"Value": "19U",
"Description": "19% Umsatzsteuer",
"SubType": "Umsatzsteuer",
"TreeView": "Tax Keys (Steuerschlüssel)",
"Percentage": 19.0,
"Type": "U",
"ReverseCharge": false
}
]
}
Java classes (draft)
import java.util.List;
public class TaxKeysBaseData {
private DocThorMessage Message;
private List<DocThorMetaDataItem> MetaData;
private List<TaxKeysBaseDataItem> TaxKeys;
// Getters and setters
public DocThorMessage getMessage() {
return Message;
}
public void setMessage(DocThorMessage message) {
Message = message;
}
public List<DocThorMetaDataItem> getMetaData() {
return MetaData;
}
public void setMetaData(List<DocThorMetaDataItem> metaData) {
MetaData = metaData;
}
public List<TaxKeysBaseDataItem> getTaxKeys() {
return TaxKeys;
}
public void setTaxKeys(List<TaxKeysBaseDataItem> taxKeys) {
TaxKeys = taxKeys;
}
}
class DocThorMessage {
private String SenderId;
private String ReceiverId;
private String ClientId;
private String MessageId;
private String MessageDate;
private String MessageFunction;
private String Schema;
private String Namespace;
private String DocType;
// Getters and setters
public String getSenderId() {
return SenderId;
}
public void setSenderId(String senderId) {
SenderId = senderId;
}
public String getReceiverId() {
return ReceiverId;
}
public void setReceiverId(String receiverId) {
ReceiverId = receiverId;
}
public String getClientId() {
return ClientId;
}
public void setClientId(String clientId) {
ClientId = clientId;
}
public String getMessageId() {
return MessageId;
}
public void setMessageId(String messageId) {
MessageId = messageId;
}
public String getMessageDate() {
return MessageDate;
}
public void setMessageDate(String messageDate) {
MessageDate = messageDate;
}
public String getMessageFunction() {
return MessageFunction;
}
public void setMessageFunction(String messageFunction) {
MessageFunction = messageFunction;
}
public String getSchema() {
return Schema;
}
public void setSchema(String schema) {
Schema = schema;
}
public String getNamespace() {
return Namespace;
}
public void setNamespace(String namespace) {
Namespace = namespace;
}
public String getDocType() {
return DocType;
}
public void setDocType(String docType) {
DocType = docType;
}
}
class DocThorMetaDataItem {
private String Name;
private String Content;
// Getters and setters
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
}
class TaxKeysBaseDataItem {
private String Agency;
private String Description;
private String SubType;
private String TreeView;
private double Percentage;
private String Type;
private boolean ReverseCharge;
// Getters and setters
public String getAgency() {
return Agency;
}
public void setAgency(String agency) {
Agency = agency;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getSubType() {
return SubType;
}
public void setSubType(String subType) {
SubType = subType;
}
public String getTreeView() {
return TreeView;
}
public void setTreeView(String treeView) {
TreeView = treeView;
}
public double getPercentage() {
return Percentage;
}
public void setPercentage(double percentage) {
Percentage = percentage;
}
public String getType() {
return Type;
}
public void setType(String type) {
Type = type;
}
public boolean isReverseCharge() {
return ReverseCharge;
}
public void setReverseCharge(boolean reverseCharge) {
ReverseCharge = reverseCharge;
}
}
Java example for above mentioned class (draft)
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
// Creating message
DocThorMessage message = new DocThorMessage();
message.setSenderId("ABC Company");
message.setReceiverId("CargoBytes");
message.setClientId("XYZ Corp");
message.setMessageId("123456");
message.setMessageDate("2024-02-09T08:00:00Z");
message.setMessageFunction("FunctionABC");
message.setSchema("SchemaXYZ");
message.setNamespace("NamespaceABC");
message.setDocType("InvoiceLogistic");
// Creating meta data
DocThorMetaDataItem metaDataItem = new DocThorMetaDataItem();
metaDataItem.setName("Meta1");
metaDataItem.setContent("Content1");
List<DocThorMetaDataItem> metaData = new ArrayList<>();
metaData.add(metaDataItem);
// Creating tax keys
TaxKeysBaseDataItem taxKey1 = new TaxKeysBaseDataItem();
taxKey1.setAgency("Airfreight Export");
taxKey1.setDescription("19% Vorsteuer");
taxKey1.setSubType("Vorsteuer");
taxKey1.setTreeView("Tax Keys (Steuerschlüssel)");
taxKey1.setPercentage(19.0);
taxKey1.setType("V");
taxKey1.setReverseCharge(false);
TaxKeysBaseDataItem taxKey2 = new TaxKeysBaseDataItem();
taxKey2.setAgency("Airfreight Export");
taxKey2.setDescription("19% Umsatzsteuer");
taxKey2.setSubType("Umsatzsteuer");
taxKey2.setTreeView("Tax Keys (Steuerschlüssel)");
taxKey2.setPercentage(19.0);
taxKey2.setType("U");
taxKey2.setReverseCharge(false);
List<TaxKeysBaseDataItem> taxKeys = new ArrayList<>();
taxKeys.add(taxKey1);
taxKeys.add(taxKey2);
// Creating TaxKeysBaseData
TaxKeysBaseData taxKeysBaseData = new TaxKeysBaseData();
taxKeysBaseData.setMessage(message);
taxKeysBaseData.setMetaData(metaData);
taxKeysBaseData.setTaxKeys(taxKeys);
// Converting to JSON
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(taxKeysBaseData);
System.out.println(json);
}
}
Python classes (draft)
class TaxKeysBaseData:
def __init__(self):
self.Message = DocThorMessage()
self.MetaData = []
self.TaxKeys = []
class DocThorMessage:
def __init__(self):
self.SenderId = None
self.ReceiverId = None
self.ClientId = None
self.MessageId = None
self.MessageDate = None
self.MessageFunction = None
self.Schema = None
self.Namespace = None
self.DocType = None
class DocThorMetaDataItem:
def __init__(self):
self.Name = None
self.Content = None
class TaxKeysBaseDataItem:
def __init__(self):
self.Agency = None
self.Description = None
self.SubType = None
self.TreeView = None
self.Percentage = None
self.Type = None
self.ReverseCharge = None
Python example
import json # Create TaxKeysBaseData instance tax_keys_data = TaxKeysBaseData() # Fill in the data tax_keys_data.Message.SenderId = "ABC Company" tax_keys_data.Message.ReceiverId = "CargoBytes" tax_keys_data.Message.ClientId = "XYZ Corp" tax_keys_data.Message.MessageId = "123456" tax_keys_data.Message.MessageDate = "2024-02-09T08:00:00Z" tax_keys_data.Message.MessageFunction = "FunctionABC" tax_keys_data.Message.Schema = "SchemaXYZ" tax_keys_data.Message.Namespace = "NamespaceABC" tax_keys_data.Message.DocType = "InvoiceLogistic" # Add MetaData item meta_data_item = DocThorMetaDataItem() meta_data_item.Name = "Meta1" meta_data_item.Content = "Content1" tax_keys_data.MetaData.append(meta_data_item) # Add TaxKeys items tax_keys_item1 = TaxKeysBaseDataItem() tax_keys_item1.Agency = "Airfreight Export" tax_keys_item1.Description = "19% Vorsteuer" tax_keys_item1.SubType = "Vorsteuer" tax_keys_item1.TreeView = "Tax Keys (Steuerschlüssel)" tax_keys_item1.Percentage = 19.0 tax_keys_item1.Type = "V" tax_keys_item1.ReverseCharge = False tax_keys_item2 = TaxKeysBaseDataItem() tax_keys_item2.Agency = "Airfreight Export" tax_keys_item2.Description = "19% Umsatzsteuer" tax_keys_item2.SubType = "Umsatzsteuer" tax_keys_item2.TreeView = "Tax Keys (Steuerschlüssel)" tax_keys_item2.Percentage = 19.0 tax_keys_item2.Type = "U" tax_keys_item2.ReverseCharge = False tax_keys_data.TaxKeys.extend([tax_keys_item1, tax_keys_item2]) # Convert to JSON json_data = json.dumps(tax_keys_data.__dict__, indent=4) print(json_data)
Javascript classes (draft)
class TaxKeysBaseData {
constructor() {
this.Message = new DocThorMessage();
this.MetaData = [];
this.TaxKeys = [];
}
}
class DocThorMessage {
constructor() {
this.SenderId = null;
this.ReceiverId = null;
this.ClientId = null;
this.MessageId = null;
this.MessageDate = null;
this.MessageFunction = null;
this.Schema = null;
this.Namespace = null;
this.DocType = null;
}
}
class DocThorMetaDataItem {
constructor() {
this.Name = null;
this.Content = null;
}
}
class TaxKeysBaseDataItem {
constructor() {
this.Agency = null;
this.Description = null;
this.SubType = null;
this.TreeView = null;
this.Percentage = null;
this.Type = null;
this.ReverseCharge = null;
}
}
Javascript example
// Create TaxKeysBaseData instance const taxKeysData = new TaxKeysBaseData(); // Fill in the data taxKeysData.Message.SenderId = "ABC Company"; taxKeysData.Message.ReceiverId = "CargoBytes"; taxKeysData.Message.ClientId = "XYZ Corp"; taxKeysData.Message.MessageId = "123456"; taxKeysData.Message.MessageDate = "2024-02-09T08:00:00Z"; taxKeysData.Message.MessageFunction = "FunctionABC"; taxKeysData.Message.Schema = "SchemaXYZ"; taxKeysData.Message.Namespace = "NamespaceABC"; taxKeysData.Message.DocType = "InvoiceLogistic"; // Add MetaData item const metaDataItem = new DocThorMetaDataItem(); metaDataItem.Name = "Meta1"; metaDataItem.Content = "Content1"; taxKeysData.MetaData.push(metaDataItem); // Add TaxKeys items const taxKeysItem1 = new TaxKeysBaseDataItem(); taxKeysItem1.Agency = "Airfreight Export"; taxKeysItem1.Description = "19% Vorsteuer"; taxKeysItem1.SubType = "Vorsteuer"; taxKeysItem1.TreeView = "Tax Keys (Steuerschlüssel)"; taxKeysItem1.Percentage = 19.0; taxKeysItem1.Type = "V"; taxKeysItem1.ReverseCharge = false; const taxKeysItem2 = new TaxKeysBaseDataItem(); taxKeysItem2.Agency = "Airfreight Export"; taxKeysItem2.Description = "19% Umsatzsteuer"; taxKeysItem2.SubType = "Umsatzsteuer"; taxKeysItem2.TreeView = "Tax Keys (Steuerschlüssel)"; taxKeysItem2.Percentage = 19.0; taxKeysItem2.Type = "U"; taxKeysItem2.ReverseCharge = false; taxKeysData.TaxKeys.push(taxKeysItem1, taxKeysItem2); // Convert to JSON const jsonData = JSON.stringify(taxKeysData, null, 2); console.log(jsonData);
C# classes with async and sync cile functions and serialization and deserialization functions (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; }
}
}
c# Example
TaxKeysBaseData taxKeysData = new TaxKeysBaseData
{
Message = new DocThorMessage
{
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 = new List<DocThorMetaDataItem>
{
new DocThorMetaDataItem
{
Name = "Meta1",
Content = "Content1"
}
},
TaxKeys = new List<TaxKeysBaseDataItem>
{
new TaxKeysBaseDataItem
{
Agency = "Airfreight Export",
Value = "19V",
Description = "19% Vorsteuer",
SubType = "Vorsteuer",
TreeView = "Tax Keys (Steuerschlüssel)",
Percentage = 19.0m,
Type = "V",
ReverseCharge = false
},
new TaxKeysBaseDataItem
{
Agency = "Airfreight Export",
Value = "19U",
Description = "19% Umsatzsteuer",
SubType = "Umsatzsteuer",
TreeView = "Tax Keys (Steuerschlüssel)",
Percentage = 19.0m,
Type = "U",
ReverseCharge = false
}
}
};
string json = JsonConvert.SerializeObject(taxKeysData, Formatting.Indented);
Console.WriteLine(json);
