{
	"description": "CAT Billing Trade Details - Off-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": "executionTimestamp",
					"dataType": "Timestamp",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "3"
				},
				{
					"name": "tradeReportTimestamp",
					"dataType": "Timestamp",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "4"
				}
				, 
				{
					"name": "tradeReportDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "5"
				}, 
				{
					"name": "executionDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "6"
				}, 
				{
					"name": "eventReportDate",
					"dataType": "Date",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "7"
				},{
					"name": "marketCenterId",
					"dataType": "Choice",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "8"
				},{
					"name": "reportedSideCode",
					"dataType": "Choice",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "9"
				},{
					"name": "symbol",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "10"
				},{
					"name": "reportingExecutingMpid",
					"dataType": "Member Alias",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "11"
				},{
					"name": "reportingExecutingCRD",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "12"
				},
				{
					"name": "contraExecutingMpid",
					"dataType": "Member Alias",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "13"
				},
				{
					"name": "contraExecutingCRD",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "14"
				},{
					"name": "executionQuantity",
					"dataType": "Unsigned",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "15"
				}, {
					"name": "executionPrice",
					"dataType": "Price",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "16"
				},{
					"name": "controlNumber",
					"dataType": "Text (30)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "17"
				},
				{
					"name": "contraControlNumber",
					"dataType": "Text (30)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "18"
				},
				{
					"name": "reportingSideBranchSequenceIdentifier",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "19"
				},
				{
					"name": "contraSideBranchSequenceIdentifier",
					"dataType": "Text (20)",
					"JSONDataType": "STRING",
					"required": "Optional",
					"position": "20"
				},{
					"name": "reversalFlag",
					"dataType": "Choice",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "21"
				},{
					"name": "publishIndicatorCode",
					"dataType": "Choice",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "22"
				},
				{
					"name": "saleCondition",
					"dataType": "Text (8)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "23"
				},
				{
					"name": "sideFlag",
					"dataType": "Text (40)",
					"JSONDataType": "STRING",
					"required": "Required",
					"position": "24"
				},
				{
					"name": "otcMultiplier",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "25"
				},  {
					"name": "executedEquivalentShares",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Required",
					"position": "26"
				},  {
					"name": "netExecutedEquivalentShares",
					"dataType": "Numeric",
					"JSONDataType": "NUMBER",
					"required": "Optional",
					"position": "27"
				}
			]
		}
],

	
        "choices": {
		"marketCenterId": [
			"C",
			"D",
			"L",
			"N",
			"O"
		],
		"reportedSideCode": [
			"B",
			"S",
			"X"
		],
		"reversalFlag": [
			"Y",
			"N"
		],
        "publishIndicatorCode": [
			"Y",
			"N"
		]

	}
}