1[ 2 { 3 "schema": { 4 "Invoice": { 5 "id": "Invoice", 6 "description": "Represents the document sent to the customer for payment.", 7 "properties": { 8 "customer": { 9 "description": "Who will pay?\nNot me! éàè", 10 "type": "string" 11 }, 12 "lines": { 13 "description": "Invoice content\n", 14 "minItems": "1", 15 "maxItems": "50", 16 "type": "array", 17 "items": { 18 "$ref": "InvoiceLine" 19 } 20 }, 21 "dimension": { 22 "description": "Total dimension of the order ", 23 "$ref": "Dimension" 24 } 25 } 26 }, 27 "InvoiceLine": { 28 "id": "InvoiceLine", 29 "properties": { 30 "product": { 31 "$ref": "Product" 32 }, 33 "quantity": { 34 "minimum": "0", 35 "exclusiveMinimum": "true", 36 "maximum": "10", 37 "exclusiveMaximum": "false", 38 "type": "number" 39 } 40 } 41 }, 42 "Dimension": { 43 "id": "Dimension", 44 "properties": { 45 "width": { 46 "description": "Width in cm ", 47 "type": "number" 48 }, 49 "height": { 50 "description": "Height in cm ", 51 "type": "number" 52 }, 53 "length": { 54 "description": "Length in cm ", 55 "type": "number" 56 } 57 } 58 }, 59 "Product": { 60 "id": "Product", 61 "properties": { 62 "name": { 63 "description": "Uniquely defines the product ", 64 "type": "string" 65 }, 66 "dimension": { 67 "description": "How big it is ", 68 "$ref": "Dimension" 69 }, 70 "category": { 71 "description": "Classification ", 72 "$ref": "Category" 73 } 74 } 75 }, 76 "Category": { 77 "id": "Category", 78 "properties": { 79 "name": { 80 "description": "Uniquely identifies the category ", 81 "type": "string" 82 }, 83 "level": { 84 "description": "Classification level from 1 to 5 (highest) ", 85 "type": "number" 86 } 87 } 88 }, 89 "CategoryIndex": { 90 "id": "CategoryIndex", 91 "properties": { 92 "categories": {}, 93 "products": {}, 94 "sizes": {} 95 } 96 } 97 } 98 }] 99