TaxPro GSP - eInvoiceAPI
User Guide
 
 
×
Menu
Index
    • JSON Schema of Generate IRN

    JSON Schema of Generate IRN

     
     
       
     {
         "$schema": "http://json-schema.org/draft-07/schema#",
         "Title": "GST-India Invoice Document ",
         "Description": "GST Invoice format for IRN Generation in INDIA",
         "Version": {
              "type": "string",
              "minLength": 4,
              "maxLength": 10,
              "description": "Version of the schema"
         },
         "Irn": {
              "type": "string",
              "minLength": 64,
              "maxLength": 64,
              "description": "Invoice Reference Number"
         },
         "TranDtls": {
              "type": "object",
              "properties": {
                   "TaxSch": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 10,
                        "enum": [
                             "GST"
                        ],
                        "description": "GST- Goods and Services Tax Scheme"
                   },
                   "SupTyp": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 10,
                        "enum": [
                             "B2B",
                             "SEZWP",
                             "SEZWOP",
                             "EXPWP",
                             "EXPWOP",
                             "DEXP"
                        ],
                        "description": "Type of Supply: B2B-Business to Business, SEZWP - SEZ with payment, SEZWOP - SEZ without payment, EXPWP - Export with Payment, EXPWOP - Export without payment,DEXP - Deemed Export"
                   },
                   "RegRev": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1,
                        "enum": [
                             "Y", "N"
                        ],
                        "description": "Y- whether the tax liability is payable under reverse charge"
                   },
                   "EcmGstin": {
                        "type": "string",
                        "minLength": 15,
                        "maxLength": 15,
                        "pattern": "([0-9]{2}[0-9A-Z]{13})",
                        "description": "GSTIN of e-Commerce operator"
                   }
              },
              "required": [
                   "TaxSch",
                   "SupTyp"
              ]
         },
         "DocDtls": {
              "type": "object",
              "properties": {
                   "Typ": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 11,
                        "enum": [
                             "INV", "CRN", "DBN"
                        ],
                        "description": "Document Type: INVOICE, CREDIT NOTE, DEBIT NOTE"
                   },
                   "No": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16,
                        "pattern": "^([A-Z1-9]{1}[A-Z0-9/-]{0,15})$",
                        "description": "Document Number"
                   },
                   "Dt": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 10,
                        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                        "description": "Document Date"
                   }
              },
              "required": [
                   "Typ",
                   "No",
                   "Dt"
              ]
         },
         "SellerDtls": {
              "type": "object",
              "properties": {
                   "Gstin": {
                        "type": "string",
                        "minLength": 15,
                        "maxLength": 15,
                        "pattern": "([0-9]{2}[0-9A-Z]{13})",
                        "description": "GSTIN of supplier"
                   },
                   "LglNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Legal Name"
                   },
                   "TrdNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Tradename"
                   },
                   "Addr1": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Building/Flat no, Road/Street"
                   },
                   "Addr2": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 2 of the supplier (Floor no., Name of the premises/building)"
                   },
                   "Loc": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 50,
                        "description": "Location"
                   },
                   "Pin": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6,
                        "description": "Pincode"
                   },
                   "State": {
                        "type": "string",
                        "minimum": 3,
                        "maximum": 50,
                        "description": "State Name"
                   },
                   "Ph": {
                        "type": "String",
                        "minLength": 10,
                        "maxLength": 12,
                        "description": "Phone or Mobile No."
                   },
                   "Em": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 100,
                        "description": "Email-Id"
                   }
              },
              "required": [
                   "Gstin",
                   "LglNm",
                   "Addr1",
                   "Loc",
                   "Pin",
                   "State"
              ]
         },
         "BuyerDtls": {
              "type": "object",
              "properties": {
                   "Gstin": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 15,
                        "pattern": "^(([0-9]{2}[0-9A-Z]{13})|URP)$",
                        "description": "GSTIN of buyer , URP if exporting"
                   },
                   "LglNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Legal Name"
                   },
                   "TrdNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Trade Name"
                   },
                   "Pos": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2,
                        "description": "State code of Place of supply. If POS lies outside the country, a the code shall be 96."
                   },
                   "Addr1": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 1 of the buyer. (Building/Flat no., Road/Street etc.)"
                   },
                   "Addr2": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 2 of the buyer.(Floor no., Name of the premises/ building)"
                   },
                   "Loc": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Location"
                   },
                   "Pin": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6,
                        "description": "Pincode"
                   },
                   "State": {
                        "type": "string",
                        "minimum": 3,
                        "maximum": 50,
                        "description": "State Name"
                   },
                   "Ph": {
                        "type": "String",
                        "minLength": 10,
                        "maxLength": 12,
                        "description": "Phone or Mobile No."
                   },
                   "Em": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 100,
                        "description": "Email-Id"
                   }
              },
              "required": [
                   "Gstin",
                   "LglNm",
                   "Pos",
                   "Addr1",
                   "Loc"
              ]
         },
         "DispDtls": {
              "type": "object",
              "properties": {
                   "Nm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 60,
                        "description": "Name of the company from which the goods are dispatched"
                   },
                   "Addr1": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 1 of the entity from which goods are dispatched.(Building/Flat no.Road/Street etc.)"
                   },
                   "Addr2": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 2 of the entity from which goods are dispatched. (Floor no., Name of the premises/building)"
                   },
                   "Loc": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Location"
                   },
                   "Pin": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6,
                        "description": "Pincode"
                   },
                   "Stcd": {
                        "type": "string",
                        "minimum": 1,
                        "maximum": 2,
                        "description": "State Code"
                   }
              },
              "required": [
                   "Nm",
                   "Addr1",
                   "Loc",
                   "Pin",
                   "Stcd"
              ]
         },
         "ShipDtls": {
              "type": "object",
              "properties": {
                   "Gstin": {
                        "type": "string",
                        "maxLength": 15,
                        "minLength": 3,
                        "pattern": "^(([0-9]{2}[0-9A-Z]{13})|URP)$",
                        "description": "GSTIN of entity to whom goods are shipped"
                   },
                   "LglNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 60,
                        "description": "Legal Name"
                   },
                   "TrdNm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 60,
                        "description": "Trade Name"
                   },
                   "Addr1": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address1 of the entity to whom the supplies are shipped to. (Building/Flat no., Road/Street etc.)"
                   },
                   "Addr2": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Address 2 of the entity to whom the supplies are shipped to. (Floor no., Name of the premises/building)."
                   },
                   "Loc": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Place (City,Town,Village) entity to whom the supplies are shipped to."
                   },
                   "Pin": {
                        "type": "string",
                        "minLength": 6,
                        "maxLength": 6,
                        "description": "Pincode"
                   },
                   "Stcd": {
                        "type": "string",
                        "minimum": 1,
                        "maximum": 2,
                        "description": "State Code to which supplies are shipped to."
                   }
              },
              "required": [
                   "LglNm",
                   "Addr1",
                   "Loc",
                   "Pin",
                   "Stcd"
              ]
         },
         "ItemList": {
              "type": "array",
              "Item": [{
                   "type": "object",
                   "properties": {
                        "SlNo": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 6,
                             "description": "Serial No. of Item"
                        },
                        "PrdDesc": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 300,
                             "description": "Product Description"
                        },
                        "IsServc": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 1,
                             "enum": [
                                  "Y", "N"
                             ],
                             "description": "Specify whether the supply is service or not. Specify Y-for Service"
                        },
                        "HsnCd": {
                             "type": "string",
                             "minLength": 4,
                             "maxLength": 8,
                             "description": "HSN Code"
                        },
                        "BchDtls": {
                             "type": "object",
                             "properties": {
                                  "Nm": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "description": "Batch name"
                                  },
                                  "ExpDt": {
                                       "type": "string",
                                       "maxLength": 10,
                                       "minLength": 10,
                                       "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                                       "description": "Batch Expiry Date"
                                  },
                                  "WrDt": {
                                       "type": "string",
                                       "maxLength": 10,
                                       "minLength": 10,
                                       "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                                       "description": "Warranty Date"
                                  }
                             },
                             "required": [
                                  "Nm"
                             ]
                        },
                        "Barcde": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 30,
                             "description": "Bar Code"
                        },
                        "Qty": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 20,
                             "description": "Quantity"
                        },
                        "FreeQty": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 20,
                             "description": "Free Quantity"
                        },
                        "Unit": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 8,
                             "enum": [
                                  "BAG",
                                  "BAL",
                                  "BDL",
                                  "BKL",
                                  "BOU",
                                  "BOX",
                                  "BTL",
                                  "BUN",
                                  "CAN",
                                  "CBM",
                                  "CCM",
                                  "CMS",
                                  "CTN",
                                  "DOZ",
                                  "DRM",
                                  "GGK",
                                  "GMS",
                                  "GRS",
                                  "GYD",
                                  "KGS",
                                  "KLR",
                                  "KME",
                                  "LTR",
                                  "MTR",
                                  "MLT",
                                  "MTS",
                                  "NOS",
                                  "OTH",
                                  "PAC",
                                  "PCS",
                                  "PRS",
                                  "QTL",
                                  "ROL",
                                  "SET",
                                  "SQF",
                                  "SQM",
                                  "SQY",
                                  "TBS",
                                  "TGM",
                                  "THD",
                                  "TON",
                                  "TUB",
                                  "UGS",
                                  "UNT",
                                  "YDS"
                             ],
                             "description": "Unit"
                        },
                        "UnitPrice": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Unit Price - Rate"
                        },
                        "TotAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Gross Amount Amount (Unit Price * Quantity)"
                        },
                        "Discount": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 9999999999.99,
                             "description": "Discount"
                        },
                        "PreTaxVal": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 9999999999999.99,
                             "description": "Pre tax value"
                        },
                        "AssAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 9999999999999.99,
                             "description": "Taxable Value (Total Amount -Discount)"
                        },
                        "GstRt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 999.999,
                             "description": "The GST rate, represented as percentage that applies to the invoiced item. It will IGST rate only."
                        },
                        "IgstAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": " Amount of IGST payable."
                        },
                        "CgstAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": " Amount of CGST payable."
                        },
                        "SgstAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": " Amount of SGST payable."
                        },
                        "CesRt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Cess Rate"
                        },
                        "CesAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Cess Amount(Advalorem) on basis of rate and quantity of item"
                        },
                        "CesNonAdvlAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Cess Non-Advol Amount"
                        },
                        "StateCesRt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "State CESS Rate"
                        },
                        "StateCesAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "State CESS Amount"
                        },
                        "StateCesNonAdvlAmt": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "State CESS Non Adval Amount"
                        },
                        "OthChrg": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Other Charges"
                        },
                        "TotItemVal": {
                             "type": "number",
                             "minimum": 0,
                             "maximum": 99999999999.99,
                             "description": "Total Item Value = Assessable Amount + CGST Amt + SGST Amt + Cess Amt + CesNonAdvlAmt + StateCesAmt + StateCesNonAdvlAmt+Otherchrg"
                        },
                        "OrdLineRef": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 50,
                             "description": "Order line referencee"
                        },
                        "OrgCntry": {
                             "type": "string",
                             "minLength": 2,
                             "maxLength": 2,
                             "description": "Orgin Country"
                        },
                        "PrdSlNo": {
                             "type": "string",
                             "minLength": 1,
                             "maxLength": 15,
                             "description": "Serial number in case of each item having a unique number."
                        },
                        "AttribDtls": {
                             "type": "Array",
                             "Attribute": [{
                                  "type": "object",
                                  "properties": {
                                       "Nm": {
                                            "type": "string",
                                            "minLength": 3,
                                            "maxLength": 100,
                                            "description": "Attribute details of the item"
                                       },
                                       "Val": {
                                            "type": "string",
                                            "minLength": 3,
                                            "maxLength": 100,
                                            "description": "Attribute value of the item"
                                       }
                                  }
                             }]
                        }
                   },
                   "required": [
                        "SlNo",
                        "IsServc",
                        "HsnCd",
                        "UnitPrice",
                        "TotAmt",
                        "AssAmt",
                        "GstRt",
                        "TotItemVal"
                   ]
              }]
         },
         "ValDtls": {
              "type": "object",
              "properties": {
                   "AssVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 9999999999999.99,
                        "description": "Total Assessable value of all items"
                   },
                   "CgstVal": {
                        "type": "number",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "description": "Total CGST value of all items"
                   },
                   "SgstVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 99999999999.99,
                        "description": "Total SGST value of all items"
                   },
                   "IgstVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 99999999999.99,
                        "description": "Total IGST value of all items"
                   },
                   "CesVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 99999999999.99,
                        "description": "Total CESS value of all items"
                   },
                   "StCesVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 99999999999.99,
                        "description": "Total State CESS value of all items"
                   },
                   "RndOffAmt": {
                        "type": "number",
                        "minimum": -999,
                        "maximum": 9999.99,
                        "description": "Rounded off amount"
                   },
                   "TotInvVal": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 9999999999999.99,
                        "description": "Final Invoice value "
                   },
                   "TotInvValFc": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 99999999999.99,
                        "description": "Final Invoice value in Additional Currency"
                   }
              },
              "required": [
                   "AssVal",
                   "TotInvVal"
              ]
         },
         "PayDtls": {
              "type": "object",
              "properties": {
                   "Nm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Payee Name"
                   },
                   "AccDet": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 18,
                        "description": "Bank account number of payee"
                   },
                   "Mode": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 18,
                        "description": "Mode of Payment: Cash, Credit, Direct Transfer"
                   },
                   "FinInsBr": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 11,
                        "description": "Branch or IFSC code"
                   },
                   "PayTerm": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Terms of Payment"
                   },
                   "PayInstr": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Payment Instruction"
                   },
                   "CrTrn": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Credit Transfer"
                   },
                   "DirDr": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Direct Debit"
                   },
                   "CrDay": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 9999,
                        "description": "Credit Days"
                   },
                   "PaidAmt": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 9999999999.99,
                        "description": "The sum of amount which have been paid in advance."
                   },
                   "PaymtDue": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 9999999999.99,
                        "description": "Outstanding amount that is required to be paid."
                   }
              }
         },
         "RefDtls": {
              "type": "object",
              "properties": {
                   "InvRm": {
                        "type": "string",
                        "maxLength": 100,
                        "minLength": 3,
                        "pattern": "^[0-9A-Za-z/-]{3,100}$",
                        "description": "Remarks/Note"
                   },
                   "InvStDt": {
                        "type": "string",
                        "maxLength": 10,
                        "minLength": 10,
                        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                        "description": "Invoice Period Start Date"
                   },
                   "InvEndDt": {
                        "type": "string",
                        "maxLength": 10,
                        "minLength": 10,
                        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                        "description": "Invoice Period End Date"
                   },
                   "PrecDocDtls": {
                        "type": "Array",
                        "PrecDocument": [{
                             "type": "object",
                             "properties": {
                                  "InvNo": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 16,
                                       "pattern": "^[1-9A-Za-z]{1}[0-9A-Za-z/-]{3,15}$",
                                       "description": "Reference of original invoice, if any."
                                  },
                                  "InvDt": {
                                       "type": "string",
                                       "maxLength": 10,
                                       "minLength": 10,
                                       "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                                       "description": "Date of preceding invoice"
                                  },
                                  "OthRefNo": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "description": "Other Reference"
                                  }
                             },
                             "required": [
                                  "InvNo",
                                  "InvDt"
                             ]
                        }]
                   },
                   "ContrDtls": {
                        "type": "Array",
                        "Contract": [{
                             "type": "object",
                             "properties": {
                                  "RecAdvRefr": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "pattern": "^([0-9A-Z-a-z/]){3,20}$",
                                       "description": "Receipt Advice No."
                                  },
                                  "RecAdvDt": {
                                       "type": "string",
                                       "minLength": 10,
                                       "maxLength": 10,
                                       "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                                       "description": "Date of receipt advice"
                                  },
                                  "TendRefr": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "pattern": "^([0-9A-Z-a-z/]){3,20}$",
                                       "description": "Lot/Batch Reference No."
                                  },
                                  "ContrRefr": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "pattern": "^([0-9A-Z-a-z/]){3,20}$",
                                       "description": "Contract Reference Number"
                                  },
                                  "ExtRefr": {
                                       "type": "string",
                                       "minLength": 3,
                                       "maxLength": 20,
                                       "pattern": "^([0-9A-Z-a-z/]){3,20}$",
                                       "description": "Any other reference"
                                  },
                                  "ProjRefr": {
                                       "type": "string",
                                       "maxLength": 20,
                                       "minLength": 3,
                                       "pattern": "^([0-9A-Z-a-z/]){3,20}$",
                                       "description": "Project Reference Number"
                                  },
                                  "PORefr": {
                                       "type": "string",
                                       "maxLength": 16,
                                       "minLength": 3,
                                       "pattern": "^([0-9A-Z-a-z/]){3,16}$",
                                       "description": "Vendor PO Reference Number"
                                  },
                                  "PORefDt": {
                                       "type": "string",
                                       "minLength": 10,
                                       "maxLength": 10,
                                       "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                                       "description": "Vendor PO Reference date"
                                  }
                             }
                        }]
                   }
              },
              "required": [
                   "InvStDt",
                   "InvEndDt"
              ]
         },
         "AddlDocDtls": {
              "type": "Array",
              "AddlDocument": [{
                   "type": "object",
                   "properties": {
                        "Url": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 100,
                             "description": "Supporting document URL"
                        },
                        "Docs": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 1000,
                             "description": "Supporting document in Base64 Format"
                        },
                        "Info": {
                             "type": "string",
                             "minLength": 3,
                             "maxLength": 1000,
                             "description": "Any additional information"
                        }
                   }
              }]
         },
         "ExpDtls": {
              "type": "object",
              "properties": {
                   "ShipBNo": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 20,
                        "description": "Shipping Bill No."
                   },
                   "ShipBDt": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 10,
                        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                        "description": "Shipping Bill Date"
                   },
                   "Port": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 10,
                        "pattern": "^[0-9A-Za-z]{2,10}$",
                        "description": "Port Code"
                   },
                   "RefClm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1,
                        "description": "Options for supplier for refund. Y/N"
                   },
                   "ForCur": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 16,
                        "description": "Additional Currency Code"
                   },
                   "CntCode": {
                        "type": "string",
                        "minLength": 2,
                        "maxLength": 2,
                        "description": "Country Code"
                   }
              }
         },
         "EwbDtls": {
              "type": "object",
              "properties": {
                   "TransId": {
                        "type": "string",
                        "minLength": 15,
                        "maxLength": 15,
                        "description": "Transin/GSTIN"
                   },
                   "TransName": {
                        "type": "string",
                        "minLength": 3,
                        "maxLength": 100,
                        "description": "Name of the transporter"
                   },
                   "TransMode": {
                        "type": "string",
                        "maxLength": 1,
                        "minLength": 1,
                        "enum": ["1", "2", "3", "4"],
                        "description": "Mode of transport (Road-1, Rail-2, Air-3, Ship-4)"
                   },
                   "Distance": {
                        "type": "string",
                        "maxLength": 1,
                        "minLength": 4,
                        "description": "Distance between source and destination PIN codes"
                   },
                   "TransDocNo": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 15,
                        "pattern": "^([0-9A-Z-a-z/]){1,15}$",
                        "description": "Tranport Document Number"
                   },
                   "TransDocDt": {
                        "type": "string",
                        "minLength": 10,
                        "maxLength": 10,
                        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                        "description": "Transport Document Date"
                   },
                   "VehNo": {
                        "type": "string",
                        "minLength": 4,
                        "maxLength": 20,
                        "description": "Vehicle Number"
                   },
                   "VehType": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1,
                        "enum": ["O", "R"],
                        "description": "Whether O-ODC or R-Regular "
                   }
              },
              "required": [
                   "Distance",
                   "TransMode"
              ]
         },
         "required": [
              "Version",
              "TranDtls",
              "DocDtls",
              "SellerDtls",
              "BuyerDtls",
              "ItemList",
              "ValDtls"
         ]
    }