{
	"description": "CAT Billing Trade Details - On Exchange",
	"version": "1.2",

	"dataTypes": [{
			"dataType": "Price",
			"JSONDataType": "NUMBER",
			"precision": 23,
			"scale": 9

		}, 
		{

			"dataType": "Date",
			"JSONDataType": "STRING",
			"maxLength": 10
		}, 
		{

			"dataType": "Timestamp",
			"JSONDataType": [{
					"JSONDataType": "STRING",
					"maxLength": 25
				}
			]
		}, 
		{
			"dataType": "Numeric",
			"JSONDataType": "NUMBER",
			"precision": 23,
			"scale": 9
		} 
		, 
		{

			"dataType": "Member Alias",
			"JSONDataType": "STRING",
			"maxLength": 8
			

		}, {
			"dataType": "Exchange ID",
			"JSONDataType": "STRING",
			"maxLength": 10

		}, {
			"dataType": "Unsigned",
			"JSONDataType": "NUMBER",
			"precision": 23,
			"scale": 9

		}

	],

	"RecordTypeDefinitions": [{
			"fields": 
			[{
			"name": "recType",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "1"
				},{
					"name": "versionNumber",
					"dataType": "Text (10)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "2"
				},
				{
					"name": "eventTimestamp",
					"dataType": "Timestamp",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "3"
				}, 
				{
					"name": "tradeDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "4"
				}, 
				{
					"name": "executionDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "5"
				}, 
				{
					"name": "eventReportDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "6"
				}, {
					"name": "exchange",
					"dataType": "Exchange ID",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "7"
				}, {
					"name": "side",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "8"
				}, {
					"name": "symbol",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "9"
				}
				
				, {
					"name": "member",
					"dataType": "Member Alias",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "10"
				},  {
					"name": "memberCRD",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "11"
				}, {
					"name": "executionQuantity",
					"dataType": "Unsigned",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "12"
				}, {
					"name": "executionPrice",
					"dataType": "Price",
					"JSONDataType": "NUMBER",
					"required": "Optional",
					"position": "13"
				},  {
					"name": "tradeID",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "14"
				},  {
					"name": "refTradeID",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "15"
				},  {
					"name": "quoteID",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "16"
				},  {
					"name": "routedOrderID",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "17"
				},  {
					"name": "session",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "18"
				},  {
					"name": "routingParty",
					"dataType": "Text (8)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "19"
				}, {
					"name": "mootLinkIdentifier",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "20"
				}, 
				{
					"name": "eventType",
					"dataType": "Text (5)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "21"
				},				{
					"name": "optionMultiplier",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Optional",
					"position": "22"
				},  {
					"name": "executedEquivalentShares",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "23"
				},  {
					"name": "netExecutedEquivalentShares",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Optional",
					"position": "24"
				}
				
			]
		}
     ]
}