{
  "namespace":"${package}.service",
  "protocol": "OrderProcessingService",
  "doc": "Protocol to submit customer Orders",
  "types": [    
 	{
      "name": "Item", "type": "record",
      "fields": [
        {"name": "name", "type": "string"},
        {"name": "sku", "type": "long"},
 		{"name": "quantity", "type": "int"}
 	  ]
 	},
 	{
      "name": "Order", "type": "record",
      "fields": [
        {"name": "customerId", "type": "long"},
        {"name": "orderId", "type": "long"},
 		{"name": "orderItems", "type": {"type": "array", "items": "Item"}}
 	  ]
 	},
 	{
      "name": "Confirmation", "type": "record",
      "fields": [
        {"name": "customerId", "type": {"type": "long"}},
        {"name": "orderId", "type": "long"},
        {"name": "estimatedCompletion", "type": "long"}
 	  ]
 	},
 	{
      "name": "OrderFailure", "type": "error",
      "fields": [
      	{"name": "message", "type": "string"}
      ]
 	} 	
   ],
    
   "messages": {
     "submitOrder": {
	   "doc": "Submit an Order",
	   "request": [{"name": "order", "type": "Order"}],
	   "response": "Confirmation",
	   "errors": ["OrderFailure"]
	 }
   }
}
