Sunday, September 20, 2020

E-INVOICE IRN Generation Format

 E-INVOICE IMP DOC :


 {
	"$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": 1,
		"maxLength": 6,
		"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"
			},
			"IgstOnIntra": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"enum": [
					"Y",
					"N"
				],
				"description": "Y- indicates the supply is intra state but chargeable to IGST"
			}
		},
		"required": [
			"TaxSch",
			"SupTyp"
		]
	},
	"DocDtls": {
		"type": "object",
		"properties": {
			"Typ": {
				"type": "string",
				"minLength": 3,
				"maxLength": 3,
				"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": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"description": "State Code of the supplier. Refer the master"
			},
			"Ph": {
				"type": "String",
				"minLength": 6,
				"maxLength": 12,
				"description": "Phone or Mobile No."
			},
			"Em": {
				"type": "string",
				"minLength": 6,
				"maxLength": 100,
				"description": "Email-Id"
			}
		},
		"required": [
			"Gstin",
			"LglNm",
			"Addr1",
			"Loc",
			"Pin",
			"Stcd"
		]
	},
	"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, 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": " number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"description": "State Code of the buyer. Refer the master"
			},
			"Ph": {
				"type": "String",
				"minLength": 6,
				"maxLength": 12,
				"description": "Phone or Mobile No."
			},
			"Em": {
				"type": "string",
				"minLength": 6,
				"maxLength": 100,
				"description": "Email-Id"
			}
		},
		"required": [
			"Gstin",
			"LglNm",
			"Pos",
			"Addr1",
			"Loc",
			"Stcd"
		]
	},
	"DispDtls": {
		"type": "object",
		"properties": {
			"Nm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"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": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"description": "State Code. Refer the master"
			}
		},
		"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": 100,
				"description": "Legal Name"
			},
			"TrdNm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"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": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"description": "State Code to which supplies are shipped to. Refer the master"
			}
		},
		"required": [
			"LglNm",
			"Addr1",
			"Loc",
			"Pin",
			"Stcd"
		]
	},
	"ItemList":[{
			"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. Refer Master"
				},
				"Barcde": {
					"type": "string",
					"minLength": 3,
					"maxLength": 30,
					"description": "Bar Code"
				},
				"Qty": {
					"type": "number",
					"minimum": 0,
					"maximum": 9999999999.999,
					"description": "Quantity"
				},
				"FreeQty": {
					"type": "number",
					"minimum": 0,
					"maximum": 9999999999.999,
					"description": "Free Quantity"
				},
				"Unit": {
					"type": "string",
					"minLength": 3,
					"maxLength": 8,
					"description": "Unit. Refer the master"
				},
				"UnitPrice": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.999,
					"description": "Unit Price - Rate"
				},
				"TotAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Gross Amount (Unit Price * Quantity)"
				},
				"Discount": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Discount"
				},
				"PreTaxVal": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Pre tax value"
				},
				"AssAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.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": 999999999999.99,
					"description": " Amount of IGST payable."
				},
				"CgstAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": " Amount of CGST payable."
				},
				"SgstAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": " Amount of SGST payable."
				},
				"CesRt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999.999,
					"description": "Cess Rate"
				},
				"CesAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Cess Amount(Advalorem) on basis of rate and quantity of item"
				},
				"CesNonAdvlAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Cess Non-Advol Amount"
				},
				"StateCesRt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999.999,
					"description": "State CESS Rate"
				},
				"StateCesAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "State CESS Amount"
				},
				"StateCesNonAdvlAmt": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "State CESS Non Adval Amount"
				},
				"OthChrg": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.99,
					"description": "Other Charges"
				},
				"TotItemVal": {
					"type": "number",
					"minimum": 0,
					"maximum": 999999999999.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 reference"
				},
				"OrgCntry": {
					"type": "string",
					"minLength": 2,
					"maxLength": 2,
					"description": "Origin Country. Refer Master"
				},
				"PrdSlNo": {
					"type": "string",
					"minLength": 1,
					"maxLength": 20,
					"description": "Serial number in case of each item having a unique number."
				},
				"BchDtls": {
					"type": "object",
					"properties": {
						"Nm": {
							"type": "string",
							"minLength": 3,
							"maxLength": 20,
							"description": "Batch number"
						},
						"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"
					]
				},
				"AttribDtls":[{
						"type": "object",
						"properties": {
							"Nm": {
								"type": "string",
								"minLength": 1,
								"maxLength": 100,
								"description": "Attribute name of the item"
							},
							"Val": {
								"type": "string",
								"minLength": 1,
								"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": 99999999999999.99,
				"description": "Total Assessable value of all items"
			},
			"CgstVal": {
				"type": "number",
				"maximum": 99999999999999.99,
				"minimum": 0,
				"description": "Total CGST value of all items"
			},
			"SgstVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total SGST value of all items"
			},
			"IgstVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total IGST value of all items"
			},
			"CesVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total CESS value of all items"
			},
			"StCesVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total State CESS value of all items"
			},
			"Discount": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Discount"
			},
			"OthChrg": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Other Charges"
			},
			"RndOffAmt": {
				"type": "number",
				"minimum": -99.99,
				"maximum": 99.99,
				"description": "Rounded off amount"
			},
			"TotInvVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Final Invoice value "
			},
			"TotInvValFc": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Final Invoice value in Additional Currency"
			}
		},
		"required": [
			"AssVal",
			"TotInvVal"
		]
	},
	"PayDtls": {
		"type": "object",
		"properties": {
			"Nm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"description": "Payee Name"
			},
			"AccDet": {
				"type": "string",
				"minLength": 1,
				"maxLength": 18,
				"description": "Bank account number of payee"
			},
			"Mode": {
				"type": "string",
				"minLength": 1,
				"maxLength": 18,
				"description": "Mode of Payment: Cash, Credit, Direct Transfer"
			},
			"FinInsBr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 11,
				"description": "Branch or IFSC code"
			},
			"PayTerm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"description": "Terms of Payment"
			},
			"PayInstr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"description": "Payment Instruction"
			},
			"CrTrn": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"description": "Credit Transfer"
			},
			"DirDr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"description": "Direct Debit"
			},
			"CrDay": {
				"type": "number",
				"minimum": 0,
				"maximum": 9999,
				"description": "Credit Days"
			},
			"PaidAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "The sum of amount which have been paid in advance."
			},
			"PaymtDue": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.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"
			},
			"DocPerdDtls": {
				"type": "object",
				"properties": {
					"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"
					}
				},
				"required": [
					" InvStDt ",
					" InvEndDt "
				]
			},
			"PrecDocDtls": [{
					"type": "object",
					"properties": {
						"InvNo": {
							"type": "string",
							"minLength": 1,
							"maxLength": 16,
							"pattern": "^[1-9A-Z]{1}[0-9A-Z/-]{1,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": 1,
							"maxLength": 20,
							"description": "Other Reference"
						}
					}
				}],
				"required": [
					"InvNo",
					"InvDt"
				],
			"ContrDtls": [{
					"type": "object",
					"properties": {
						"RecAdvRefr": {
							"type": "string",
							"minLength": 1,
							"maxLength": 20,
							"pattern": "^([0-9A-Za-z/-]){1,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": 1,
							"maxLength": 20,
							"pattern": "^([0-9A-Za-z/-]){1,20}$",
							"description": "Lot/Batch Reference No."
						},
						"ContrRefr": {
							"type": "string",
							"minLength": 1,
							"maxLength": 20,
							"pattern": "^([0-9A-Za-z/-]){1,20}$",
							"description": "Contract Reference Number"
						},
						"ExtRefr": {
							"type": "string",
							"minLength": 1,
							"maxLength": 20,
							"pattern": "^([0-9A-Za-z/-]){1,20}$",
							"description": "Any other reference"
						},
						"ProjRefr": {
							"type": "string",
							"minLength": 1,
							"maxLength": 20,
							"pattern": "^([0-9A-Za-z/-]){1,20}$",
							"description": "Project Reference Number"
						},
						"PORefr": {
							"type": "string",
							"minLength": 1,
							"maxLength": 16,
							"pattern": "^([0-9A-Za-z/-]){1,16}$",
							"description": " 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": "PO Reference date"
						}
					}
				}]
		}
	},
	"AddlDocDtls": [{
			"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": 1,
				"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. Refer the master"
			},
			"RefClm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"description": "Claiming Refund. Y/N"
			},
			"ForCur": {
				"type": "string",
				"minLength": 3,
				"maxLength": 16,
				"description": "Additional Currency Code. Refer the master"
			},
			"CntCode": {
				"type": "string",
				"minLength": 2,
				"maxLength": 2,
				"description": "Country Code. Refer the master"
			},
			"ExpDuty": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Export Duty"
			}
		}
	},
	"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": "number",
				"minimum": 1,
				"maximum": 9999,
				"description": " Distance between source and destination PIN codes"
			},
			"TransDocNo": {
				"type": "string",
				"minLength": 1,
				"maxLength": 15,
				"pattern": "^([0-9A-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"
		]
	},
	"required": [
		"Version",
		"TranDtls",
		"DocDtls",
		"SellerDtls",
		"BuyerDtls",
		"ItemList",
		"ValDtls"
	]
} 

Validations