{
  "$id": "site_schema.json",
  "type": "object",
  "schema": "http://json-schema.org/draft-07/schema#",
  "translate": true,
  "dynamicfields": true,
  "properties": {
    "ph_request_type": {
      "type": "string",
      "description": "type of request (internal to adapter)",
      "default": "getSites",
      "enum": [
        "getSites",
        "createSite",
        "updateSite",
        "deleteSite"
      ],
      "external_name": "ph_request_type"
    },
    "id": {
      "type": "integer",
      "description": "The unique id of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "id"
    },
    "name": {
      "type": "string",
      "description": "The name for the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "name"
    },
    "type": {
      "type": "string",
      "description": "the entity",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "type"
    },
    "sitetype": {
      "type": "string",
      "description": "the type of site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "_type"
    },
    "siteId": {
      "type": "string",
      "description": "A site id for the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "siteId"
    },
    "status": {
      "type": "string",
      "description": "The status of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "status"
    },
    "contacts": {
      "type": "string",
      "description": "The contacts for the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "contacts"
    },
    "country": {
      "type": "string",
      "description": "The country the site is in",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "country"
    },
    "address": {
      "type": "string",
      "description": "The address of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "address"
    },
    "stateProv": {
      "type": "string",
      "description": "The state or province for the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "stateProv"
    },
    "city": {
      "type": "string",
      "description": "The city of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "city"
    },
    "floor": {
      "type": "string",
      "description": "The floor of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "floor"
    },
    "room": {
      "type": "string",
      "description": "The room of the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "room"
    },
    "postalCode": {
      "type": "string",
      "description": "The postal code for the site",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "postalCode1"
    },
    "latitude": {
      "type": "string",
      "description": "The latitude where the site is",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "latitude"
    },
    "longitude": {
      "type": "string",
      "description": "The longitude where the site is",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "longitude"
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "ph_request_type": {
            "enum": [
              "createSite"
            ]
          }
        }
      },
      "then": {
        "required": [
          "name",
          "type",
          "sitetype",
          "status"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "ph_request_type": {
            "enum": [
              "updateSite"
            ]
          }
        }
      },
      "then": {
        "required": [
          "type"
        ]
      }
    }
  ],
  "definitions": {}
}