{
  "id": "tradle.UtilityBillVerification",
  "type": "tradle.Model",
  "title": "Utility Bill Verification",
  "subClassOf": "tradle.Form",
  "style": {
    "backgroundColor": "#EBE1FA"
  },
  "properties": {
    "billDate": {
      "type": "date",
      "displayName": true
    },
    "issuedBy": {
      "type": "string"
    },
    "firstName": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "country": {
      "type": "object",
      "ref": "tradle.Country"
    },
    "postalCode": {
      "type": "string"
    },
    "region": {
      "type": "string"
    },
    "street": {
      "type": "string"
    },
    "formattedAddress": {
      "type": "string",
      "displayAs": "{1} {2}, {3}, {4}",
      "group": [
        "street",
        "city",
        "region",
        "postalCode"
      ],
      "title": "Address",
      "readOnly": true
    },
    "blockchainUrl": {
      "type": "string",
      "readOnly": true
    },
    "transactionHash": {
      "readOnly": true,
      "type": "string"
    },
    "time": {
      "type": "date",
      "readOnly": true
    },
    "photos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "string",
            "skipLabel": true
          },
          "url": {
            "type": "string",
            "readOnly": true
          },
          "width": {
            "type": "number",
            "readOnly": true
          },
          "height": {
            "type": "number",
            "readOnly": true
          }
        }
      },
      "required": [
        "title",
        "url"
      ]
    },
    "verifications": {
      "type": "array",
      "readOnly": true,
      "items": {
        "backlink": "document",
        "ref": "tradle.Verification"
      }
    }
  },
  "required": [
    "photos",
    "billDate",
    "issuedBy",
    "firstName",
    "lastName",
    "city",
    "street",
    "postalCode",
    "region"
  ],
  "gridCols": [
    "formattedAddress",
    "billDate",
    "time"
  ],
  "viewCols": [
    "issuedBy",
    "formattedAddress",
    "billDate",
    "time"
  ]
}
