             'include': '#unique'
           }
           {
+            'include': '#cardinality'
+          }
+          {
+            'include': '#searchable'
+          }
+          {
             'include': '#propertyTracked'
           }
           {
-            'include': '#propertyPublishBoolean'
-          }
-          {
-            'match': '[^(\\s\\{\\}\\[\\]\\(\\)#,)]+'
-            'name': 'invalid.illegal'
-          }
-        ]
-        'end': '\\]'
-      }
-      {
-        'begin': '\\('
-        'patterns': [
-          {
-            'include': '#comments'
-          }
-
-          {
-            'match': '[^(\\s\\{\\}\\[\\]\\(\\)#,)]+'
-            'name': 'invalid.illegal'
-          }
-        ]
-        'end': '\\)'
-      }
-
-      {
-        'begin': '\\{'
-        'patterns': [
-          {
-            'include': '#comments'
-          }
-
-          {
-            'match': '[^(\\s\\{\\}\\[\\]\\(\\)#,)]+'
-            'name': 'invalid.illegal'
-          }
-        ]
-        'end': '\\}'
-      }
-      {
-        'match': '[^(\\s\\{\\}\\[\\]\\(\\)#,)]+'
-        'name': 'invalid.illegal'
-      }
-    ]
-    'end': '(?=\\s*(,|#|\\]|\\)|\\}|\\n))'
-
-  'modelPropertyBytes':
-    'begin': '(?i:\\s*([a-zA-Z][_a-zA-Z0-9]*)\\s*((optional)?)\\s*(bytes))'
-    'beginCaptures':
-      '1':
-        'name': 'punctuation.definition.identity'
-      '2':
-        'name': 'option'
-      '3':
-        'name': 'keyword'
-      '4':
-        'name': 'keyword'
-
-    'name': 'modelPropertyBytes'
-    'patterns':[
-      {
-        'begin': '\\['
-        'patterns': [
-          {
-            'include': '#comments'
-          }
-          {
-            'include': '#primaryKey'
-          }
-          {
-            'include': '#minNumber'
-          }
-          {
-            'include': '#maxNumber'
-          }
-          {
-            'include': '#sensitive'
-          }
-          {
-            'include': '#indexed'
-          }
-          {
-            'include': '#unique'
-          }
-          {
-            'include': '#propertyTracked'
+            'include': '#minAny'
+          }
+          {
+            'include': '#maxAny'
           }
           {
             'include': '#propertyPublishAny'

    'end': '(?=\\s*(,|#|\\]|\\)|\\}|\\n))'

  'maxDateTime':
    'begin': '(?i:\\s*(max)\\s*([^(\\s\\{\\}\\[\\]\\(\\)#,)]+))'
    'beginCaptures':
      '1':
        'name': 'keyword'

    'end': '(?=\\s*(,|#|\\]|\\)|\\}|\\n))'

  'onSuccessReplace':
    'begin': '(?i:(\\s*on)(\\s+success)(\\s+replace)(\\s+[a-zA-Z][_a-zA-Z0-9]*)(\\s+with)(\\s+[a-zA-Z][_a-zA-Z0-9]*))'
    'beginCaptures':
      '1':
        'name': 'keyword'
