Similarly to `online`, I'd allow for the potential of only one physical location. And I'd probably avoid reinventing the wheel by just reusing the existing standards.

```js
"physical": {
  "description": "Array of physical location(s) of opportunity",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "address": { "$ref": "http://json-schema.org/address" },
        "geo": { "$ref": "http://json-schema.org/geo" }
      }
    },
    {
      "type": "array",
      "uniqueItems": true,
      "minItems": 1,
      "items": { "$ref": "#/definitions/physical/anyOf/0" }
    }
  ]
}
```