{
  "openapi": "3.1.0",
  "info": {
    "title": "Street Open API",
    "description": "Build on top of the UKs most advanced Estate Agency software.",
    "version": "1.0",
    "contact": {
      "name": "Street API Development Team",
      "url": "https://street.co.uk",
      "email": "apis@street.co.uk"
    }
  },
  "servers": [
    {
      "url": "https://street.co.uk/open-api/v1",
      "description": "Production."
    },
    {
      "url": "https://demo.street.co.uk/open-api/v1",
      "description": "Testing."
    }
  ],
  "paths": {
    "/activity": {
      "post": {
        "summary": "Create a activity log",
        "operationId": "post-activity",
        "responses": {
          "201": {
            "description": "Created."
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to create a `Activity Log` record by providing core information such as the entity the `Activity Log` relates to and optionally the content/body of the `Activity Log`.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes",
                      "relationships"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "activity"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "activity_type",
                          "title",
                          "source"
                        ],
                        "properties": {
                          "activity_type": {
                            "type": "string",
                            "enum": [
                              "campaign_sent"
                            ]
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri"
                          },
                          "meta": {
                            "type": [
                              "object",
                              "null"
                            ]
                          },
                          "source": {
                            "type": "string",
                            "enum": [
                              "property_reports",
                              "print",
                              "social",
                              "email_marketing"
                            ]
                          },
                          "created_at": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          }
                        }
                      },
                      "relationships": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/PropertyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/PersonRelated"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Activity"
        ]
      }
    },
    "/network-settings": {
      "parameters": []
    },
    "/lettings-applicants": {
      "get": {
        "summary": "Get all Lettings Applicants",
        "tags": [
          "Applicants"
        ],
        "responses": {
          "200": {
            "description": "Get one or more Lettings Applicants in a paginated result.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Applicant"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-applicants",
        "description": "This endpoint retrieves multiple paginated applicants along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "a7c052ea-316a-4b55-8d47-9af7f782f887"
            },
            "in": "query",
            "name": "filter[branch]",
            "description": "Filter the Applicants by Branch."
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[areas]",
            "description": "Filter the Applicants by a comma-separated list of area names.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_applicant_price_from"
          },
          {
            "$ref": "#/components/parameters/filter_applicant_price_to"
          },
          {
            "$ref": "#/components/parameters/filter_applicant_min_bedrooms"
          },
          {
            "$ref": "#/components/parameters/filter_applicant_furnished"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "offers",
                  "viewings",
                  "people",
                  "company",
                  "notes",
                  "applications",
                  "followUps",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes`",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "string",
              "format": "date"
            },
            "in": "query",
            "name": "filter[follow_ups_due_from]",
            "description": "Filter results to applicants with a follow up after the provided ISO8601 date."
          },
          {
            "schema": {
              "type": "string",
              "format": "date"
            },
            "in": "query",
            "description": "Filter results to applicants with a follow up before the provided ISO8601 date.",
            "name": "filter[follow_ups_due_to]"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "hot",
                  "warm",
                  "cold",
                  null
                ]
              },
              "uniqueItems": true
            },
            "in": "query",
            "name": "filter[lead_rating]",
            "description": "Filter applicants by their lead rating. Accepts: hot, warm, cold, or null. Can pass multiple values.",
            "style": "form",
            "explode": false
          }
        ]
      },
      "parameters": []
    },
    "/lettings-applicants/{applicant_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "applicant_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Applicant."
        }
      ],
      "get": {
        "summary": "Get a single Lettings Applicant",
        "tags": [
          "Applicants"
        ],
        "responses": {
          "200": {
            "description": "Get Lettings Applicant by `UUID`.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Applicant"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-applicants-applicantId",
        "description": "This endpoint retrieves a single applicant by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "offers",
                  "viewings",
                  "people",
                  "company",
                  "notes",
                  "applications",
                  "followUp",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes`",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/sales-applicants": {
      "get": {
        "summary": "Get all Sales Applicants",
        "tags": [
          "Applicants"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Applicant"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-applicants",
        "description": "This endpoint retrieves multiple paginated applicants along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "in": "query",
            "name": "filter[branch]",
            "description": "Filter the Applicants by Branch."
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[areas]",
            "description": "Filter the Applicants by a comma-separated list of area names.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_applicant_price_from"
          },
          {
            "$ref": "#/components/parameters/filter_applicant_price_to"
          },
          {
            "$ref": "#/components/parameters/filter_applicant_min_bedrooms"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "FTB",
                  "INV",
                  "BTLI",
                  "NPTS",
                  "NOM",
                  "OTM",
                  "SSTC",
                  "UO",
                  "PTS",
                  "DEV",
                  "BUY"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[buying_position]",
            "description": "Filter the Applicants by their buying position.\n\nAvailable values are:\n  - FTB (First-time buyer)\n  - INV (Investor)\n  - BTLI (Buy to let investor)\n  - NPTS (No property to sell)\n  - NOM (In process of selling - Valuation)\n  - OTM (In process of selling - On the market)\n  - SSTC (In process of selling - Sold STC)\n  - UO (In process of selling - Under Offer)\n  - PTS (Property to sell)\n  - DEV (Developer)\n  - BUY (Buying Agent)\n",
            "style": "form"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "NIP",
                  "SOAQ",
                  "SAMA",
                  "AIP",
                  "NFCB",
                  "CBFS",
                  "PMTG"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[financial_position]",
            "description": "Filter the Applicants by their financial position.\n\nAvailable values are:\n  - NIP (Nothing in place)\n  - SOAQ (Seeking own advice / quotes)\n  - SAMA (Currently seeing agent’s mortgage advisor)\n  - AIP (Agreement in Principle in place)\n  - NFCB (Does not need Finance (Cash Buyer))\n  - CBFS (Cash Buyer, proceeds from Sale)\n  - PMTG (Porting Mortgage)\n",
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "offers",
                  "viewings",
                  "people",
                  "company",
                  "notes",
                  "sales",
                  "followUps",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes,sales`",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "string",
              "format": "date"
            },
            "in": "query",
            "name": "filter[follow_ups_due_from]",
            "description": "Filter results to applicants with a follow up after the provided ISO8601 date."
          },
          {
            "schema": {
              "type": "string",
              "format": "date"
            },
            "in": "query",
            "description": "Filter results to applicants with a follow up before the provided ISO8601 date.",
            "name": "filter[follow_ups_due_to]"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "hot",
                  "warm",
                  "cold",
                  null
                ]
              },
              "uniqueItems": true
            },
            "in": "query",
            "name": "filter[lead_rating]",
            "description": "Filter applicants by their lead rating. Accepts: hot, warm, cold, or null. Can pass multiple values.",
            "style": "form",
            "explode": false
          }
        ]
      },
      "parameters": []
    },
    "/sales-applicants/{applicant_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "applicant_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Applicant."
        }
      ],
      "get": {
        "summary": "Get a single Sales Applicant",
        "tags": [
          "Applicants"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Applicant"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-applicants-applicantId",
        "description": "This endpoint retrieves a single applicant by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "offers",
                  "viewings",
                  "people",
                  "company",
                  "notes",
                  "sales",
                  "followUp",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `branch,offers,viewings,people,notes,sales`",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/areas": {
      "get": {
        "summary": "Get all Areas",
        "tags": [
          "Areas"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Area"
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-areas",
        "description": "This endpoint retrieves multiple paginated areas along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/branches": {
      "get": {
        "summary": "Get all Branches",
        "tags": [
          "Branches"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Branch"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedUser"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-branches",
        "description": "This endpoint retrieves multiple paginated branches along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "users",
                  "properties",
                  "applicants"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/branches/{branch_id}": {
      "get": {
        "summary": "Get a single Branch",
        "tags": [
          "Branches"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Branch"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedUser"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-branch",
        "description": "This endpoint retrieves a single branch by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "users",
                  "properties",
                  "applicants"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "branch_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Branch."
          }
        ]
      }
    },
    "/brands": {
      "get": {
        "summary": "Get all Brands",
        "tags": [
          "Brands"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Brand"
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-brands",
        "description": "This endpoint retrieves multiple paginated brands along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/brands/{brand_id}": {
      "get": {
        "summary": "Get a single Brand",
        "tags": [
          "Brands"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Brand"
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-brand",
        "description": "This endpoint retrieves a single brand by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "brand_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Brand."
          }
        ]
      }
    },
    "/lettings-applications/{application_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "application_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Application."
        }
      ],
      "get": {
        "summary": "Get a single Lettings Application",
        "description": "This endpoint retrieves a single lettings application by its `UUID`.",
        "tags": [
          "Lettings Applications"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LettingsApplication"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSafetyCertificate"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedDownloadableMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancy"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancyAgreement"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedHoldingDeposit"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMeterReading"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-applications-application_id",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "tenancy",
                  "tenancyAgreement",
                  "holdingDeposit",
                  "applicant",
                  "applicant.people",
                  "epc",
                  "safetyCertificates",
                  "tenancyGuide",
                  "landlordOfferLetter",
                  "tenantGuarantorReferenceForm",
                  "tenantGuarantorReferenceReport",
                  "tenantGuarantorIdDocument",
                  "generatedDocument",
                  "meterReadings"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/companies": {
      "get": {
        "summary": "Get all Companies",
        "tags": [
          "Companies"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Company"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-companies",
        "description": "This endpoint retrieves multiple paginated companies along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "people",
                  "properties",
                  "applicants",
                  "notes"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[telephone_number]",
            "description": "Filter results by the telephone number."
          }
        ]
      }
    },
    "/companies/{company_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "company_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Company."
        }
      ],
      "get": {
        "summary": "Get a single Company",
        "tags": [
          "Companies"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Company"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-companies-companyId",
        "description": "This endpoint retrieves a single company by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "people",
                  "properties",
                  "applicants",
                  "notes"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/documents": {
      "post": {
        "operationId": "post-documents",
        "summary": "Create a Document",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Media"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes",
                      "relationships"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "document"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "file_url",
                          "title"
                        ],
                        "properties": {
                          "file_url": {
                            "type": "string",
                            "format": "uri",
                            "description": "The endpoint will only accept the following filetypes: PDF, JPG, PNG."
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "is_public": {
                            "type": [
                              "boolean",
                              "null"
                            ],
                            "description": "Indicates whether the document is public. This value will be ignored if it's determined that the document cannot be made public.",
                            "default": false
                          },
                          "key": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "enum": [
                              "api_tenancy_guide",
                              "api_landlord_offer_letter",
                              "api_tenancy_agreement",
                              "api_tenant_guarantor_reference_form",
                              "api_tenant_guarantor_reference_report",
                              "api_tenant_guarantor_id_document"
                            ],
                            "pattern": "^[a-z_]*$",
                            "example": "api_tenancy_guide"
                          }
                        }
                      },
                      "relationships": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/PropertyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SalesApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsApplicantRelated"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "This endpoint allows you to create a `Document` attached to an entity by providing a publically accessible URL for the file.\n        In addition you can add relevant information such as a title and description of the file.",
        "tags": [
          "Documents"
        ],
        "x-internal": false
      },
      "parameters": []
    },
    "/photos/{property_id}/media/{media_id}": {
      "patch": {
        "operationId": "patch-photos-propertyId-imageId",
        "summary": "Update a photos details",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "property_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Property."
          },
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "media_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Image."
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "image"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "title": {
                            "type": "string"
                          },
                          "include_in_listing": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "Photo details to update"
        },
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/UploadedMedia"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to update a photo details.",
        "tags": [
          "Images"
        ],
        "x-internal": false
      },
      "delete": {
        "operationId": "delete-photos-propertyId-imageId",
        "summary": "Delete a photo from a property",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "property_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Property."
          },
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "media_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Image."
          }
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to delete a photo from a property.",
        "tags": [
          "Images"
        ],
        "x-internal": false
      }
    },
    "/floorplans/{property_id}/media/{media_id}": {
      "delete": {
        "operationId": "delete-floorplans-propertyId-imageId",
        "summary": "Delete a floorplan from a property",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "property_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Property."
          },
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "media_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Image."
          }
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to delete a floorplan from a property.",
        "tags": [
          "Images"
        ],
        "x-internal": false
      }
    },
    "/enquiries": {
      "get": {
        "summary": "Get all Enquiries",
        "operationId": "get-enquiries",
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Enquiry"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint retrieves multiple paginated enquiries along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "schema": {
              "type": "string",
              "format": "email"
            },
            "in": "query",
            "name": "filter[email_address]",
            "description": "Filter enquiries by the provided email address"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[telephone_number]",
            "description": "Filter enquiries by the provided telephone number"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "tags": [
          "Enquiries"
        ]
      },
      "post": {
        "summary": "Create an Enquiry",
        "operationId": "post-enquiries",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Enquiry"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to create an `Enquiry` record by providing core information such as name, email address and enquiry details alongside any appointment requests such as viewings or valuations.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes",
                      "relationships"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "enquiry"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "email_address",
                          "message"
                        ],
                        "properties": {
                          "first_name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "last_name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "email_address": {
                            "type": "string",
                            "format": "email"
                          },
                          "telephone_number": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "message": {
                            "type": "string"
                          },
                          "custom_source": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "maxLength": 25,
                            "description": "A one or 2 word descriptor to designate where this Enquiry has originated from ie \"website\""
                          },
                          "postcode": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "maxLength": 8,
                            "description": "Optional UK postcode for the enquirer. When supplied and the enquiry creates a new Person, this is stored as the Person's correspondence address. Ignored when the enquiry matches an existing Person — never overwrites a curated address."
                          },
                          "property_uuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "branch_uuid": {
                            "type": [
                              "null",
                              "string"
                            ],
                            "format": "uuid"
                          },
                          "request_viewing": {
                            "type": "boolean"
                          },
                          "request_valuation": {
                            "type": "boolean"
                          },
                          "property_to_sell": {
                            "type": "boolean"
                          },
                          "property_to_let": {
                            "type": "boolean"
                          }
                        }
                      },
                      "relationships": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/PropertyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SalesApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsApplicantRelated"
                          }
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": ""
        },
        "tags": [
          "Enquiries"
        ]
      }
    },
    "/enquiries/{enquiry_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "enquiry_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Enquiry."
        }
      ],
      "get": {
        "summary": "Get a single Enquiry",
        "tags": [
          "Enquiries"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Enquiry"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-enquiries-enquiryId",
        "description": "This endpoint retrieves a single enquiry by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "branch",
                  "person"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,branch,person`",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/follow-ups": {
      "get": {
        "summary": "Get all Follow Ups",
        "operationId": "get-follow-ups",
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FollowUp"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint retrieves multiple paginated follow ups along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "negotiator",
                  "property",
                  "lettingsApplicant",
                  "salesApplicant",
                  "sale",
                  "valuation",
                  "viewing"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "lettingsApplicant",
                  "salesApplicant",
                  "sale",
                  "valuation",
                  "viewing"
                ]
              }
            },
            "in": "query",
            "name": "filter[subject]",
            "description": "Filter Follow Ups by the subject entity they relate to.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_property"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "tags": [
          "Follow Ups"
        ]
      },
      "post": {
        "summary": "Create a Follow Up",
        "operationId": "post-follow-ups",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FollowUp"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to create a `Follow Up` record by providing core information such as the entity the `Follow Up` relates to and optionally the content/body of the `Follow Up`.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes",
                      "relationships"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "follow-up"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "due_date"
                        ],
                        "properties": {
                          "due_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      },
                      "relationships": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/PropertyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SalesApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SaleRelated"
                          },
                          {
                            "$ref": "#/components/schemas/ValuationRelated"
                          }
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "data": {
                      "type": "follow-up",
                      "attributes": {
                        "due_date": "2019-08-24"
                      },
                      "relationships": {
                        "property": {
                          "data": {
                            "type": "property",
                            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Follow Ups"
        ]
      },
      "parameters": []
    },
    "/todos": {
      "get": {
        "summary": "Get all Tasks",
        "operationId": "get-todos",
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Todo"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint retrieves multiple paginated tasks along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "negotiator",
                  "property",
                  "lettingsApplicant",
                  "salesApplicant",
                  "sale",
                  "valuation",
                  "viewing"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "lettingsApplicant",
                  "salesApplicant",
                  "sale",
                  "valuation",
                  "viewing"
                ]
              }
            },
            "in": "query",
            "name": "filter[subject]",
            "description": "Filter tasks by the subject entity they relate to.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_property"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "tags": [
          "Tasks"
        ]
      },
      "post": {
        "summary": "Create a Task",
        "operationId": "post-todos",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Todo"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to create a `Task` record by providing core information such as the entity the `Task` relates to and optionally the content/body of the `Task`.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "todo"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "title"
                        ],
                        "properties": {
                          "title": {
                            "type": "string"
                          },
                          "body": {
                            "type": "string"
                          },
                          "due_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "user_uuid": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Optional. The UUID of the User to assign the Task to. The User must belong to the authenticated User's Network."
                          },
                          "note": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      },
                      "relationships": {
                        "$ref": "#/components/schemas/TodoRelationship"
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              },
              "examples": {
                "Example 1": {
                  "value": {
                    "data": {
                      "type": "todo",
                      "attributes": {
                        "title": "Post on social media",
                        "due_date": "2025-09-19",
                        "user_uuid": "88a2d6f4-1c3b-4a2e-9f0d-2b7c5e1a4d6f"
                      },
                      "relationships": {
                        "property": {
                          "data": {
                            "type": "property",
                            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "tags": [
          "Tasks"
        ]
      },
      "parameters": []
    },
    "/todo-types": {
      "get": {
        "summary": "Get all Task Types",
        "tags": [
          "Tasks"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TodoType"
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-todo-types",
        "description": "This endpoint retrieves multiple paginated task types along with `meta` and `pagination` information. Returns both network-specific and global (null network_id) task types.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/todo-types/{todo_type_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "todo_type_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Task Type."
        }
      ],
      "get": {
        "operationId": "get-todo-types-todoTypeID",
        "summary": "Get a single Task Type",
        "description": "This endpoint retrieves a single task type by its `UUID`.",
        "tags": [
          "Tasks"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TodoType"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/solicitors": {
      "get": {
        "operationId": "get-solicitors",
        "summary": "Get all Solicitors",
        "description": "This endpoint retrieves multiple paginated solicitors along with `meta` and `pagination` information.",
        "tags": [
          "Solicitors"
        ],
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "email"
            },
            "in": "query",
            "name": "filter[email_address]",
            "description": "Filter enquiries by the provided email address"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "solicitorFirm",
                  "applicantSolicitorSale",
                  "ownerSolicitorSale"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Solicitor"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedSolicitorFirm"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicantSolicitorSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwnerSolicitorSale"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/solicitors/{solicitor_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "solicitor_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Solicitor."
        }
      ],
      "get": {
        "operationId": "get-solicitors-solicitorID",
        "summary": "Get a single Solicitor",
        "description": "This endpoint retrieves a single solicitor by its `UUID`.",
        "tags": [
          "Solicitors"
        ],
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "solicitorFirm",
                  "applicantSolicitorSale",
                  "ownerSolicitorSale"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Solicitor"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedSolicitorFirm"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicantSolicitorSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwnerSolicitorSale"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/landlords": {
      "get": {
        "summary": "Get all Landlords",
        "tags": [
          "Landlords"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Landlord"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-landlords",
        "description": "This endpoint retrieves multiple paginated landlords along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_person_status"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "not_on_the_market",
                  "valuation_lost",
                  "valuation_booked",
                  "valuation_pending",
                  "valuation_cancelled",
                  "valuation_completed",
                  "instructed",
                  "let",
                  "to_let",
                  "let_agreed",
                  "for_sale_and_to_let",
                  "withdrawn_lettings",
                  "withdrawn_sales_and_lettings"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[property_status]",
            "description": "Filter the Landlords by the Status of their Properties.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_address"
          },
          {
            "$ref": "#/components/parameters/filter_email_address"
          },
          {
            "$ref": "#/components/parameters/filter_telephone_number"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "properties",
                  "properties.branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "properties",
                "properties.branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/landlords/{landlord_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "landlord_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Landlord."
        }
      ],
      "get": {
        "summary": "Get a single Landlord",
        "tags": [
          "Landlords"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Landlord"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-landlords-landlordId",
        "description": "This endpoint retrieves a single landlord by their `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "properties",
                  "properties.branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "properties",
                "properties.branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/lettings-offers": {
      "get": {
        "summary": "Get all Lettings Offers",
        "tags": [
          "Lettings Offers"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LettingsOffer"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-offers",
        "description": "This endpoint retrieves multiple paginated lettings offers along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "pending",
                  "put_to_vendor",
                  "accepted",
                  "rejected"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "maxItems": 5,
              "example": [
                "pending",
                "put_to_vendor",
                "accepted",
                "rejected"
              ]
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter by results with specific statuses.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "lettingsListing",
                  "applicant",
                  "applicant.people",
                  "branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "property",
                "lettingsListing",
                "applicant",
                "applicant.people",
                "branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/lettings-offers/{lettings_offer_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "lettings_offer_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Lettings Offer."
        }
      ],
      "get": {
        "summary": "Get a single Lettings Offer",
        "tags": [
          "Lettings Offers"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LettingsOffer"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-offers-lettingsOfferId",
        "description": "This endpoint retrieves a single lettings offer by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "lettingsListing",
                  "applicant",
                  "applicant.people",
                  "branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "property",
                "lettingsListing",
                "applicant",
                "applicant.people",
                "branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/maintenance-jobs": {
      "get": {
        "summary": "Get all Maintence Jobs",
        "tags": [
          "Maintenance Jobs"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MaintenanceJob"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedUser"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-maintenance-jobs",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "awaiting_instruction",
                  "awaiting_quote",
                  "awaiting_quote_approval",
                  "contractor_instructed",
                  "invoice_added",
                  "invoice_paid",
                  "job_cancelled",
                  "job_closed",
                  "job_complete",
                  "job_details_added"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter by results by the provided status, e.g. `awaiting_instruction,awaiting_quote,awaiting_quote_approval`",
            "explode": false,
            "style": "form"
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[reported_from]",
            "description": "Filter by results reported after the provided date."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[reported_to]",
            "description": "Filter by results reported before the provided date."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[completed_from]",
            "description": "Filter by results completed after the provided date."
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "filter[completed_to]",
            "description": "Filter by results completed before the provided date."
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "attachments",
                  "property",
                  "assignee"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list, e.g. `attachments,property`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "description": "This endpoint retrieves multiple paginated maintence jobs along with `meta` and `pagination` information."
      },
      "parameters": []
    },
    "/maintenance-jobs/{maintenance_job_id}": {
      "get": {
        "operationId": "get-maintenance-job",
        "summary": "Get a single Maintence Job",
        "tags": [
          "Maintenance Jobs"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MaintenanceJob"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedUser"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "parameters": [],
        "description": "This endpoint retrieves a single maintenance job by its `UUID`."
      },
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "maintenance_job_id",
          "in": "path",
          "required": true
        }
      ]
    },
    "/maintenance-requests": {
      "post": {
        "summary": "Create a new maintenance request",
        "tags": [
          "Maintenance Requests"
        ],
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MaintenanceRequest"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "post-maintenance-requests",
        "description": "This endpoint allows you to create a `maintenance request` record.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "maintenance-request"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "properties": {
                          "priority": {
                            "type": "string",
                            "enum": [
                              "low",
                              "medium",
                              "high",
                              "urgent",
                              "emergency"
                            ]
                          },
                          "summary": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "reported_by": {
                            "type": "string",
                            "enum": [
                              "tenant",
                              "landlord",
                              "agent",
                              "contractor"
                            ]
                          },
                          "reported_at": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      },
                      "relationships": {
                        "type": "object",
                        "properties": {
                          "property": {
                            "type": "object",
                            "required": [
                              "data"
                            ],
                            "properties": {
                              "data": {
                                "oneOf": [
                                  {
                                    "type": "string",
                                    "format": "uuid",
                                    "description": "Legacy format - direct UUID string",
                                    "deprecated": true
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "type",
                                      "id"
                                    ],
                                    "properties": {
                                      "type": {
                                        "type": "string",
                                        "enum": [
                                          "property"
                                        ]
                                      },
                                      "id": {
                                        "type": "string",
                                        "format": "uuid"
                                      }
                                    },
                                    "description": "JSON:API format"
                                  }
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": []
    },
    "/notes": {
      "post": {
        "operationId": "post-notes",
        "summary": "Create a Note",
        "responses": {
          "201": {
            "description": "Created.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Note"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "attributes",
                      "relationships"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "note"
                        ]
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "body"
                        ],
                        "properties": {
                          "body": {
                            "type": "string"
                          },
                          "pinned": {
                            "type": "boolean",
                            "default": false
                          },
                          "author": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "uuid"
                          }
                        }
                      },
                      "relationships": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CompanyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/PersonRelated"
                          },
                          {
                            "$ref": "#/components/schemas/PropertyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/TenancyRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SalesApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsApplicantRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsApplicationRelated"
                          },
                          {
                            "$ref": "#/components/schemas/EnquiryRelated"
                          },
                          {
                            "$ref": "#/components/schemas/OwnerRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SaleRelated"
                          },
                          {
                            "$ref": "#/components/schemas/SalesOfferRelated"
                          },
                          {
                            "$ref": "#/components/schemas/LettingsOfferRelated"
                          },
                          {
                            "$ref": "#/components/schemas/ViewingRelated"
                          },
                          {
                            "$ref": "#/components/schemas/ValuationRelated"
                          },
                          {
                            "$ref": "#/components/schemas/InspectionRelated"
                          },
                          {
                            "$ref": "#/components/schemas/MaintenanceJobRelated"
                          }
                        ]
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          }
        },
        "description": "This endpoint allows you to create a `Note` record by providing core information such as the entity the `Note` relates to, the content/body of the `Note` and any related tags.",
        "tags": [
          "Notes"
        ],
        "x-internal": false
      }
    },
    "/people": {
      "get": {
        "summary": "Get all People",
        "tags": [
          "People"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Person"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-people",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_address"
          },
          {
            "$ref": "#/components/parameters/filter_email_address"
          },
          {
            "$ref": "#/components/parameters/filter_telephone_number"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "ownedProperties",
                  "applicants"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "description": "This endpoint retrieves multiple paginated people along with `meta` and `pagination` information."
      }
    },
    "/people/{person_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "person_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Person."
        }
      ],
      "get": {
        "summary": "Get a single Person",
        "tags": [
          "People"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Person"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                },
                "examples": {
                  "Person with included property": {
                    "value": {
                      "data": {
                        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                        "type": "person",
                        "attributes": {
                          "full_name": "string",
                          "title": "Mrs",
                          "first_name": "Jane",
                          "last_name": "Doe",
                          "address": {
                            "single_line": "19 Lansdowne Road, Monton, Manchester",
                            "anon_single_line": "Lansdowne Road, Monton, Manchester",
                            "building_number": "19",
                            "building_name": "string",
                            "street": "Lansdowne Road",
                            "line_1": "19 Lansdowne Road",
                            "line_2": "Monton",
                            "line_3": "Manchester",
                            "line_4": "string",
                            "country": "United Kingdom",
                            "postcode": "M30 9PA",
                            "udprn": "28327204",
                            "geo": {
                              "lat": 0.2365698,
                              "lng": 53.023654
                            },
                            "royal_mail": {
                              "postcode": "string",
                              "post_town": "string",
                              "thoroughfare": "string",
                              "building_name": "string",
                              "building_number": "string",
                              "department_name": "string",
                              "organisation_name": "string",
                              "sub_building_name": "string",
                              "dependent_locality": "string",
                              "dependent_thoroughfare": "string",
                              "double_dependent_locality": "string"
                            },
                            "street_group_property_id": "string"
                          },
                          "telephone_numbers": [
                            {
                              "value": "+441632960911",
                              "notes": "string",
                              "primary": true
                            }
                          ],
                          "email_addresses": [
                            {
                              "value": "john@johndoe.com",
                              "notes": "string",
                              "primary": true
                            }
                          ],
                          "marketing_consent": true,
                          "contact_preferences": {
                            "email": true,
                            "post": true,
                            "text": true,
                            "phone": true
                          },
                          "statuses": {
                            "vendor": null,
                            "landlord": null,
                            "tenant": null
                          },
                          "created_at": "2019-08-24T14:15:22Z",
                          "updated_at": "2019-08-24T14:15:22Z"
                        },
                        "relationships": {
                          "properties": {
                            "data": [
                              {
                                "type": "property",
                                "id": "a827a3ae-4c74-4c32-8b42-42248d4010d3"
                              }
                            ],
                            "links": {
                              "self": "../dictionary",
                              "related": "../dictionary"
                            }
                          },
                          "applicants": {
                            "data": [
                              {
                                "type": "applicant",
                                "id": "a827a3ae-4c74-4c32-8b42-42248d4010d3"
                              }
                            ],
                            "links": {
                              "self": "../dictionary",
                              "related": "../dictionary"
                            }
                          },
                          "notes": {
                            "data": [
                              {
                                "type": "note",
                                "id": "a827a3ae-4c74-4c32-8b42-42248d4010d3"
                              }
                            ],
                            "links": {
                              "self": "../dictionary",
                              "related": "../dictionary"
                            }
                          }
                        }
                      },
                      "included": [
                        {
                          "type": "property",
                          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                          "attributes": {
                            "sales": true,
                            "lettings": true,
                            "is_sales": true,
                            "is_lettings": true,
                            "company_owned": true,
                            "address": {
                              "single_line": "19 Lansdowne Road, Monton, Manchester",
                              "anon_single_line": "Lansdowne Road, Monton, Manchester",
                              "building_number": "19",
                              "building_name": "string",
                              "street": "Lansdowne Road",
                              "line_1": "19 Lansdowne Road",
                              "line_2": "Monton",
                              "line_3": "Manchester",
                              "line_4": "string",
                              "country": "United Kingdom",
                              "postcode": "M30 9PA",
                              "udprn": "28327204",
                              "geo": {
                                "lat": 0.2365698,
                                "lng": 53.023654
                              },
                              "royal_mail": {
                                "postcode": "string",
                                "post_town": "string",
                                "thoroughfare": "string",
                                "building_name": "string",
                                "building_number": "string",
                                "department_name": "string",
                                "organisation_name": "string",
                                "sub_building_name": "string",
                                "dependent_locality": "string",
                                "dependent_thoroughfare": "string",
                                "double_dependent_locality": "string"
                              },
                              "street_group_property_id": "string"
                            },
                            "status": "Not On The Market",
                            "owner": [
                              {
                                "full_name": "string",
                                "title": "Mrs",
                                "first_name": "Jane",
                                "last_name": "Doe",
                                "address": {
                                  "single_line": "19 Lansdowne Road, Monton, Manchester",
                                  "anon_single_line": "Lansdowne Road, Monton, Manchester",
                                  "building_number": "19",
                                  "building_name": "string",
                                  "street": "Lansdowne Road",
                                  "line_1": "19 Lansdowne Road",
                                  "line_2": "Monton",
                                  "line_3": "Manchester",
                                  "line_4": "string",
                                  "country": "United Kingdom",
                                  "postcode": "M30 9PA",
                                  "udprn": "28327204",
                                  "geo": {
                                    "lat": 0.2365698,
                                    "lng": 53.023654
                                  },
                                  "royal_mail": {
                                    "postcode": "string",
                                    "post_town": "string",
                                    "thoroughfare": "string",
                                    "building_name": "string",
                                    "building_number": "string",
                                    "department_name": "string",
                                    "organisation_name": "string",
                                    "sub_building_name": "string",
                                    "dependent_locality": "string",
                                    "dependent_thoroughfare": "string",
                                    "double_dependent_locality": "string"
                                  },
                                  "street_group_property_id": "string"
                                },
                                "telephone_numbers": [
                                  {
                                    "value": "+441632960911",
                                    "notes": "string",
                                    "primary": true
                                  }
                                ],
                                "email_addresses": [
                                  {
                                    "value": "john@johndoe.com",
                                    "notes": "string",
                                    "primary": true
                                  }
                                ],
                                "marketing_consent": true,
                                "contact_preferences": {
                                  "email": true,
                                  "post": true,
                                  "text": true,
                                  "phone": true
                                }
                              }
                            ],
                            "bedrooms": 0,
                            "bathrooms": 0,
                            "receptions": 0,
                            "floor_area": "string",
                            "plot_area": "string",
                            "land_area": "string",
                            "property_type": "string",
                            "property_style": "string",
                            "property_age_bracket": "string",
                            "construction_year": "string",
                            "tenure": "string",
                            "tenure_notes": "string",
                            "lease_expiry_year": "string",
                            "lease_expiry_date": "2019-08-24",
                            "display_property_style": "string",
                            "work_required": true,
                            "heating_system": "string",
                            "council_tax_band": "string",
                            "council_tax_cost": 0,
                            "local_authority": "string",
                            "service_charge": 0,
                            "service_charge_period": "month",
                            "service_charge_notes": "string",
                            "ground_rent": 0,
                            "ground_rent_period": "month",
                            "ground_rent_review_period_years": 0,
                            "ground_rent_uplift": 0,
                            "ground_rent_expiry": "string",
                            "has_outdoor_space": true,
                            "shared_ownership": false,
                            "shared_ownership_notes": "string",
                            "shared_ownership_rent": 0,
                            "shared_ownership_rent_frequency": "string",
                            "shared_ownership_percentage_sold": 0,
                            "listings": [
                              {
                                "price_qualifier": "None",
                                "archived": true,
                                "is_low_profile": true,
                                "is_not_in_property_feed_api": true,
                                "is_auction": false,
                                "new_home": true,
                                "retirement": true,
                                "full_description": "string",
                                "short_description": "string",
                                "location_summary": "string",
                                "has_parking": true,
                                "virtual_tour": "../dictionary",
                                "type": "sales",
                                "price": 500000,
                                "status": "For Sale"
                              }
                            ],
                            "tags": [
                              {
                                "name": "Example tag",
                                "slug": "example-tag",
                                "order": 0
                              }
                            ],
                            "features": [
                              {
                                "id": "7f064215-0b9c-45e5-bd91-02913c050a9a",
                                "name": "Example feature",
                                "order": 0,
                                "include_on_portals": false,
                                "highlight": true
                              }
                            ],
                            "viewing_booking_url": "string",
                            "last_instructed_sales_at": "2019-08-24T14:15:22Z",
                            "last_instructed_lettings_at": "2019-08-24T14:15:22Z",
                            "last_exchanged_at": "2019-08-24T14:15:22Z",
                            "last_completed_at": "2019-08-24T14:15:22Z",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                          },
                          "relationships": {},
                          "links": {
                            "self": "../dictionary",
                            "related": "../dictionary"
                          }
                        }
                      ],
                      "links": {
                        "self": "../dictionary",
                        "related": "../dictionary"
                      },
                      "meta": {},
                      "jsonapi": {
                        "version": "string",
                        "meta": {}
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-people-personId",
        "description": "This endpoint retrieves a single company by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "ownedProperties",
                  "applicants"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      },
      "patch": {
        "summary": "Update a Person",
        "operationId": "patch-people-personId",
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BaseModel"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string",
                              "format": "uuid"
                            },
                            "type": {
                              "type": "string",
                              "enum": [
                                "person"
                              ]
                            },
                            "attributes": {
                              "$ref": "#/components/schemas/PersonAttributes"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to update specific fields with a `Person` record via their `UUID` by providing amended core information such as name, address and contact details or marketing and contact preference changes.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "attributes": {
                        "$ref": "#/components/schemas/PersonRequestBody"
                      }
                    }
                  }
                }
              }
            }
          },
          "description": ""
        },
        "tags": [
          "People"
        ]
      }
    },
    "/properties": {
      "get": {
        "summary": "Get all Properties",
        "tags": [
          "Properties"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Property"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFloorplan"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedRoom"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBrochure"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedParking"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOutsideSpace"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInterestedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInvoice"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPropertyKey"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-properties",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "enum": [
                "sales",
                "lettings"
              ]
            },
            "in": "query",
            "name": "filter[category]",
            "description": "Filter by the property by sales or lettings",
            "allowEmptyValue": true
          },
          {
            "$ref": "#/components/parameters/filter_address"
          },
          {
            "$ref": "#/components/parameters/filter_bedrooms"
          },
          {
            "$ref": "#/components/parameters/filter_min_bedrooms"
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_max_price_sales"
          },
          {
            "$ref": "#/components/parameters/filter_min_price_sales"
          },
          {
            "$ref": "#/components/parameters/filter_max_price_lettings"
          },
          {
            "$ref": "#/components/parameters/filter_min_price_lettings"
          },
          {
            "$ref": "#/components/parameters/filter_postcode"
          },
          {
            "$ref": "#/components/parameters/filter_property_status"
          },
          {
            "$ref": "#/components/parameters/filter_tags"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "activeTenancy",
                  "branch",
                  "brochure",
                  "epc",
                  "floorplans",
                  "followUp",
                  "interestedApplicants",
                  "invoices",
                  "lettingsApplications",
                  "lettingsListing",
                  "lettingsOffers",
                  "media",
                  "negotiator",
                  "notes",
                  "outsideSpaces",
                  "owner",
                  "owner.company",
                  "owner.people",
                  "parking",
                  "propertyKeys",
                  "rooms",
                  "rooms.media",
                  "sales",
                  "salesListing",
                  "salesOffers",
                  "tenancies",
                  "valuations",
                  "viewings"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list, e.g. `branch,sales,notes`",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "boolean",
              "default": false
            },
            "in": "query",
            "name": "filter[include_archived]",
            "description": "Include archived properties in the result set"
          }
        ],
        "description": "This endpoint retrieves multiple paginated properties along with `meta` and `pagination` information."
      },
      "parameters": []
    },
    "/properties/{property_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "property_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Property."
        }
      ],
      "get": {
        "summary": "Get a single Property",
        "tags": [
          "Properties"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Property"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFloorplan"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedRoom"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBrochure"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedParking"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOutsideSpace"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSafetyCertificate"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInterestedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInvoice"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPropertyKey"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-properties-propertyId",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "activeTenancy",
                  "branch",
                  "brochure",
                  "epc",
                  "floorplans",
                  "followUp",
                  "interestedApplicants",
                  "invoices",
                  "lettingsApplications",
                  "lettingsListing",
                  "lettingsOffers",
                  "media",
                  "negotiator",
                  "notes",
                  "outsideSpaces",
                  "owner",
                  "owner.company",
                  "owner.people",
                  "parking",
                  "propertyKeys",
                  "rooms",
                  "rooms.media",
                  "safetyCertificates",
                  "sales",
                  "salesListing",
                  "salesOffers",
                  "tenancies",
                  "valuations",
                  "viewings"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list, e.g. `branch,sales,note`",
            "style": "form",
            "explode": false
          }
        ],
        "description": "This endpoint retrieves a single property by its `UUID`."
      },
      "patch": {
        "summary": "Patch Property details",
        "operationId": "patch-properties-propertyId",
        "tags": [
          "Properties"
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "property"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "attributes": {
                        "$ref": "#/components/schemas/PropertyDescriptionUpdateAttributes"
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Property description fields to update"
        },
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Property"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFloorplan"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedRoom"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBrochure"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedParking"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOutsideSpace"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSale"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsOffer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSafetyCertificate"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInterestedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPropertyKey"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to update the property descriptions of a Property record via its `UUID` by providing amended details in the request body."
      }
    },
    "/key-features/{property_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "property_id",
          "in": "path",
          "required": true,
          "description": "The ID of the Property"
        }
      ],
      "post": {
        "summary": "Update Property Key Features",
        "operationId": "post-key-features-property-id",
        "tags": [
          "Properties"
        ],
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "required": [
                  "data"
                ],
                "properties": {
                  "data": {
                    "type": "object",
                    "required": [
                      "type",
                      "id",
                      "attributes"
                    ],
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "property"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid",
                        "description": "The ID of the Property."
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "key_features"
                        ],
                        "properties": {
                          "key_features": {
                            "type": "array",
                            "description": "Array of key features to create or update for the property",
                            "items": {
                              "type": "object",
                              "required": [
                                "name"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "description": "The ID of the feature. Required when updating an existing feature, omit when creating a new one."
                                },
                                "name": {
                                  "type": "string",
                                  "maxLength": 200,
                                  "description": "The name/description of the key feature",
                                  "example": "Double glazing"
                                },
                                "include_on_portals": {
                                  "type": "boolean",
                                  "description": "Whether this feature should be included on property portals",
                                  "default": false
                                },
                                "highlight": {
                                  "type": "boolean",
                                  "description": "Whether this feature should be highlighted",
                                  "default": false
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "description": "Key features to create or update for the property"
        },
        "responses": {
          "201": {
            "description": "Created - Property updated successfully with new key features",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Property"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMedia"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to create or update key features for a Property record via its `ID`.\n\n- To create new features, omit the `id` field in each feature object\n- To update existing features, include the `id` field with the feature's ID\n- The endpoint will return the updated property with all its current key features"
      }
    },
    "/key-features/{property_id}/features/{feature_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "property_id",
          "in": "path",
          "required": true,
          "description": "The ID of the Property"
        },
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "feature_id",
          "in": "path",
          "required": true,
          "description": "The ID of the Feature to delete"
        }
      ],
      "delete": {
        "summary": "Delete a Property Key Feature",
        "operationId": "delete-key-features-property-features",
        "tags": [
          "Properties"
        ],
        "responses": {
          "204": {
            "description": "No Content."
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to delete a key feature from a specific property by providing both the property's `ID` and the feature's `ID`."
      }
    },
    "/property-keys": {
      "get": {
        "summary": "Get all Property Keys",
        "tags": [
          "Property Keys"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PropertyKeys"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-property-keys",
        "description": "This endpoint retrieves multiple paginated property keys along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_ident"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/property-keys/{property_key_id}": {
      "get": {
        "summary": "Get a single Property Key",
        "tags": [
          "Property Keys"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PropertyKeys"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-single-property-key",
        "description": "This endpoint retrieves a single Property Key by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "name": "property_key_id",
            "in": "path",
            "required": true,
            "description": "The UUID of the Property Key."
          }
        ]
      }
    },
    "/questionnaire-responses/{questionnaire_response_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "questionnaire_response_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the questionnaire response to get data for."
        },
        {
          "schema": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "questionnaire",
                "questionnaire.sections",
                "questionnaire.sections.questions",
                "questionnaire.sections.questions.options",
                "answers",
                "answers.question",
                "answers.values",
                "submitter",
                "property"
              ]
            },
            "uniqueItems": true,
            "minItems": 1,
            "example": [
              "questionnaire.sections.questions.options",
              "answers.question",
              "submitter",
              "property"
            ]
          },
          "in": "query",
          "name": "include",
          "description": "Optional related entities to include in the results.",
          "style": "form",
          "explode": false
        }
      ],
      "get": {
        "summary": "Get a Questionnaire Response",
        "operationId": "get-questionnaire-responses-questionnaireResponseId",
        "tags": [
          "Questionnaire Responses"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/QuestionnaireResponse"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaire"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedUser"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaireSection"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaireQuestion"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaireQuestionOption"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaireAnswer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedQuestionnaireAnswerValue"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint retrieves the most recent questionnaire response by its UUID, including all sections, questions, and answers."
      }
    },
    "/sales": {
      "get": {
        "summary": "Get all Sales",
        "tags": [
          "Sales"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Sale"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedVendor"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSolicitor"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales",
        "description": "This endpoint retrieves multiple paginated sales along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "completed",
                  "fallen_through",
                  "offer_accepted",
                  "exchanged",
                  "under_offer"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "maxItems": 5,
              "example": [
                "completed",
                "fallen_through",
                "offer_accepted",
                "exchanged",
                "under_offer"
              ]
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter by results with specific statuses.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "applicant",
                  "applicant.people",
                  "vendor",
                  "vendor.people",
                  "branch",
                  "notes",
                  "buyerSolicitor",
                  "sellerSolicitor"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "property",
                "applicant",
                "vendor",
                "branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/sales/{sale_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "sale_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Sale."
        }
      ],
      "get": {
        "summary": "Get a single Sale",
        "tags": [
          "Sales"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Sale"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedVendor"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSolicitor"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-saleId",
        "description": "This endpoint retrieves a single sale by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "applicant",
                  "applicant.people",
                  "vendor",
                  "vendor.people",
                  "branch",
                  "notes",
                  "buyerSolicitor",
                  "sellerSolicitor"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "property",
                "applicant",
                "vendor",
                "branch",
                "notes",
                "buyerSolicitor"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/sales-offers": {
      "get": {
        "summary": "Get all Sales Offers",
        "tags": [
          "Sales Offers"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SalesOffer"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-offers",
        "description": "This endpoint retrieves multiple paginated sales offers along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "pending",
                  "put_to_vendor",
                  "accepted",
                  "rejected",
                  "withdrawn"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "maxItems": 5,
              "example": [
                "pending",
                "put_to_vendor",
                "accepted",
                "rejected",
                "withdrawn"
              ]
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter by results with specific statuses.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_branch"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "salesListing",
                  "applicant",
                  "applicant.people",
                  "branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "property",
                "applicant",
                "applicant.people",
                "branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/sales-offers/{sales_offer_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "sales_offer_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Sales Offer."
        }
      ],
      "get": {
        "summary": "Get a single Sales Offer",
        "tags": [
          "Sales Offers"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SalesOffer"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-offers-salesOfferId",
        "description": "This endpoint retrieves a single sales offer by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "applicant",
                  "applicant.people",
                  "branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,applicant,branch,notes`",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/tenancies": {
      "get": {
        "summary": "Get all Tenancies",
        "description": "This endpoint retrieves multiple paginated tenancies along with `meta` and `pagination` information.",
        "tags": [
          "Tenancies"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tenancy"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenants"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInspections"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedGuarantor"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedDownloadableMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSafetyCertificate"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-tenancies",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "property.owner",
                  "property.branch",
                  "owner",
                  "owner.people",
                  "tenants",
                  "notes",
                  "inspections",
                  "lettingsApplication",
                  "guarantors"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/tenancies/{tenancy_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "tenancy_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Tenancy."
        }
      ],
      "get": {
        "summary": "Get a single Tenancy",
        "description": "This endpoint retrieves a single tenancy by its `UUID`.",
        "tags": [
          "Tenancies"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Tenancy"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedGuarantor"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenants"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInspections"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedDownloadableMedia"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsApplication"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedEpc"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSafetyCertificate"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-tenancies-tenancy_id",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "property.owner",
                  "property.branch",
                  "owner",
                  "owner.people",
                  "tenants",
                  "guarantors",
                  "notes",
                  "inspections",
                  "epc",
                  "safetyCertificates",
                  "tenancyGuide",
                  "tenancyAgreement",
                  "landlordOfferLetter",
                  "tenantGuarantorReferenceForm",
                  "tenantGuarantorReferenceReport",
                  "tenantGuarantorIdDocument",
                  "generatedDocument",
                  "lettingsApplication"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results supplied as a comma separated list.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/tenants": {
      "get": {
        "summary": "Get all Tenants",
        "tags": [
          "Tenants"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tenant"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancy"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-tenants",
        "description": "This endpoint retrieves multiple paginated tenants along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_address"
          },
          {
            "$ref": "#/components/parameters/filter_email_address"
          },
          {
            "$ref": "#/components/parameters/filter_telephone_number"
          },
          {
            "$ref": "#/components/parameters/filter_person_status"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "tenancies",
                  "tenancies.property",
                  "tenancies.property.branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "tenancies",
                "tenancies.property",
                "tenancies.property.branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/tenants/{tenant_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "tenant_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Tenant."
        }
      ],
      "get": {
        "summary": "Get a single Tenant",
        "tags": [
          "Tenants"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Tenant"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancy"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-tenants-tenantId",
        "description": "This endpoint retrieves a single tenant by their `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "tenancies",
                  "tenancies.property",
                  "tenancies.property.branch",
                  "notes"
                ]
              },
              "uniqueItems": true,
              "minItems": 1,
              "example": [
                "tenancies",
                "tenancies.property",
                "tenancies.property.branch",
                "notes"
              ]
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/users": {
      "get": {
        "summary": "Get all Users",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IncludedBranch"
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-users",
        "description": "This endpoint retrieves multiple paginated users along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "branch"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/users/{user_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "user_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the User."
        }
      ],
      "get": {
        "summary": "Get a single User",
        "tags": [
          "Users"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/User"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/IncludedBranch"
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-users-userId",
        "description": "This endpoint retrieves a single user by their `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "branch",
                  "ownedProperties",
                  "applicants"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `branch,ownedProperties,applicants`",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/valuations": {
      "get": {
        "summary": "Get all Valuations",
        "tags": [
          "Valuations"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Valuation"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuationSalesReport"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuationLettingsReport"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesInstruction"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsInstruction"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLostValuationDetail"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-valuations",
        "description": "This endpoint retrieves multiple paginated valuations along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "in": "query",
            "name": "filter[branch]",
            "description": "Filter the Valuations by Branch."
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "sales",
                "lettings"
              ]
            },
            "in": "query",
            "name": "filter[type]",
            "description": "Filter Valuations by either Sales or Lettings."
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "booked",
                  "completed",
                  "awaiting_response",
                  "instructed",
                  "lost",
                  "not_attended",
                  "cancelled"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter the Valuations by their status.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_booked_from"
          },
          {
            "$ref": "#/components/parameters/filter_booked_to"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "branch",
                  "notes",
                  "followUp",
                  "owner",
                  "owner.people",
                  "valuer",
                  "salesReport",
                  "lettingsReport",
                  "salesInstruction",
                  "lettingsInstruction",
                  "lostValuationDetail"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,branch,notes,followUp,owner,valuer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/valuations/{valuation_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "valuation_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Valuation."
        }
      ],
      "get": {
        "summary": "Get a single Valuation",
        "tags": [
          "Valuations"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Valuation"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuationSalesReport"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuationLettingsReport"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesInstruction"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsInstruction"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLostValuationDetail"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFollowUp"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-valuations-valuationId",
        "description": "This endpoint retrieves a single valuation by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "branch",
                  "notes",
                  "followUp",
                  "owner",
                  "owner.people",
                  "valuer",
                  "salesReport",
                  "lettingsReport",
                  "salesInstruction",
                  "lettingsInstruction",
                  "lostValuationDetail"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,branch,notes,followUp,owner,valuer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          }
        ]
      }
    },
    "/vendors": {
      "get": {
        "summary": "Get all Vendors",
        "tags": [
          "Vendors"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Vendor"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-vendors",
        "description": "This endpoint retrieves multiple paginated vendors along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_person_status"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "not_on_the_market",
                  "valuation_lost",
                  "valuation_booked",
                  "valuation_pending",
                  "valuation_cancelled",
                  "valuation_completed",
                  "instructed",
                  "for_sale",
                  "under_offer",
                  "sold_stc",
                  "exchanged",
                  "for_sale_and_to_let",
                  "withdrawn_sales",
                  "withdrawn_sales_and_lettings",
                  "completed"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[property_status]",
            "description": "Filter the Vendors by the Status of their Properties.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_address"
          },
          {
            "$ref": "#/components/parameters/filter_email_address"
          },
          {
            "$ref": "#/components/parameters/filter_telephone_number"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "properties",
                  "properties.branch",
                  "valuations",
                  "notes",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `properties,properties.branch,valuations,notes,negotiator`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/vendors/{vendor_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "vendor_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Vendor."
        }
      ],
      "get": {
        "summary": "Get a single Vendor",
        "tags": [
          "Vendors"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Vendor"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNegotiator"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-vendors-vendorId",
        "description": "This endpoint retrieves a single vendor by their `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "properties",
                  "properties.branch",
                  "valuations",
                  "notes",
                  "negotiator"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `properties,properties.branch,valuations,notes,negotiator`",
            "explode": false,
            "style": "form"
          }
        ]
      }
    },
    "/viewings": {
      "get": {
        "summary": "Get all Viewings",
        "tags": [
          "Viewings"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Viewing"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewingFeedback"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "": {
                              "type": "string"
                            }
                          }
                        },
                        {
                          "type": "object"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-viewings",
        "description": "This endpoint retrieves multiple paginated viewings along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "in": "query",
            "name": "filter[branch]",
            "description": "Filter the Viewings by Branch."
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "sales",
                "lettings"
              ]
            },
            "in": "query",
            "name": "filter[type]",
            "description": "Filter Viewings by either Sales or Lettings."
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "unconfirmed",
                "rejected",
                "confirmed",
                "cancelled",
                "completed",
                "missed"
              ]
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter the Viewings by their status. Supports comma-separated values for multiple statuses."
          },
          {
            "$ref": "#/components/parameters/filter_booked_from"
          },
          {
            "$ref": "#/components/parameters/filter_booked_to"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "applicant",
                  "branch",
                  "notes",
                  "owner",
                  "owner.people",
                  "viewer",
                  "viewingFeedback"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,applicant,branch,notes,owner,viewer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/viewings/{viewing_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "viewing_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Viewing."
        }
      ],
      "get": {
        "summary": "Get a single Viewing",
        "tags": [
          "Viewings"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Viewing"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewer"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedViewingFeedback"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-viewings-viewingId",
        "description": "This endpoint retrieves a single viewing by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "applicant",
                  "branch",
                  "notes",
                  "owner",
                  "owner.people",
                  "viewer",
                  "viewingFeedback"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,applicant,branch,notes,owner,viewer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          }
        ]
      }
    },
    "/interested-applicants": {
      "get": {
        "summary": "Get all Interested Applicants",
        "tags": [
          "Interested Applicants"
        ],
        "operationId": "get-interested-applicants",
        "description": "This endpoint retrieves multiple paginated interested applicants along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "applicant",
                  "property"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "string",
              "uniqueItems": true
            },
            "in": "query",
            "name": "filter[property]",
            "description": "Filter by the property the interested applicants belong to (by property id)"
          }
        ],
        "responses": {
          "200": {
            "description": "Get all Interested Applicants.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InterestedApplicant"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/interested-applicants/{interested_applicant_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "interested_applicant_id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "Get a single Interested Applicant.",
        "tags": [
          "Interested Applicants"
        ],
        "responses": {
          "200": {
            "description": "Get Interested Applicant by `UUID`.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/InterestedApplicant"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedApplicant"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-interested-applicants-interested_applicant_id",
        "description": "This endpoint retrieves a single interested applicant by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "applicant",
                  "property"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/inspections": {
      "get": {
        "summary": "Get all Inspections",
        "tags": [
          "Inspections"
        ],
        "operationId": "get-inspections",
        "description": "This endpoint retrieves multiple paginated inspections along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "property",
                  "inspector",
                  "bookedBy"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          },
          {
            "schema": {
              "type": "string",
              "uniqueItems": true,
              "enum": [
                "need_to_book",
                "overdue",
                "unconfirmed",
                "booked",
                "incomplete",
                "complete",
                "cancelled"
              ]
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter the status of inspections."
          },
          {
            "schema": {
              "type": "string",
              "format": "datetime"
            },
            "in": "query",
            "name": "filter[due_date_from]",
            "description": "Filter the inspections due date from the input date."
          },
          {
            "schema": {
              "type": "string",
              "format": "datetime"
            },
            "in": "query",
            "name": "filter[due_date_to]",
            "description": "Filter the inspections due date to the input date."
          },
          {
            "schema": {
              "type": "string",
              "format": "datetime"
            },
            "in": "query",
            "name": "filter[booked_from]",
            "description": "If the inspection has been booked in, filter the inspections booked date from the input date."
          },
          {
            "schema": {
              "type": "string",
              "format": "datetime"
            },
            "in": "query",
            "name": "filter[booked_to]",
            "description": "If the inspection has been booked in, filter the inspections booked date to the input date."
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "enum": [
                  "due_date",
                  "-due_date"
                ]
              }
            },
            "in": "query",
            "name": "sort",
            "style": "form",
            "explode": false,
            "description": "Sort the inspections by the input value."
          }
        ],
        "responses": {
          "200": {
            "description": "Get all Inspections.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Inspection"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInspector"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBookedBy"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/inspections/{inspection_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "inspection_id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "Get a single Inspection.",
        "tags": [
          "Inspections"
        ],
        "responses": {
          "200": {
            "description": "Get Inspection by `UUID`.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Inspection"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedInspector"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedBookedBy"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-inspections-inspection_id",
        "description": "This endpoint retrieves a single inspection by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "property",
                  "inspector",
                  "bookedBy"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/invoices": {
      "get": {
        "summary": "Get all Invoices",
        "tags": [
          "Invoices"
        ],
        "operationId": "get-invoices",
        "description": "This endpoint retrieves multiple paginated invoices along with `meta` and `pagination` information.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "property",
                  "owner",
                  "line_items"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "filter[paid]",
            "description": "Filter whether the invoice is paid or not"
          },
          {
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "name": "filter[voided]",
            "description": "Filter whether the invoice is voided or not"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "enum": [
                  "sales",
                  "lettings"
                ]
              }
            },
            "in": "query",
            "name": "filter[invoice_type]",
            "description": "Optional filter to filter between sales and lettings invoices.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ],
        "responses": {
          "200": {
            "description": "Get all Invoices.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFees"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        }
      }
    },
    "/invoices/{invoice_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "invoice_id",
          "in": "path",
          "required": true
        }
      ],
      "get": {
        "summary": "Get a single Invoice.",
        "tags": [
          "Invoices"
        ],
        "responses": {
          "200": {
            "description": "Get Invoice by `UUID`.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFees"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-invoices-invoice_id",
        "description": "This endpoint retrieves a single Invoice by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "uniqueItems": true,
                "minItems": 1,
                "enum": [
                  "property",
                  "owner",
                  "line_items"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      },
      "patch": {
        "summary": "Mark an Invoice as paid",
        "operationId": "patch-invoices-invoiceId",
        "tags": [
          "Invoices"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "409": {
            "$ref": "#/components/responses/409"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "422": {
            "$ref": "#/components/responses/422"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "description": "This endpoint allows you to mark an Invoice as paid by providing a `paid_at` date.",
        "requestBody": {
          "content": {
            "application/vnd.api+json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "invoice"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "format": "uuid"
                      },
                      "attributes": {
                        "type": "object",
                        "required": [
                          "paid_at"
                        ],
                        "properties": {
                          "paid_at": {
                            "type": "string",
                            "format": "date-time",
                            "description": "The date the invoice was paid.",
                            "example": "2026-02-24T14:30:00Z"
                          }
                        }
                      }
                    }
                  }
                },
                "required": [
                  "data"
                ]
              }
            }
          },
          "description": "Mark the invoice as paid by providing the paid date."
        }
      }
    },
    "/photo-and-measures": {
      "get": {
        "summary": "Get all Photo & Measures",
        "tags": [
          "Photos and Measures"
        ],
        "operationId": "get-photo-and-measures",
        "description": "This endpoint retrieves multiple paginated photo & measures along with `meta` and `pagination` information.",
        "responses": {
          "200": {
            "description": "Get all Photo & Measures.",
            "headers": {},
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PhotoAndMeasure"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPhotographer"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "in": "query",
            "name": "filter[branch]",
            "description": "Filter the Photo & Measures by Branch."
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "booked",
                  "completed",
                  "cancelled"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "filter[status]",
            "description": "Filter the Photo & Measures by their status.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/filter_booked_from"
          },
          {
            "$ref": "#/components/parameters/filter_booked_to"
          },
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "branch",
                  "notes",
                  "owner",
                  "owner.people",
                  "photographer"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,branch,notes,owner,photographer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/photo-and-measures/{photo_and_measure_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "photo_and_measure_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Photo & Measure."
        }
      ],
      "get": {
        "summary": "Get a single Photo & Measure",
        "tags": [
          "Photos and Measures"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PhotoAndMeasure"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedNotes"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPhotographer"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-photo-and-measures-photoAndMeasureId",
        "description": "This endpoint retrieves a single photo & measure by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "branch",
                  "notes",
                  "owner",
                  "owner.people",
                  "photographer"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,branch,notes,owner,photographer`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          }
        ]
      }
    },
    "/sales-instructions": {
      "get": {
        "summary": "Get all Sales Instructions",
        "tags": [
          "Sales Instructions"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SalesInstruction"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFees"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-instructions",
        "description": "This endpoint retrieves multiple paginated sales instructions along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "owner",
                  "owner.people",
                  "valuation",
                  "fees"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,owner`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/sales-instructions/{sales_instruction_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "sales_instruction_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Sales Instruction."
        }
      ],
      "get": {
        "summary": "Get a single Sales Instruction",
        "tags": [
          "Sales Instructions"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SalesInstruction"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedFees"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-sales-instructions-salesInstructionId",
        "description": "This endpoint retrieves a single sales instruction by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "owner",
                  "owner.people",
                  "valuation",
                  "fees"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,owner`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          }
        ]
      }
    },
    "/lettings-instructions": {
      "get": {
        "summary": "Get all Lettings Instructions",
        "tags": [
          "Lettings Instructions"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LettingsInstruction"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-instructions",
        "description": "This endpoint retrieves multiple paginated lettings instructions along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "$ref": "#/components/parameters/filter_created_from"
          },
          {
            "$ref": "#/components/parameters/filter_created_to"
          },
          {
            "$ref": "#/components/parameters/filter_updated_from"
          },
          {
            "$ref": "#/components/parameters/filter_updated_to"
          },
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "owner",
                  "owner.people",
                  "valuation"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,owner`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/lettings-instructions/{lettings_instruction_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "lettings_instruction_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the Lettings Instruction."
        }
      ],
      "get": {
        "summary": "Get a single Lettings Instruction",
        "tags": [
          "Lettings Instructions"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/LettingsInstruction"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedBranch"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedOwner"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedCompany"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedValuation"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-lettings-instructions-lettingsInstructionId",
        "description": "This endpoint retrieves a single lettings instruction by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "owner",
                  "owner.people",
                  "valuation"
                ]
              },
              "uniqueItems": true,
              "minItems": 1
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results, e.g. `property,owner`",
            "explode": false,
            "style": "form"
          },
          {
            "$ref": "#/components/parameters/filter_cancelled"
          }
        ]
      }
    },
    "/move-outs": {
      "get": {
        "summary": "Get all Move outs",
        "tags": [
          "Move Outs"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MoveOut"
                      }
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancy"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMeterReading"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/Links"
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      ]
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-move-outs",
        "description": "This endpoint retrieves multiple paginated MoveOuts along with `meta` and `pagination` information.",
        "parameters": [
          {
            "$ref": "#/components/parameters/filter_trashed"
          },
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "tenancy",
                  "meterReadings"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/page_size"
          },
          {
            "$ref": "#/components/parameters/page_number"
          }
        ]
      }
    },
    "/move-outs/{move_out_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "move_out_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the MoveOut."
        }
      ],
      "get": {
        "summary": "Get a single MoveOut",
        "tags": [
          "Move Outs"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MoveOut"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedTenancy"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedMeterReading"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-moveOuts-MoveOutId",
        "description": "This endpoint retrieves a single MoveOut by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "tenancy",
                  "meterReadings"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/esign-documents/{esign_document_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string",
            "format": "uuid"
          },
          "name": "esign_document_id",
          "in": "path",
          "required": true,
          "description": "The UUID of the E-Sign Document."
        }
      ],
      "get": {
        "summary": "Get a single E-Sign Document",
        "tags": [
          "E-Sign Documents"
        ],
        "responses": {
          "200": {
            "description": "OK.",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/EsignDocument"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedEsignDocumentRecipient"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPerson"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "operationId": "get-esign-documents-esign-document-id",
        "description": "This endpoint retrieves a single E-Sign Document by its `UUID`.",
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "recipients",
                  "recipients.person"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Optional related entities to include in the results.",
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/portal-listings/{listing_id}": {
      "parameters": [
        {
          "schema": {
            "type": "string"
          },
          "name": "listing_id",
          "in": "path",
          "required": true,
          "description": "External listing ID from the portal"
        }
      ],
      "get": {
        "summary": "Get Portal Listing by ID",
        "description": "This endpoint retrieves a single portal listing by its external listing ID.",
        "operationId": "get-portal-listings-listing-id",
        "tags": [
          "Portal Listings"
        ],
        "responses": {
          "200": {
            "description": "Portal listing retrieved successfully",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PortalListing"
                    },
                    "included": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/IncludedProperty"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedPortal"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedSalesListing"
                          },
                          {
                            "$ref": "#/components/schemas/IncludedLettingsListing"
                          }
                        ]
                      }
                    },
                    "links": {
                      "$ref": "#/components/schemas/IncludedLinks"
                    },
                    "meta": {
                      "type": "object"
                    },
                    "jsonapi": {
                      "$ref": "#/components/schemas/JsonApi"
                    }
                  }
                },
                "examples": {
                  "Basic Portal Listing": {
                    "summary": "Basic portal listing response",
                    "value": {
                      "data": {
                        "id": "550e8400-e29b-41d4-a716-446655440010",
                        "type": "portal_listing",
                        "attributes": {
                          "remote_identifier": "12345",
                          "remote_url": "https://portal.com/listing/12345",
                          "listing_type": "salesListing",
                          "active": true,
                          "created_at": "2024-01-01T00:00:00Z",
                          "updated_at": "2024-01-01T00:00:00Z"
                        },
                        "relationships": {
                          "portal": {
                            "data": {
                              "type": "portal",
                              "id": "550e8400-e29b-41d4-a716-446655440020"
                            }
                          }
                        },
                        "links": {
                          "self": "https://api.street.co.uk/open-api/v1/portal-listings/12345"
                        }
                      }
                    }
                  },
                  "Portal Listing with Property": {
                    "summary": "Portal listing with property included",
                    "value": {
                      "data": {
                        "id": "550e8400-e29b-41d4-a716-446655440011",
                        "type": "portal_listing",
                        "attributes": {
                          "remote_identifier": "12345",
                          "remote_url": "https://portal.com/listing/12345",
                          "listing_type": "salesListing",
                          "active": true,
                          "created_at": "2024-01-01T00:00:00Z",
                          "updated_at": "2024-01-01T00:00:00Z"
                        },
                        "relationships": {
                          "property": {
                            "data": {
                              "type": "property",
                              "id": "550e8400-e29b-41d4-a716-446655440001"
                            }
                          }
                        },
                        "links": {
                          "self": "https://api.street.co.uk/open-api/v1/portal-listings/12345"
                        }
                      },
                      "included": [
                        {
                          "id": "550e8400-e29b-41d4-a716-446655440001",
                          "type": "property",
                          "attributes": {
                            "inline_address": "123 Main Street, London",
                            "public_address": "123 Main Street, London",
                            "bedrooms": 3,
                            "bathrooms": 2,
                            "receptions": 1,
                            "status": "For Sale"
                          },
                          "links": {
                            "self": "https://api.street.co.uk/open-api/v1/properties/550e8400-e29b-41d4-a716-446655440001"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400"
          },
          "401": {
            "$ref": "#/components/responses/401"
          },
          "403": {
            "$ref": "#/components/responses/403"
          },
          "404": {
            "$ref": "#/components/responses/404"
          },
          "406": {
            "$ref": "#/components/responses/406"
          },
          "415": {
            "$ref": "#/components/responses/415"
          },
          "500": {
            "$ref": "#/components/responses/500"
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "array",
              "uniqueItems": true,
              "minItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "property",
                  "portal",
                  "salesListing",
                  "lettingsListing"
                ]
              }
            },
            "in": "query",
            "name": "include",
            "description": "Comma-separated list of relationships to include, e.g. `property,portal`",
            "style": "form",
            "explode": false
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "jsonApiErrorResponseBody": {
        "title": "JSON:API Error Response Body",
        "description": "Response body for JSON:API errors, containing an array of `errors` in place of the `data` property provided in JSON:API success responses. Used for non-400/500 error codes where only a single error is expected.",
        "type": "object",
        "properties": {
          "meta": {
            "type": "object"
          },
          "source": {
            "type": "object",
            "description": "The primary source of the conflict for 409 responses.",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "JSON Pointer to the conflicting request value."
              },
              "parameter": {
                "type": "string",
                "description": "URI parameter related to the conflict."
              }
            }
          },
          "errors": {
            "description": "An array of error objects providing additional information about problems encountered while processing the request.",
            "type": "array",
            "maxItems": 1,
            "items": {
              "$ref": "#/components/schemas/jsonApiError"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "jsonApiMultiErrorResponseBody": {
        "title": "JSON:API Multi-Error Response Body",
        "description": "Response body for JSON:API errors that may contain multiple error objects (400 Bad Request and 500 Internal Server Error).",
        "type": "object",
        "properties": {
          "meta": {
            "type": "object"
          },
          "errors": {
            "description": "An array of error objects providing additional information about problems encountered while processing the request.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/jsonApiError"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "jsonApiError": {
        "title": "JSON:API Error Object",
        "description": "A JSON:API object representing a single error.",
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "description": "An object containing references to the primary source of the error.",
            "properties": {
              "pointer": {
                "type": "string",
                "description": "A JSON Pointer to the value in the request document that caused the error."
              },
              "parameter": {
                "type": "string",
                "description": "A string indicating which URI query parameter caused the error."
              }
            }
          }
        },
        "required": [
          "title"
        ],
        "examples": [
          {
            "title": "401 Unauthorized",
            "detail": "The requester is not authorized to access the resource.",
            "code": "401"
          }
        ]
      },
      "LettingsApplication": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_application"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsApplicationAttributes"
              },
              "relationships": {
                "$ref": "#/components/schemas/DownloadableMedia"
              }
            }
          }
        ]
      },
      "Applicant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "applicant"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ApplicantAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "viewings": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "viewing"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "offers": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "sales_offer",
                                    "lettings_offer"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "people": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "person"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "sales": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "sale"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "followUps": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "follow_up"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "examples": [],
        "title": "Applicant"
      },
      "ApplicantAttributes": {
        "type": "object",
        "title": "Applicant (attributes)",
        "properties": {
          "applicant_type": {
            "type": "string",
            "enum": [
              "sales",
              "lettings"
            ]
          },
          "name": {
            "type": "string",
            "example": "Dave Smith & Helen Bloggs"
          },
          "financial_position": {
            "type": [
              "string",
              "null"
            ],
            "example": "Agreement in Principle in place"
          },
          "buying_position": {
            "example": "Property to sell",
            "enum": [
              "First-time buyer",
              "Investor",
              "Buy to let investor",
              "No property to sell",
              "Developer",
              "Buying Agent",
              "In process of selling - Valuation",
              "In process of selling - On the market",
              "In process of selling - Sold STC",
              "Property to sell",
              "In process of selling - Under Offer",
              null
            ]
          },
          "letting_position": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Homeowner",
              "Renting",
              "Living with Family",
              "Selling",
              "Other",
              null
            ]
          },
          "requirements": {
            "type": "object",
            "properties": {
              "min_price": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "max_price": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "min_bedrooms": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 1
              },
              "preferred_bedrooms": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 1
              },
              "desired_move_in_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "desired_tenancy_period": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "furnished": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "pets_allowed": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "outside_space": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "min_land_area": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "garage": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "new_build": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "retirement_property": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "min_parking": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "preferred_parking": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "property_type_preference": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                },
                "example": {
                  "house": "Don't Mind",
                  "flat": "Might Consider",
                  "semi_detached": "Would Prefer"
                }
              },
              "new_property_type_preference": {
                "deprecated": true,
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/ApplicantPreferenceChoice"
                },
                "example": {
                  "house": "Don't Mind",
                  "flat": "Might Consider",
                  "semi_detached": "Would Prefer"
                }
              },
              "areas": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "example": "Ellesmere Park"
                }
              }
            }
          },
          "active": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "lead_rating": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "hot",
              "warm",
              "cold",
              null
            ]
          }
        }
      },
      "Area": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "area"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/AreaAttributes"
              }
            }
          }
        ],
        "title": "Area",
        "x-tags": [
          "Areas"
        ]
      },
      "AreaAttributes": {
        "type": "object",
        "title": "Area (attributes)",
        "properties": {
          "name": {
            "type": [
              "string"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Branch": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "branch"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/BranchAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "users": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicants": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "applicant"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Branch",
        "x-tags": [
          "Branches"
        ]
      },
      "BranchAttributes": {
        "type": "object",
        "title": "Branch (attributes)",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "name": {
            "type": "string"
          },
          "public_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email_address": {
            "type": "string",
            "format": "email"
          },
          "telephone": {
            "type": "string"
          },
          "website": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "about_branch_copy": {
            "type": [
              "string",
              "null"
            ]
          },
          "disclaimer": {
            "type": [
              "string",
              "null"
            ]
          },
          "matching_links_to_website": {
            "type": [
              "boolean",
              "null"
            ],
            "readOnly": true,
            "description": "If true, custom property matching links are enabled for the branch."
          },
          "matching_url_pattern": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true,
            "description": "Pattern for property match URLs on the agent website: https://www.yourwebsite.co.uk/property/{UUID}"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Brand": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "brand"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/BrandAttributes"
              }
            }
          }
        ],
        "title": "Brand",
        "x-tags": [
          "Brands"
        ]
      },
      "BrandAttributes": {
        "type": "object",
        "title": "Brand (attributes)",
        "properties": {
          "name": {
            "type": "string"
          },
          "primary_colour": {
            "type": "string"
          },
          "secondary_colour": {
            "type": "string"
          },
          "tertiary_colour": {
            "type": "string"
          },
          "about_us": {
            "type": "string"
          },
          "why_instruct_us": {
            "type": "string"
          },
          "valuation_url": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Company": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "company"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/CompanyAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicants": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "applicant"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "people": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "person"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Companies"
        ],
        "title": "Company"
      },
      "CompanyAttributes": {
        "type": "object",
        "title": "Company Attributes",
        "properties": {
          "name": {
            "type": "string",
            "example": "Adams Builders"
          },
          "address": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "telephone_number": {
            "type": "string"
          },
          "email_address": {
            "type": "string"
          },
          "owner": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/PersonSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "CompanyTenantAttributes": {
        "type": "object",
        "title": "Company Attributes",
        "properties": {
          "tenant_type": {
            "type": "string",
            "const": "company"
          },
          "name": {
            "type": "string",
            "example": "Adams Builders"
          },
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "telephone_number": {
            "type": "string"
          },
          "email_address": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Enquiry": {
        "title": "Enquiry",
        "x-tags": [
          "Enquiries"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "enquiry"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/EnquiryAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "property"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "person": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "person"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "EnquiryAttributes": {
        "title": "Enquiry (attributes)",
        "type": "object",
        "examples": [],
        "properties": {
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email_address": {
            "type": [
              "string",
              "null"
            ],
            "format": "email"
          },
          "telephone_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "message": {
            "type": "string"
          },
          "property_uuid": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "custom_source": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 25,
            "example": "website"
          },
          "branch_uuid": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid"
          },
          "request_viewing": {
            "type": "boolean"
          },
          "request_valuation": {
            "type": "boolean"
          },
          "property_to_sell": {
            "type": "boolean"
          },
          "property_to_let": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "FollowUp": {
        "title": "Follow Up",
        "x-tags": [
          "Follow Ups"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "follow_up"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/FollowUpAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "branch"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "negotiator": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "negotiator"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "property"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "sale": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "sale"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "salesApplicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "salesApplicant"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsApplicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "lettingsApplicant"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "valuation": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "viewing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "viewing"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "FollowUpAttributes": {
        "title": "Follow Up (attributes)",
        "type": "object",
        "properties": {
          "subject_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "deprecated": true,
            "description": "Deprecated: use the subject relationship instead."
          },
          "subject_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "property",
              "lettingsApplicant",
              "salesApplicant",
              "sale",
              "valuation",
              "viewing",
              null
            ]
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Todo": {
        "title": "Task",
        "x-tags": [
          "Tasks"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "todo"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TodoAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "negotiator": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "negotiator"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "property"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "sale": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "sale"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "salesApplicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "salesApplicant"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsApplicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "lettingsApplicant"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "valuation": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "viewing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "viewing"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "TodoAttributes": {
        "title": "Task (attributes)",
        "type": "object",
        "properties": {
          "subject_id": {
            "type": [
              "string",
              "null"
            ],
            "format": "uuid",
            "deprecated": true,
            "description": "Deprecated: use the subject relationship instead."
          },
          "subject_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "property",
              "lettingsApplicant",
              "salesApplicant",
              "sale",
              "valuation",
              "viewing",
              null
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "due_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TodoType": {
        "title": "TaskType",
        "x-tags": [
          "Task Types"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "todoType"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TodoTypeAttributes"
              },
              "relationships": {
                "type": "object"
              }
            }
          }
        ]
      },
      "TodoTypeAttributes": {
        "title": "TaskType (attributes)",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "colour": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "Landlord": {
        "title": "Landlord",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "landlord"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LandlordAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Landlords"
        ]
      },
      "LandlordAttributes": {
        "title": "Landlord (attributes)",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonSimple"
          },
          {
            "type": "object",
            "properties": {
              "landlord_status": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "Current",
                  "Previous"
                ]
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ],
        "examples": []
      },
      "LettingsOffer": {
        "title": "LettingsOffer",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_offer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsOfferAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "lettingsListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "lettings_listing"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Lettings Offers"
        ]
      },
      "LettingsOfferAttributes": {
        "type": "object",
        "title": "Lettings Offer (attributes)",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "desired_tenancy_length": {
            "type": "integer",
            "example": 12,
            "description": "Number of months desired"
          },
          "desired_move_in_date": {
            "type": "string",
            "format": "date-time"
          },
          "rent_amount": {
            "type": "integer"
          },
          "rent_frequency": {
            "type": "string",
            "enum": [
              "Per Week",
              "Per 2 Weeks",
              "Per 4 Weeks",
              "Per Calendar Month",
              "Per Quarter",
              "Per 6 Months",
              "Per Annum"
            ]
          },
          "tenants_under_18": {
            "type": "integer"
          },
          "pets": {
            "type": "boolean"
          },
          "smokers": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "Relayed To Owner",
              "Rejected",
              "Accepted",
              "Withdrawn"
            ]
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MaintenanceRequest": {
        "title": "Maintenance Request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "maintenance-request"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/MaintenanceRequestAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "MaintenanceJob": {
        "title": "Maintenance Job",
        "x-tags": [
          "Maintenance Jobs"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "maintenance-job"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/MaintenanceJobAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "MaintenanceJobAttributes": {
        "title": "Maintenance Job (attributes)",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "summary": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "priority": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high",
              "urgent",
              "emergency"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "ongoing",
              "closed",
              "cancelled"
            ]
          },
          "reported_by": {
            "type": "string",
            "enum": [
              "tenant",
              "landlord",
              "contractor",
              "agent"
            ]
          },
          "reported_at": {
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MaintenanceRequestAttributes": {
        "title": "Maintenance Request (attributes)",
        "type": "object",
        "properties": {
          "summary": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "priority": {
            "type": "string",
            "enum": [
              "Low",
              "Medium",
              "High",
              "Urgent",
              "Emergency"
            ]
          },
          "reported_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Note": {
        "title": "Note",
        "x-tags": [
          "Notes"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "note"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/NoteAttributes"
              }
            }
          }
        ]
      },
      "NoteAttributes": {
        "title": "Note (attributes)",
        "type": "object",
        "properties": {
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "author": {
            "type": [
              "string",
              "null"
            ]
          },
          "pinned_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "OwnerAttributes": {
        "title": "Owner (attributes)",
        "type": "object",
        "properties": {
          "is_company": {
            "type": "boolean"
          },
          "contact_name": {
            "type": "string"
          },
          "contact_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "contact_telephone_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_email_address": {
            "type": [
              "string",
              "null"
            ],
            "format": "email"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Person": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "person"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PersonAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "description": "All Properties owned by this Person",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicants": {
                    "description": "All sales and letting Applicants this person is a part of.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "applicant"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "description": "Any Notes attached to this Person.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "format": "uuid"
                                },
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Person",
        "type": "object"
      },
      "PersonAttributes": {
        "title": "Person (attributes)",
        "type": "object",
        "properties": {
          "full_name": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "example": "Mrs"
          },
          "first_name": {
            "type": "string",
            "example": "Jane"
          },
          "last_name": {
            "type": "string",
            "example": "Doe"
          },
          "address": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "telephone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelephoneNumberSimple"
            }
          },
          "email_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddressSimple"
            }
          },
          "marketing_consent": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "contact_preferences": {
            "type": "object",
            "properties": {
              "email": {
                "type": "boolean"
              },
              "post": {
                "type": "boolean"
              },
              "text": {
                "type": "boolean"
              },
              "phone": {
                "type": "boolean"
              }
            }
          },
          "statuses": {
            "type": "object",
            "minProperties": 3,
            "maxProperties": 3,
            "additionalProperties": false,
            "properties": {
              "vendor": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  null,
                  "Current",
                  "Previous"
                ]
              },
              "landlord": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  null,
                  "Current",
                  "Previous"
                ]
              },
              "tenant": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  null,
                  "Current",
                  "Previous"
                ]
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "GuarantorAttributes": {
        "title": "Guarantor (attributes)",
        "type": "object",
        "properties": {
          "full_name": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "example": "Mrs"
          },
          "first_name": {
            "type": "string",
            "example": "Jane"
          },
          "last_name": {
            "type": "string",
            "example": "Doe"
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AddressSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "telephone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelephoneNumberSimple"
            }
          },
          "email_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddressSimple"
            }
          },
          "marketing_consent": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "contact_preferences": {
            "type": "object",
            "properties": {
              "email": {
                "type": "boolean"
              },
              "post": {
                "type": "boolean"
              },
              "text": {
                "type": "boolean"
              },
              "phone": {
                "type": "boolean"
              }
            }
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Property": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "property"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PropertyAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "media": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "media"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "floorplans": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "floorplan"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "rooms": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "room"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "epc": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "epc"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "brochure": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "brochure"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "outsideSpaces": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "outside_space"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "parking": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "parking"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "viewings": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "viewing"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "valuations": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "valuation"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "negotiator": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "negotiator"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "followUp": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "follow_up"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "sales": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "sale"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "salesListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "sales_listing"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "lettings_listing"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "interestedApplicants": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "interested_applicant"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "propertyKeys": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property_key"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Properties"
        ],
        "title": "Property"
      },
      "PropertyAttributes": {
        "type": "object",
        "title": "Property (attributes)",
        "properties": {
          "is_sales": {
            "type": "boolean"
          },
          "is_lettings": {
            "type": "boolean"
          },
          "company_owned": {
            "type": "boolean"
          },
          "is_commercial": {
            "type": "boolean"
          },
          "is_residential": {
            "type": "boolean"
          },
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "inline_address": {
            "type": "string"
          },
          "public_address": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Not On The Market",
              "Valuation Lost",
              "Valuation Booked",
              "Provisional Valuation Booked",
              "Valuation Pending",
              "Valuation Cancelled",
              "Valuation Completed",
              "Instructed",
              "For Sale",
              "Under Offer",
              "Sold STC",
              "Exchanged",
              "Let",
              "To Let",
              "Let Agreed",
              "For Sale and To Let",
              "Withdrawn Sales",
              "Withdrawn Lettings",
              "Withdrawn Sales And Lettings",
              "Completed"
            ]
          },
          "bedrooms": {
            "type": "integer"
          },
          "bathrooms": {
            "type": "integer"
          },
          "receptions": {
            "type": "integer"
          },
          "floor_area": {
            "type": [
              "string",
              "null"
            ]
          },
          "plot_area": {
            "type": [
              "string",
              "null"
            ]
          },
          "land_area": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_description_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "short_description_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_summary_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "property_type": {
            "type": "string"
          },
          "property_style": {
            "type": "string"
          },
          "property_age_bracket": {
            "type": "string"
          },
          "construction_year": {
            "type": [
              "string",
              "integer",
              "null"
            ]
          },
          "is_listed_building": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_conservation_area": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "tenure": {
            "type": "string"
          },
          "tenure_notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "lease_expiry_year": {
            "type": [
              "string",
              "null"
            ]
          },
          "lease_expiry_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "display_property_style": {
            "type": "string"
          },
          "work_required": {
            "type": "boolean"
          },
          "heating_system": {
            "type": "string"
          },
          "council_tax_band": {
            "type": "string"
          },
          "council_tax_cost": {
            "type": [
              "integer",
              "null"
            ]
          },
          "local_authority": {
            "type": [
              "string",
              "null"
            ]
          },
          "service_charge": {
            "type": "integer"
          },
          "service_charge_period": {
            "type": "string",
            "default": "month"
          },
          "service_charge_notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "ground_rent": {
            "type": [
              "integer",
              "null"
            ]
          },
          "ground_rent_period": {
            "type": "string",
            "default": "month"
          },
          "ground_rent_review_period_years": {
            "type": [
              "integer",
              "null"
            ]
          },
          "ground_rent_uplift": {
            "type": [
              "integer",
              "null"
            ]
          },
          "ground_rent_expiry": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_outdoor_space": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shared_ownership": {
            "type": "boolean",
            "default": false
          },
          "shared_ownership_notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "shared_ownership_rent": {
            "type": [
              "integer",
              "null"
            ]
          },
          "shared_ownership_rent_frequency": {
            "type": [
              "string",
              "null"
            ]
          },
          "shared_ownership_percentage_sold": {
            "type": [
              "integer",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                },
                "order": {
                  "type": "number"
                }
              }
            }
          },
          "features": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "The ID of the feature"
                },
                "name": {
                  "type": "string"
                },
                "order": {
                  "type": "number"
                },
                "include_on_portals": {
                  "type": "boolean"
                },
                "highlight": {
                  "type": "boolean"
                }
              }
            }
          },
          "material_information": {
            "type": "object",
            "properties": {
              "council_tax_band": {
                "type": [
                  "string",
                  "null"
                ],
                "example": "D",
                "maxLength": 1
              },
              "lease_expiry_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "ground_rent_pence": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "ground_rent_period": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "ground_rent_expiry": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date"
              },
              "ground_rent_review_period_years": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "ground_rent_uplift": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Value is a percentage"
              },
              "service_charge_pence": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "service_charge_period": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "service_charge_notes": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "water_supply": {
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true,
                "minItems": 1,
                "items": {
                  "type": "string",
                  "enum": [
                    "direct_main_waters",
                    "wells",
                    "boreholes",
                    "springs",
                    "other"
                  ]
                }
              },
              "water_supply_other": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "electricity_supply": {
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true,
                "minItems": 1,
                "items": {
                  "type": "string",
                  "enum": [
                    "national_grid",
                    "wind_turbine",
                    "solar_panels",
                    "generator",
                    "other"
                  ]
                }
              },
              "electricity_supply_other": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sewerage": {
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true,
                "minItems": 1,
                "items": {
                  "type": "string",
                  "enum": [
                    "standard",
                    "septic_tank",
                    "sewage_treatment_plants",
                    "cesspit",
                    "cesspool",
                    "other"
                  ]
                }
              },
              "sewerage_other": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "heating_supply": {
                "type": [
                  "array",
                  "null"
                ],
                "uniqueItems": true,
                "minItems": 1,
                "items": {
                  "type": "string",
                  "enum": [
                    "electric_central",
                    "gas_central",
                    "gas_other",
                    "communal_heating",
                    "lpg_central",
                    "wood_burner",
                    "biomass_boiler",
                    "solar_panels",
                    "heat_pump",
                    "other"
                  ]
                }
              },
              "heating_supply_other": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "heating_system": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "broadband": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "adsl",
                  "cable",
                  "fttc",
                  "fttp",
                  null
                ]
              },
              "has_restrictions": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "has_required_access": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "public_right_of_way": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "flood_risk": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "sources_of_flooding": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "string"
                }
              },
              "sources_of_flooding_other": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "has_flood_defences": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "has_flooded_in_last_five_years": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "adaptations_list": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {}
              },
              "adaptations_other": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "viewing_booking_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_instructed_sales_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_instructed_lettings_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_exchanged_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "custom_meta_data": {
            "type": [
              "object",
              "array"
            ],
            "items": {}
          },
          "lead_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "publish_after": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "archived_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "virtual_tour": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "property_urls": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "image",
                    "floor_plan",
                    "brochure",
                    "virtual_tour",
                    "audio_tour",
                    "ipack"
                  ]
                },
                "url": {
                  "type": "string",
                  "format": "uri",
                  "maxLength": 2048
                }
              },
              "required": [
                "title",
                "type",
                "url"
              ]
            }
          }
        }
      },
      "PropertyKeys": {
        "title": "Property Keys",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "property_key"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PropertyKeysAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "PropertyKeysAttributes": {
        "title": "Property Key (attributes)",
        "type": "object",
        "properties": {
          "ident": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "Checked In",
              "Checked Out"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "QuestionnaireResponse": {
        "title": "Questionnaire Response",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_response"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireResponseAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "questionnaire": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "questionnaire"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "answers": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "questionnaire_response_answer"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "submitter": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "user"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "QuestionnaireResponseAttributes": {
        "title": "Questionnaire Response (attributes)",
        "type": "object",
        "properties": {
          "submitted_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireAttributes": {
        "title": "Questionnaire (attributes)",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "questionnaire_type": {
            "type": "string"
          },
          "published_at": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireSectionAttributes": {
        "title": "Questionnaire Section (attributes)",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "order": {
            "type": "integer"
          },
          "hidden": {
            "type": "boolean"
          },
          "is_editable": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireQuestionAttributes": {
        "title": "Questionnaire Question (attributes)",
        "type": "object",
        "properties": {
          "body": {
            "type": [
              "string",
              "null"
            ]
          },
          "question_type": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated: use question_type instead."
          },
          "hidden": {
            "type": "boolean"
          },
          "help_text": {
            "type": "string"
          },
          "order": {
            "type": "integer"
          },
          "is_editable": {
            "type": "boolean"
          },
          "meta": {
            "type": "object"
          },
          "identifier": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireQuestionOptionAttributes": {
        "title": "Questionnaire Question Option (attributes)",
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "additional_data_input_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "prohibited": {
            "type": "boolean"
          },
          "order": {
            "type": "integer"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireResponseAnswerAttributes": {
        "title": "Questionnaire Response Answer (attributes)",
        "type": "object",
        "properties": {
          "dont_know": {
            "type": "boolean"
          },
          "not_relevant": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "QuestionnaireResponseAnswerValueAttributes": {
        "title": "Questionnaire Response Answer Value (attributes)",
        "type": "object",
        "properties": {
          "answer": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "PropertyDescriptionUpdateAttributes": {
        "type": "object",
        "title": "Property Description Update",
        "properties": {
          "full_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_description_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "short_description_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_summary_lettings": {
            "type": [
              "string",
              "null"
            ]
          },
          "virtual_tour": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "property_urls": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "image",
                    "floor_plan",
                    "brochure",
                    "virtual_tour",
                    "audio_tour",
                    "ipack"
                  ]
                },
                "url": {
                  "type": "string",
                  "format": "uri",
                  "maxLength": 2048
                }
              },
              "required": [
                "title",
                "type",
                "url"
              ]
            }
          }
        }
      },
      "Sale": {
        "title": "Sale",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sale"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SaleAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "vendor": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "vendor"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Sales"
        ]
      },
      "SaleAttributes": {
        "title": "Sale (attributes)",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "status": {
            "type": "string",
            "enum": [
              "Completed",
              "Fallen Through",
              "Offer Accepted",
              "Exchanged",
              "Under Offer"
            ]
          },
          "sale_price": {
            "type": "number"
          },
          "dates": {
            "type": "object",
            "properties": {
              "expected_exchange_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "exchanged_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "expected_completion_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "completed_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            }
          }
        }
      },
      "SalesOffer": {
        "title": "SalesOffer",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sales_offer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SalesOfferAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "salesListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "sales_listing"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "SalesOfferAttributes": {
        "type": "object",
        "title": "Sales Offer (attributes)",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "offer_amount": {
            "type": "number",
            "example": 425000
          },
          "offer_made_at": {
            "type": "string",
            "format": "date-time"
          },
          "notes": {
            "type": [
              "string",
              "null"
            ],
            "example": "Own under offer to doctor - sold through p bricks"
          },
          "status": {
            "type": "string",
            "enum": [
              "Pending",
              "Relayed to Vendor",
              "Accepted",
              "Rejected",
              "Withdrawn"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Tenant": {
        "title": "Tenant",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "tenant"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TenantAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "tenancies": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "tenancy"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "examples": []
      },
      "TenantAttributes": {
        "title": "Tenant (attributes)",
        "allOf": [
          {
            "$ref": "#/components/schemas/PersonSimple"
          },
          {
            "type": "object",
            "properties": {
              "tenant_type": {
                "type": "string",
                "const": "person"
              },
              "tenant_status": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "value": {
                    "type": "string",
                    "enum": [
                      "current",
                      "previous"
                    ]
                  },
                  "key": {
                    "type": "string",
                    "enum": [
                      "CURRENT",
                      "PREVIOUS"
                    ]
                  },
                  "description": {
                    "type": "string",
                    "enum": [
                      "Current",
                      "Previous"
                    ]
                  }
                }
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ],
        "examples": []
      },
      "Tenancy": {
        "title": "Tenancy",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "tenancy"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TenancyAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "tenants": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "tenant"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "examples": []
      },
      "TenancyAttributes": {
        "title": "Tenancy (attributes)",
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "cancelled",
              "ended",
              "ending",
              "expiring",
              "renewed",
              "renewing",
              "upcoming"
            ]
          },
          "start_date": {
            "type": "string",
            "format": "date-time"
          },
          "end_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "description": "Null for periodic tenancies, which have no fixed end date."
          },
          "original_term_start_date": {
            "type": "string",
            "format": "date-time"
          },
          "tenancy_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Assured Shorthold",
                  "Excluded",
                  "Assured",
                  "Non-assured",
                  "Regulated",
                  "Company Let",
                  "HMO",
                  "License",
                  "Assured Periodic Tenancy"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "tenancy_term_type": {
            "type": "string",
            "enum": [
              "Periodic",
              "Fixed"
            ]
          },
          "rent_amount": {
            "type": "integer",
            "example": 495
          },
          "rent_frequency": {
            "type": "string",
            "enum": [
              "Per Week",
              "Per 2 Weeks",
              "Per 4 Weeks",
              "Per Calendar Month",
              "Per Quarter",
              "Per 6 Months",
              "Per Annum"
            ]
          },
          "deposit_amount": {
            "type": [
              "integer",
              "null"
            ],
            "example": 900
          },
          "service_level": {
            "type": [
              "string",
              "null"
            ],
            "example": "Fully Managed"
          },
          "service_level_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "Let Only",
                  "Rent Collection",
                  "Fully Managed",
                  "Other"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "management_fee": {
            "type": [
              "string",
              "null"
            ],
            "example": "10%"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "HoldingDepositAttributes": {
        "title": "Holding Deposit (attributes)",
        "type": "object",
        "properties": {
          "amount": {
            "type": [
              "integer",
              "null"
            ],
            "example": 495
          },
          "received_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "TenancyAgreementAttributes": {
        "title": "Tenancy Agreement (attributes)",
        "type": "object",
        "properties": {
          "start_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "end_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "tenancy_term_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Periodic",
              "Fixed",
              null
            ]
          },
          "tenancy_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Assured Shorthold",
              "Excluded",
              "Assured",
              "Non-assured",
              "Regulated",
              "Company Let",
              "HMO",
              "License",
              "Assured Periodic Tenancy",
              null
            ]
          },
          "rent_amount": {
            "type": [
              "integer",
              "null"
            ],
            "example": 495
          },
          "rent_frequency": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Per Week",
              "Per 2 Weeks",
              "Per 4 Weeks",
              "Per Calendar Month",
              "Per Quarter",
              "Per 6 Months",
              "Per Annum",
              null
            ]
          },
          "payment_day": {
            "type": [
              "integer",
              "null"
            ],
            "example": 15
          },
          "payment_reference": {
            "type": [
              "string",
              "null"
            ],
            "example": "123ABC"
          },
          "deposit_amount": {
            "type": [
              "integer",
              "null"
            ],
            "example": 900
          },
          "deposit_scheme": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "DPS - Custodial",
              "DPS - Insured",
              "TDS - Custodial",
              "TDS - Insured",
              "My Deposits - Custodial",
              "My Deposits - Insured",
              "Reposit",
              "LPS Scotland",
              "SafeDeposits Scotland - Custodial",
              "My Deposits - Scotland - Custodial",
              "Deposit Replacement",
              "Held by Agent",
              "Held by Landlord",
              null
            ]
          },
          "management_fee": {
            "type": [
              "number",
              "null"
            ],
            "example": 10.7
          },
          "management_fee_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Percentage",
              "Fixed Fee",
              null
            ]
          },
          "additional_clauses": {
            "type": [
              "string",
              "null"
            ]
          },
          "tenancy_agreement_sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "tenancy_agreement_signed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "User": {
        "title": "User",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "user"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "UserAttributes": {
        "title": "User (attributes)",
        "type": "object",
        "properties": {
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "job_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "telephone_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "mobile_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "email_address": {
            "type": "string",
            "format": "email"
          },
          "deactivated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ViewingFeedbackAttributes": {
        "title": "Viewing Feedback (attributes)",
        "type": "object",
        "properties": {
          "feedback": {
            "type": "string"
          },
          "rating": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Poor",
              "Okay",
              "Good",
              "Great",
              null
            ]
          },
          "price_rating": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Good",
              "Fair",
              "High",
              null
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "Completed",
              "No feedback",
              "Pending"
            ]
          },
          "author": {
            "type": [
              "string",
              "null"
            ]
          },
          "visible_to_applicant": {
            "type": "boolean"
          },
          "visible_to_vendor": {
            "type": "boolean"
          },
          "vendor_viewed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_by": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "Valuation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "valuation"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ValuationAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "follow-up": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "follow-up"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "salesReport": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation_sales_report"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsReport": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation_lettings_report"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "salesInstruction": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "sales_instruction"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsInstruction": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "lettings_instruction"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "valuer": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuer"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lostValuationDetail": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "lost_valuation_detail"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "ValuationAttributes": {
        "title": "Valuation (attributes)",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "start": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "end": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "lead_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "valuation_type": {
            "type": "string",
            "enum": [
              "sales",
              "lettings",
              "sales_and_lettings"
            ]
          },
          "type": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated: use valuation_type instead.",
            "enum": [
              "sales",
              "lettings",
              "sales_and_lettings"
            ]
          },
          "years_owned": {
            "type": [
              "integer",
              "null"
            ]
          },
          "work_done": {
            "type": "array",
            "uniqueItems": true,
            "minItems": 0,
            "items": {
              "type": "string",
              "example": "Cosmetic (decorating etc...)",
              "minLength": 0
            }
          },
          "desired_move_timeframe": {
            "type": [
              "string",
              "null"
            ]
          },
          "move_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "custom_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ValuationSalesReportAttributes": {
        "title": "Valuation Sales Report (attributes)",
        "type": "object",
        "properties": {
          "valuation_price_qualifier": {
            "type": "string"
          },
          "valuation_amount": {
            "type": "integer"
          },
          "valuation_range_min_amount": {
            "type": [
              "integer",
              "null"
            ]
          },
          "valuation_range_max_amount": {
            "type": [
              "integer",
              "null"
            ]
          },
          "intro_message": {
            "type": "string"
          },
          "sent_to_vendor_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "published_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ValuationLettingsReportAttributes": {
        "title": "Valuation Lettings Report (attributes)",
        "type": "object",
        "properties": {
          "valuation_amount": {
            "type": "integer"
          },
          "valuation_period": {
            "type": "string"
          },
          "intro_message": {
            "type": "string"
          },
          "sent_to_vendor_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "published_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SalesInstruction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sales_instruction"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SalesInstructionAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "valuation": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "Fees": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fees"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "SalesInstructionAttributes": {
        "title": "Sales Instruction (attributes)",
        "type": "object",
        "properties": {
          "method": {
            "type": "string"
          },
          "marketing_price_qualifier": {
            "type": [
              "string",
              "null"
            ]
          },
          "marketing_price": {
            "type": "integer"
          },
          "instructed_at": {
            "type": "string",
            "format": "date-time"
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "FeeAttributes": {
        "title": "Fees (attributes)",
        "type": "object",
        "properties": {
          "package": {
            "type": "string",
            "enum": [
              "completion",
              "upfront"
            ]
          },
          "label": {
            "type": "string"
          },
          "fee_amount": {
            "type": "integer"
          },
          "vat_type": {
            "type": "string",
            "enum": [
              "exc_vat",
              "inc_vat"
            ]
          },
          "fee_type": {
            "type": "string",
            "enum": [
              "fixed",
              "percentage"
            ]
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "LettingsInstruction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_instruction"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsInstructionAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "valuation": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "valuation"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "LettingsInstructionAttributes": {
        "title": "Lettings Instruction (attributes)",
        "type": "object",
        "properties": {
          "method": {
            "type": "string"
          },
          "marketing_price_pcm": {
            "type": "integer"
          },
          "marketing_price_period": {
            "type": "string"
          },
          "instructed_at": {
            "type": "string",
            "format": "date-time"
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "LostValuationDetailAttributes": {
        "title": "Lost Valuation Detail (attributes)",
        "type": "object",
        "properties": {
          "marketed_again": {
            "type": "boolean"
          },
          "competitor_valuation_amount": {
            "type": [
              "string",
              "null"
            ]
          },
          "fee_type": {
            "type": "string"
          },
          "fee": {
            "type": "number",
            "format": "float"
          },
          "contract_length_qualifier": {
            "type": "string"
          },
          "contract_length": {
            "type": "integer"
          },
          "upfront_fee_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "upfront_fee": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "management_fee_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "management_fee": {
            "type": [
              "number",
              "null"
            ],
            "format": "float"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Vendor": {
        "title": "Vendor",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "vendor"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/VendorAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "VendorAttributes": {
        "title": "Vendor (attributes)",
        "type": "object",
        "properties": {
          "people": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PersonSimple"
            }
          },
          "vendor_status": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Current",
              "Previous"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Solicitor": {
        "title": "Solicitor",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solicitor"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SolicitorAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "solicitorFirm": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "solicitorFirm"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicantSolicitorSale": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "applicant_solicitor_sale"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "ownerSolicitorSale": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "owner_solicitor_sale"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "SolicitorAttributes": {
        "title": "Solicitor (attributes)",
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "full_name": {
            "type": "string"
          },
          "telephone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelephoneNumberSimple"
            }
          },
          "email_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddressSimple"
            }
          },
          "address": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SolicitorFirmAttributes": {
        "title": "Solicitor Firm (attributes)",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "firm_contact_number": {
            "type": "string"
          },
          "firm_email_address": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InterestedApplicant": {
        "title": "Interested Applicant",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "interested_applicant"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InterestedApplicantAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-internal": false
      },
      "Inspection": {
        "title": "Inspection",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "inspection"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InspectionAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "property"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "bookedBy": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "booked_by"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "inspector": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "inspector"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-internal": false
      },
      "InspectionAttributes": {
        "title": "Inspection (attributes)",
        "type": "object",
        "properties": {
          "due_date": {
            "type": "string",
            "format": "date-time"
          },
          "inspection_date": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "Booked",
              "Incomplete",
              "Cancelled",
              "Completed",
              "Overdue",
              "Need to Book",
              "Unconfirmed"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "Invoice": {
        "title": "Invoice",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "invoice"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InvoiceAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "line_items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "fee"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-internal": false
      },
      "InvoiceAttributes": {
        "title": "Invoice (attributes)",
        "type": "object",
        "properties": {
          "invoice_prefix": {
            "type": "string"
          },
          "invoice_number": {
            "type": "integer"
          },
          "total_amount": {
            "type": "integer",
            "example": 425000
          },
          "total_amount_vat": {
            "type": "integer",
            "example": 42500
          },
          "paid": {
            "type": "boolean"
          },
          "paid_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "due_date": {
            "type": "string",
            "format": "date-time"
          },
          "voided_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "InterestedApplicantAttributes": {
        "title": "Interested Applicant (attributes)",
        "type": "object",
        "properties": {
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Viewing": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "viewing"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ViewingAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "viewer": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "viewer"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Viewing"
      },
      "ViewingAttributes": {
        "type": "object",
        "title": "Viewing (attributes)",
        "properties": {
          "viewing_type": {
            "type": "string",
            "enum": [
              "sales",
              "lettings"
            ]
          },
          "type": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated: use viewing_type instead.",
            "enum": [
              "sales",
              "lettings"
            ]
          },
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "start": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "end": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "unaccompanied": {
            "type": "boolean"
          },
          "agent_confirmed": {
            "type": "boolean"
          },
          "occupant_confirmed": {
            "type": "boolean"
          },
          "applicant_confirmed": {
            "type": "boolean"
          },
          "provisional": {
            "type": "boolean"
          },
          "occupant_type": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "By Tenants",
              "By Owner",
              "Vacant",
              "Unknown",
              null
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "unconfirmed",
              "rejected",
              "confirmed",
              "cancelled",
              "completed",
              "missed"
            ]
          },
          "no_show": {
            "type": "boolean"
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AddressSimple": {
        "title": "Address (simple)",
        "type": "object",
        "properties": {
          "single_line": {
            "type": "string",
            "example": "19 Lansdowne Road, Monton, Manchester"
          },
          "anon_single_line": {
            "type": "string",
            "example": "Lansdowne Road, Monton, Manchester"
          },
          "building_number": {
            "type": [
              "string",
              "null"
            ],
            "example": "19"
          },
          "building_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "street": {
            "type": [
              "string",
              "null"
            ]
          },
          "line_1": {
            "type": "string",
            "example": "19 Lansdowne Road"
          },
          "line_2": {
            "type": [
              "string",
              "null"
            ],
            "example": "Monton"
          },
          "line_3": {
            "type": [
              "string",
              "null"
            ],
            "example": "Manchester"
          },
          "line_4": {
            "type": [
              "string",
              "null"
            ]
          },
          "town": {
            "type": [
              "string",
              "null"
            ],
            "example": "Manchester"
          },
          "country": {
            "type": "string",
            "example": "United Kingdom"
          },
          "postcode": {
            "type": "string",
            "example": "M30 9PA"
          },
          "udprn": {
            "type": [
              "string",
              "null"
            ],
            "example": "28327204"
          },
          "geo": {
            "type": "object",
            "properties": {
              "lat": {
                "type": [
                  "number",
                  "null"
                ],
                "example": 0.2365698,
                "format": "float"
              },
              "lng": {
                "type": [
                  "number",
                  "null"
                ],
                "example": 53.023654,
                "format": "float"
              }
            }
          },
          "royal_mail": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "postcode": {
                "type": "string"
              },
              "post_town": {
                "type": "string"
              },
              "thoroughfare": {
                "type": "string"
              },
              "building_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "building_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "department_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "organisation_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sub_building_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "dependent_locality": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "dependent_thoroughfare": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "double_dependent_locality": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "street_group_property_id": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "EmailAddressSimple": {
        "title": "Email Address (simple)",
        "description": "An email address, can be related to a person and/or a company.",
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "john@johndoe.com",
            "format": "email"
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "PersonSimple": {
        "title": "Person (simple)",
        "type": "object",
        "properties": {
          "full_name": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "example": "Mrs"
          },
          "first_name": {
            "type": "string",
            "example": "Jane"
          },
          "last_name": {
            "type": "string",
            "example": "Doe"
          },
          "address": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddressSimple"
              },
              {
                "type": "null"
              }
            ]
          },
          "telephone_numbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TelephoneNumberSimple"
            }
          },
          "email_addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddressSimple"
            }
          },
          "marketing_consent": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "contact_preferences": {
            "type": "object",
            "properties": {
              "email": {
                "type": "boolean"
              },
              "post": {
                "type": "boolean"
              },
              "text": {
                "type": "boolean"
              },
              "phone": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "NetworkSettings": {
        "title": "NetworkSettings",
        "type": "object",
        "properties": {
          "webhooks_enabled": {
            "type": "boolean"
          }
        }
      },
      "TelephoneNumberSimple": {
        "title": "Telephone Number (simple)",
        "description": "An telephone number, can be related to a person and/or a company.",
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "example": "+441632960911"
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary": {
            "type": "boolean"
          }
        }
      },
      "PhotoAndMeasure": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "photo_and_measure"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PhotoAndMeasureAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "notes": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "note"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "photographer": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "oneOf": [
                              {
                                "type": "object",
                                "properties": {
                                  "type": {
                                    "type": "string",
                                    "enum": [
                                      "photographer"
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "PhotoAndMeasureAttributes": {
        "title": "Photo And Measure (attributes)",
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AddressSimple"
          },
          "start": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "end": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "status": {
            "type": "string"
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Meta": {
        "title": "Meta Information",
        "description": "The server's implementation.",
        "type": "object"
      },
      "Links": {
        "title": "Links",
        "description": "Links object - JSON:API Standard.",
        "type": "object",
        "x-examples": {
          "example-1": {
            "self": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2",
            "first": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1",
            "prev": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1",
            "next": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3",
            "last": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9"
          }
        },
        "examples": [
          {
            "self": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2",
            "first": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1",
            "next": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1",
            "prev": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3",
            "last": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9"
          }
        ],
        "properties": {
          "self": {
            "type": "string",
            "example": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=2"
          },
          "first": {
            "type": "string",
            "example": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1"
          },
          "next": {
            "type": "string",
            "example": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=1"
          },
          "prev": {
            "type": "string",
            "example": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=3"
          },
          "last": {
            "type": "string",
            "example": "http://localhost:3000/users?page[number]=2&page[size]=25&page[number]=9"
          }
        }
      },
      "Link": {
        "title": "Link",
        "oneOf": [
          {
            "description": "a string containing the link's URL",
            "type": "string",
            "format": "uri-reference"
          },
          {
            "type": "object",
            "required": [
              "href"
            ],
            "properties": {
              "href": {
                "description": "a string containing the link's URL",
                "type": "string",
                "format": "uri-reference"
              },
              "meta": {
                "$ref": "#/components/schemas/Meta"
              }
            }
          }
        ]
      },
      "IncludedLinks": {
        "title": "Included Links",
        "type": "object",
        "properties": {
          "self": {
            "$ref": "#/components/schemas/Link"
          },
          "related": {
            "$ref": "#/components/schemas/Link"
          }
        },
        "examples": []
      },
      "Pagination": {
        "title": "Pagination",
        "description": "Pagination object - JSON:API Standard.",
        "type": "object",
        "properties": {
          "pagination": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer",
                "example": 226
              },
              "count": {
                "type": "integer",
                "example": 10
              },
              "per_page": {
                "type": "integer",
                "example": 10
              },
              "current_page": {
                "type": "integer",
                "example": 1
              },
              "total_pages": {
                "type": "integer",
                "example": 23
              }
            }
          }
        },
        "x-examples": {
          "example-1": {
            "pagination": {
              "total": 226,
              "count": 10,
              "per_page": 10,
              "current_page": 1,
              "total_pages": 23
            }
          }
        },
        "examples": [
          {
            "pagination": {
              "total": 226,
              "count": 10,
              "per_page": 10,
              "current_page": 1,
              "total_pages": 23
            }
          }
        ]
      },
      "JsonApi": {
        "title": "API Details",
        "description": "The server's implementation.",
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        }
      },
      "RelationshipSingular": {
        "title": "Relationship Singular",
        "description": "Inheritable schema for 1:1 relationships. Data may be null if the relationship is empty.",
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "example": "a827a3ae-4c74-4c32-8b42-42248d4010d3"
                  }
                },
                "required": [
                  "type",
                  "id"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "$ref": "#/components/schemas/Link"
              },
              "related": {
                "$ref": "#/components/schemas/Link"
              }
            }
          }
        }
      },
      "RelationshipPlural": {
        "title": "Relationship Plural",
        "description": "This is a inheritable schema to allow you to easily add relationships to your main schemas. This should be used for `1:n` relationships.",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "id": {
                  "type": "string",
                  "example": "a827a3ae-4c74-4c32-8b42-42248d4010d3"
                }
              }
            }
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "$ref": "#/components/schemas/Link"
              },
              "related": {
                "$ref": "#/components/schemas/Link"
              }
            }
          }
        }
      },
      "IncludedResource": {
        "title": "Included Resource",
        "type": "object",
        "examples": [],
        "required": [
          "type",
          "id"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "attributes": {
            "type": "object"
          },
          "relationships": {
            "type": [
              "object",
              "null"
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        }
      },
      "BaseModel": {
        "title": "Base Model",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "type": "string"
          },
          "attributes": {
            "type": "object"
          },
          "relationships": {
            "type": "object"
          }
        }
      },
      "ApplicantPreferenceChoice": {
        "title": "Applicant Preference Choices",
        "type": "string",
        "enum": [
          "Strong Preference",
          "Don't Mind",
          "Would Prefer",
          "Won't Consider",
          "Might Consider",
          "Must Have"
        ]
      },
      "DefaultMedia": {
        "title": "DefaultMedia",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "p045126_01"
          },
          "order": {
            "type": "integer",
            "example": 1
          },
          "is_featured": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false
          },
          "include_in_listing": {
            "type": [
              "boolean",
              "null"
            ],
            "default": false
          },
          "feature_index": {
            "type": [
              "null",
              "integer"
            ]
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "collection": {
            "type": "string",
            "example": "general"
          }
        }
      },
      "DownloadableMedia": {
        "title": "Downloadable Media",
        "x-tags": [
          "Media"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "downloadable_media"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/DownloadableMediaAttributes"
              }
            }
          }
        ]
      },
      "DownloadableMediaAttributes": {
        "title": "Downloadable Media (attributes)",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "p045126_01"
          },
          "title": {
            "type": [
              "null",
              "string"
            ]
          },
          "collection": {
            "type": "string",
            "example": "general"
          },
          "url": {
            "type": "string",
            "example": "https://example.com/path/to/resource.jpg",
            "format": "url"
          },
          "extension_type": {
            "type": "string",
            "example": "jpg"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "UploadedMedia": {
        "title": "Media",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "floorplan",
              "photo"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "attributes": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "order": {
                "type": "integer"
              },
              "is_featured": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "include_in_listing": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "feature_index": {
                "type": "integer"
              },
              "title": {
                "type": "string"
              },
              "media_type": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "format": "uri"
              },
              "deleted_at": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "updated_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "links": {
            "type": "object",
            "required": [
              "self"
            ],
            "properties": {
              "self": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        }
      },
      "ImageMedia": {
        "title": "Image",
        "type": "object",
        "properties": {
          "media_type": {
            "type": "string",
            "description": "A user defined type to enable categorizing generic media items",
            "enum": [
              "image"
            ]
          },
          "url": {
            "type": "string",
            "example": "https://ik.imagekit.io/street/street-live/properties/general/787110/p045126_01.jpg",
            "format": "uri"
          }
        }
      },
      "PdfMedia": {
        "title": "PDF",
        "type": "object",
        "properties": {
          "media_type": {
            "type": "string",
            "description": "A user defined type to enable categorizing generic media items",
            "enum": [
              "pdf"
            ]
          },
          "url": {
            "type": "string",
            "example": "https://ik.imagekit.io/street/street-live/properties/general/787110/p045126_01.pdf",
            "format": "uri"
          }
        },
        "required": [
          "media_type"
        ]
      },
      "IncludedBranch": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "branch"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/BranchAttributes"
              }
            }
          }
        ],
        "title": "Branch (included)"
      },
      "IncludedCompany": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "company"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/CompanyAttributes"
              }
            }
          }
        ],
        "title": "Company (included)"
      },
      "IncludedInspections": {
        "title": "Inspections (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "inspection"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InspectionAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Inspections"
        ]
      },
      "IncludedApplicant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "applicant"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ApplicantAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "people": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "person"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Applicant (included)"
      },
      "IncludedDownloadableMedia": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "downloadable_media"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/DownloadableMediaAttributes"
              }
            }
          }
        ],
        "examples": [],
        "title": "Downloadable Media (included)",
        "x-tags": [
          "Media"
        ]
      },
      "IncludedMedia": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "attributes": {
                "$ref": "#/components/schemas/MediaAttributes"
              }
            }
          }
        ],
        "examples": [],
        "title": "Media (included)",
        "x-tags": [
          "Media"
        ]
      },
      "Media": {
        "title": "Media",
        "x-tags": [
          "Media"
        ],
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "media"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/MediaAttributes"
              }
            }
          }
        ]
      },
      "MediaAttributes": {
        "title": "MediaAttributes",
        "allOf": [
          {
            "$ref": "#/components/schemas/DefaultMedia"
          },
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ImageMedia"
              },
              {
                "$ref": "#/components/schemas/PdfMedia"
              }
            ]
          }
        ]
      },
      "IncludedBrochure": {
        "title": "Brochure (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "brochure"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Brochures"
        ]
      },
      "IncludedEpc": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "epc"
                ]
              },
              "attributes": {
                "allOf": [
                  {
                    "properties": {
                      "energy_efficiency_rating": {
                        "type": "string"
                      },
                      "environmental_impact_rating": {
                        "type": "string"
                      },
                      "energy_efficiency_current": {
                        "type": "string"
                      },
                      "energy_efficiency_potential": {
                        "type": "string"
                      },
                      "environment_impact_current": {
                        "type": "string"
                      },
                      "environment_impact_potential": {
                        "type": "string"
                      },
                      "media": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "properties": {
                          "image": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "uri"
                          }
                        }
                      }
                    }
                  }
                ],
                "type": "object"
              }
            }
          }
        ],
        "title": "EPC (included)",
        "x-tags": [
          "Epcs"
        ]
      },
      "IncludedFloorplan": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "floorplan"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "urls": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "example": "thumbnail, full"
                    }
                  }
                }
              }
            }
          }
        ],
        "title": "Floorplan (included)",
        "x-tags": [
          "Floorplans"
        ]
      },
      "IncludedFollowUp": {
        "title": "Follow Up (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "follow_up"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/FollowUpAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Follow Ups"
        ]
      },
      "IncludedLettingsListing": {
        "title": "Lettings Listing (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_listing"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsListingAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Lettings Listings"
        ]
      },
      "LettingsListingAttributes": {
        "title": "Lettings Listing (included)",
        "type": "object",
        "properties": {
          "brand_id": {
            "type": "string",
            "format": "uuid"
          },
          "price_pcm": {
            "type": "integer",
            "example": 850
          },
          "deposit": {
            "type": "integer",
            "example": 1700
          },
          "let_type": {
            "type": "string"
          },
          "allows_pets": {
            "type": "boolean"
          },
          "available_from": {
            "type": "string"
          },
          "furnished": {
            "type": "boolean"
          },
          "is_student_rental": {
            "type": "boolean"
          },
          "is_shared_accommodation": {
            "type": "boolean"
          },
          "min_tenancy_period": {
            "type": "string"
          },
          "archived": {
            "type": "boolean"
          },
          "is_low_profile": {
            "type": "boolean"
          },
          "is_not_in_property_feed_api": {
            "type": "boolean"
          },
          "spectre_social_campaigns": {
            "type": "boolean"
          },
          "spectre_email_campaigns": {
            "type": "boolean"
          },
          "full_description": {
            "type": "string"
          },
          "short_description": {
            "type": "string"
          },
          "location_summary": {
            "type": "string"
          },
          "has_parking": {
            "type": "boolean"
          },
          "virtual_tour": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "IncludedLettingsOffer": {
        "title": "Lettings Offer (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_offer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsOfferAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Lettings Offers"
        ]
      },
      "IncludedLettingsApplication": {
        "title": "Lettings Application (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_application"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsApplicationAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Lettings Applications"
        ]
      },
      "LettingsApplicationAttributes": {
        "title": "Lettings Application (included)",
        "type": "object",
        "properties": {
          "application_status": {
            "example": "pending",
            "enum": [
              "successful",
              "unsuccessful",
              "in_progress",
              "pending",
              "cancelled"
            ]
          },
          "desired_tenancy_length": {
            "type": "integer",
            "example": 12
          },
          "desired_move_in_date": {
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "agreed_move_in_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "price": {
            "type": "integer"
          },
          "price_frequency": {
            "type": "string",
            "enum": [
              "Per Week",
              "Per 2 Weeks",
              "Per 4 Weeks",
              "Per Calendar Month",
              "Per Quarter",
              "Per 6 Months",
              "Per Annum"
            ]
          }
        }
      },
      "IncludedNegotiator": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "negotiator"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "Negotiator (included)"
      },
      "IncludedValuer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "valuer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "Valuer (included)"
      },
      "IncludedViewer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "viewer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "Viewer (included)"
      },
      "IncludedViewingFeedback": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "viewing_feedback"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ViewingFeedbackAttributes"
              }
            }
          }
        ],
        "title": "Viewing Feedback (included)"
      },
      "IncludedPhotographer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "photographer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "User (included)"
      },
      "IncludedInspector": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "inspector"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "User (included)"
      },
      "IncludedBookedBy": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "booked_by"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "User (included)"
      },
      "IncludedValuationSalesReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "valuation_sales_report"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ValuationSalesReportAttributes"
              }
            }
          }
        ],
        "title": "Valuation Sales Report (included)"
      },
      "IncludedValuationLettingsReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "valuation_lettings_report"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ValuationLettingsReportAttributes"
              }
            }
          }
        ],
        "title": "Valuation Lettings Report (included)"
      },
      "IncludedSalesInstruction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sales_instruction"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SalesInstructionAttributes"
              }
            }
          }
        ],
        "title": "Sales Instruction (included)"
      },
      "IncludedLettingsInstruction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lettings_instruction"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LettingsInstructionAttributes"
              }
            }
          }
        ],
        "title": "Lettings Instruction (included)"
      },
      "IncludedLostValuationDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "lost_valuation_detail"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/LostValuationDetailAttributes"
              }
            }
          }
        ],
        "title": "Lost Valuation Detail (included)"
      },
      "IncludedNotes": {
        "title": "Note (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "note"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/NoteAttributes"
              }
            }
          }
        ],
        "x-tags": [
          "Notes"
        ]
      },
      "IncludedOutsideSpace": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "outside_space"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "space_type": {
                    "type": "string",
                    "enum": [
                      "Garden",
                      "Front Garden",
                      "Rear Garden",
                      "Communal Garden",
                      "Yard",
                      "Roof Terrace",
                      "Balcony"
                    ]
                  },
                  "type": {
                    "type": "string",
                    "deprecated": true,
                    "description": "Deprecated: use space_type instead.",
                    "enum": [
                      "Garden",
                      "Front Garden",
                      "Rear Garden",
                      "Communal Garden",
                      "Yard",
                      "Roof Terrace",
                      "Balcony"
                    ]
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "A substantial rear garden with a decked terrace & a generous lawn."
                  },
                  "width": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "example": 6010
                  },
                  "length": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "example": 4389
                  },
                  "area": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "example": 56000
                  },
                  "orientation": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "enum": [
                      "N",
                      "NE",
                      "E",
                      "SE",
                      "SW",
                      "W",
                      "NW"
                    ]
                  }
                }
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "media": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "media"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Outside Space (included)",
        "x-tags": [
          "OutsideSpaces"
        ]
      },
      "IncludedOwner": {
        "title": "Owner (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "owner"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/OwnerAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "people": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "person"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "company": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "company"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedPropertyKey": {
        "title": "Property Key (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "property_key"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PropertyKeysAttributes"
              }
            }
          }
        ]
      },
      "IncludedInterestedApplicant": {
        "title": "Interested Applicant (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "interested_applicant"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InterestedApplicantAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "applicant": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "applicant"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedInvoice": {
        "title": "Invoice (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "invoice"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/InvoiceAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "property"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "owner": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "owner"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "line_items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "fee"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedParking": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "parking_space"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "include_in_listing": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "parking_space_type": {
                    "type": "string",
                    "enum": [
                      "Garage",
                      "Car Port",
                      "Off Road",
                      "On Road",
                      "Permit",
                      "Secure Gated",
                      "Allocated Parking",
                      "On Drive"
                    ]
                  },
                  "capacity": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "example": 2
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "Driveway with parking for 2 vehicles"
                  }
                }
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "media": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "media"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Parking (included)",
        "x-tags": [
          "Parking"
        ]
      },
      "IncludedPerson": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "person"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PersonAttributes"
              }
            }
          }
        ],
        "title": "Person (included)"
      },
      "IncludedGuarantor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "guarantor"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/GuarantorAttributes"
              }
            }
          }
        ],
        "title": "Guarantor (included)"
      },
      "IncludedProperty": {
        "title": "Property (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "property"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PropertyAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "branch": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "branch"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedRoom": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "room"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "room_type": {
                    "type": "string",
                    "example": "lounge"
                  },
                  "name": {
                    "type": "string",
                    "example": "Lounge"
                  },
                  "width": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "example": 320
                  },
                  "length": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "example": 509
                  },
                  "formatted_dimensions": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "16′ 9″ x 10′ 6″ (5.1m x 3.2m)"
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "example": "Dual aspect with a window to the front and side elevation both fitted with French Shutters. Laminated wood flooring. T.V point."
                  },
                  "order": {
                    "type": "integer",
                    "example": 4
                  }
                }
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "media": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "media"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Room (included)",
        "x-tags": [
          "Rooms"
        ]
      },
      "IncludedSale": {
        "title": "Sales (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sale"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SaleAttributes"
              }
            }
          }
        ]
      },
      "IncludedSalesOffer": {
        "title": "Sales Offer (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sales_offer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SalesOfferAttributes"
              }
            }
          }
        ]
      },
      "IncludedSalesListing": {
        "title": "Sales Listing (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sales_listing"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SalesListingAttributes"
              }
            }
          }
        ]
      },
      "SalesListingAttributes": {
        "title": "Sales Listing (included)",
        "type": "object",
        "properties": {
          "brand_id": {
            "type": "string",
            "format": "uuid"
          },
          "personal_interest_disclosure": {
            "type": [
              "string",
              "null"
            ]
          },
          "price_qualifier": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "None",
              "In Excess of",
              "Prices From",
              "Guide Price",
              "Offers Over",
              "Offers in Region of",
              "Fixed Price",
              "Price On Application",
              "Part Buy, Part Rent",
              null
            ]
          },
          "archived": {
            "type": "boolean"
          },
          "is_low_profile": {
            "type": "boolean"
          },
          "is_not_in_property_feed_api": {
            "type": "boolean"
          },
          "spectre_social_campaigns": {
            "type": "boolean"
          },
          "spectre_email_campaigns": {
            "type": "boolean"
          },
          "is_auction": {
            "type": "boolean"
          },
          "new_home": {
            "type": "boolean"
          },
          "retirement": {
            "type": "boolean"
          },
          "full_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_summary": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_parking": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "virtual_tour": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri-reference"
          },
          "price": {
            "type": "integer",
            "example": 500000
          },
          "status": {
            "type": "string",
            "enum": [
              "For Sale",
              "Sold STC",
              "Withdrawn",
              "Under Offer"
            ]
          },
          "marketing_status": {
            "type": "string",
            "enum": [
              "For Sale",
              "Sold STC",
              "Withdrawn",
              "Under Offer"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "IncludedTenancy": {
        "title": "Tenancy (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "tenancy"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TenancyAttributes"
              }
            }
          }
        ]
      },
      "IncludedHoldingDeposit": {
        "title": "Holding Deposit (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "holdingDeposit"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/HoldingDepositAttributes"
              }
            }
          }
        ]
      },
      "IncludedTenancyAgreement": {
        "title": "Tenancy Agreement (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "tenancyAgreement"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/TenancyAgreementAttributes"
              }
            }
          }
        ]
      },
      "IncludedTenants": {
        "title": "Tenants (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "tenant"
                ]
              },
              "attributes": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TenantAttributes"
                  },
                  {
                    "$ref": "#/components/schemas/CompanyTenantAttributes"
                  }
                ],
                "discriminator": {
                  "propertyName": "tenant_type"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Tenants"
        ]
      },
      "IncludedUser": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "user"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/UserAttributes"
              }
            }
          }
        ],
        "title": "User (included)"
      },
      "IncludedValuation": {
        "title": "Valuation (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "valuation"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ValuationAttributes"
              }
            }
          }
        ]
      },
      "IncludedFees": {
        "title": "Fees (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "fee"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/FeeAttributes"
              }
            }
          }
        ]
      },
      "IncludedViewing": {
        "title": "Viewing (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "viewing"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/ViewingAttributes"
              }
            }
          }
        ]
      },
      "IncludedSolicitor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solicitor"
                ]
              },
              "attributes": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SolicitorAttributes"
                  }
                ]
              }
            }
          }
        ]
      },
      "IncludedSolicitorFirm": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solicitorFirm"
                ]
              },
              "attributes": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SolicitorFirmAttributes"
                  }
                ]
              }
            }
          }
        ],
        "title": "Solicitor Firm (included)"
      },
      "IncludedApplicantSolicitorSale": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "applicant_solicitor_sale"
                ]
              },
              "attributes": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SaleAttributes"
                  }
                ]
              }
            }
          }
        ],
        "title": "Solicitor Firm (included)"
      },
      "IncludedOwnerSolicitorSale": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "owner_solicitor_sale"
                ]
              },
              "attributes": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SaleAttributes"
                  }
                ]
              }
            }
          }
        ],
        "title": "Solicitor Firm (included)"
      },
      "IncludedVendor": {
        "title": "Vendor (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "vendor"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/VendorAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "people": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "person"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "x-tags": [
          "Vendors"
        ]
      },
      "IncludedMeterReading": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "meter_reading"
                ]
              },
              "attributes": {
                "type": "object",
                "properties": {
                  "meter_type": {
                    "type": "string",
                    "enum": [
                      "add_gas_meter_readings",
                      "add_electric_meter_readings",
                      "add_water_meter_readings"
                    ]
                  },
                  "type": {
                    "type": "string",
                    "deprecated": true,
                    "description": "Deprecated: use meter_type instead.",
                    "enum": [
                      "add_gas_meter_readings",
                      "add_electric_meter_readings",
                      "add_water_meter_readings"
                    ]
                  },
                  "reading": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "reading_taken_at": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "date-time"
                  }
                }
              }
            }
          }
        ],
        "title": "MeterReading (Included)",
        "x-tags": [
          "MeterReadings"
        ]
      },
      "PropertyRelated": {
        "title": "Property (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "property": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "property"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "LettingsApplicantRelated": {
        "title": "Lettings Applicant (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "lettings_applicant": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "lettingsApplicant"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "LettingsApplicationRelated": {
        "title": "Lettings Application (related)",
        "type": "object",
        "properties": {
          "lettings_application": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "lettingsApplication"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "PersonRelated": {
        "title": "Person (related)",
        "type": "object",
        "properties": {
          "person": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "person"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "SalesApplicantRelated": {
        "title": "Sales Applicant (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sales_applicant": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "salesApplicant"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "SaleRelated": {
        "title": "Sale (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sale": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "sale"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "ValuationRelated": {
        "title": "Valuation (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "valuation": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "valuation"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "InspectionRelated": {
        "title": "Inspection (related)",
        "type": "object",
        "properties": {
          "inspection": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "inspection"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "MaintenanceJobRelated": {
        "title": "MaintenanceJob (related)",
        "type": "object",
        "properties": {
          "maintenance": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "maintenance"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "CompanyRelated": {
        "title": "Company (related)",
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "company"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "TenancyRelated": {
        "title": "Tenancy (related)",
        "type": "object",
        "properties": {
          "tenancy": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "tenancy"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "OwnerRelated": {
        "title": "Owner (related)",
        "type": "object",
        "properties": {
          "owner": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "owner"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "EnquiryRelated": {
        "title": "Enquiry (related)",
        "type": "object",
        "properties": {
          "enquiry": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "enquiry"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "SalesOfferRelated": {
        "title": "Sales Offer (related)",
        "type": "object",
        "properties": {
          "sales_offer": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "salesOffer"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "LettingsOfferRelated": {
        "title": "Lettings Offer (related)",
        "type": "object",
        "properties": {
          "lettings_offer": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "lettingsOffer"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "ViewingRelated": {
        "title": "Viewing (related)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "viewing": {
            "type": "object",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "viewing"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      },
      "TodoRelationship": {
        "title": "Task relationships",
        "description": "JSON:API relationships object for a Task. Each member is a relationship object whose `data` is a resource identifier (`type` + `id`). Supply at most one todoable subject the Task is about — keyed by the relationship name (e.g. `property`, `sale`); the key is a label and is not significant to the server, only its `data.type` and `data.id` are read. A `todoType` may be supplied to categorise the Task and, if present, MUST be keyed exactly `todoType`. At least one member is required.",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "todoType": {
            "type": "object",
            "required": [
              "data"
            ],
            "properties": {
              "data": {
                "type": "object",
                "required": [
                  "type",
                  "id"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "todoType"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        },
        "additionalProperties": {
          "type": "object",
          "required": [
            "data"
          ],
          "properties": {
            "data": {
              "type": "object",
              "required": [
                "type",
                "id"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "property",
                    "salesApplicant",
                    "lettingsApplicant",
                    "sale",
                    "salesOffer",
                    "lettingsOffer",
                    "valuation",
                    "viewing",
                    "maintenanceJob",
                    "inspection",
                    "tenancy",
                    "moveOut",
                    "lettingsApplication",
                    "arrears",
                    "person",
                    "owner",
                    "workflowInstance",
                    "compliance",
                    "safetyCertificate",
                    "insurancePolicy",
                    "enquiry",
                    "tenancyNotice"
                  ]
                },
                "id": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          }
        }
      },
      "PersonRequestBody": {
        "title": "Person (request)",
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "marketing_consent": {
            "type": "boolean"
          },
          "contact_preferences": {
            "type": "object",
            "properties": {
              "email": {
                "type": "boolean"
              },
              "text": {
                "type": "boolean"
              },
              "post": {
                "type": "boolean"
              },
              "phone": {
                "type": "boolean"
              }
            }
          }
        },
        "required": [
          "first_name",
          "last_name"
        ]
      },
      "IncludedSafetyCertificate": {
        "title": "Safety Certificate (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "safetyCertificate"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/SafetyCertificateAttributes"
              }
            }
          }
        ]
      },
      "SafetyCertificateAttributes": {
        "title": "SafetyCertificateAttributes",
        "type": "object",
        "properties": {
          "media": {
            "type": "object",
            "properties": {
              "document": {
                "type": "string",
                "format": "uri",
                "example": "https://street.co.uk/certificates/safetyCertificate.pdf"
              }
            }
          },
          "certificate_type": {
            "type": "string",
            "enum": [
              "alarm_service",
              "asbestos_check",
              "automated_gates",
              "boiler_service",
              "building_compliance",
              "building_insurance",
              "carbon_monoxide",
              "chimney_sweep",
              "damp_proofing",
              "eic",
              "electric",
              "fire_detection",
              "fire_door_assesment",
              "fire_equipment",
              "gas",
              "health",
              "heat_recovery_system",
              "hmo_license",
              "homecare_plan",
              "landlord_registration",
              "lead_water_testing",
              "legion",
              "lighting_safety",
              "oil_safety_check",
              "pat",
              "remcon_service",
              "rent_guarantee_insurance",
              "rent_smart_wales_registered",
              "risk",
              "saniflow_service_and_descaler",
              "selective_license",
              "smoke_alarm",
              "smoke_ventilation_system_service_aov",
              "sump_pump_service",
              "tree_management",
              "tv_license",
              "velux_window_service"
            ]
          },
          "type": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated: use certificate_type instead.",
            "enum": [
              "alarm_service",
              "asbestos_check",
              "automated_gates",
              "boiler_service",
              "building_compliance",
              "building_insurance",
              "carbon_monoxide",
              "chimney_sweep",
              "damp_proofing",
              "eic",
              "electric",
              "fire_detection",
              "fire_door_assesment",
              "fire_equipment",
              "gas",
              "health",
              "heat_recovery_system",
              "hmo_license",
              "homecare_plan",
              "landlord_registration",
              "lead_water_testing",
              "legion",
              "lighting_safety",
              "oil_safety_check",
              "pat",
              "remcon_service",
              "rent_guarantee_insurance",
              "rent_smart_wales_registered",
              "risk",
              "saniflow_service_and_descaler",
              "selective_license",
              "smoke_alarm",
              "smoke_ventilation_system_service_aov",
              "sump_pump_service",
              "tree_management",
              "tv_license",
              "velux_window_service"
            ]
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_from": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time"
          },
          "reminder_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "renewed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "MoveOut": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "move_out"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/MoveOutAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "properties": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "property"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "tenancies": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "tenancy"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "meterReadings": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "meter_reading"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "MoveOut"
      },
      "MoveOutAttributes": {
        "type": "object",
        "title": "MoveOut Attributes",
        "properties": {
          "move_out_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "example": "2023-01-01T00:00:00Z"
          },
          "contract_end_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "example": "2023-02-01T00:00:00Z"
          },
          "cancellation_date": {
            "type": "string",
            "format": "date-time",
            "example": "2023-02-15T00:00:00Z"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancellation_reason": {
            "type": [
              "string",
              "null"
            ],
            "example": "Customer cancellation"
          }
        }
      },
      "EsignDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "esign_document"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/EsignDocumentAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "recipients": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "esign_document_recipient"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "EsignDocument"
      },
      "EsignDocumentAttributes": {
        "type": "object",
        "title": "E-Sign Document Attributes",
        "properties": {
          "name": {
            "type": "string",
            "example": "Terms of Business"
          },
          "sent_at": {
            "type": "string",
            "format": "date-time"
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancelled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "EsignDocumentRecipientAttributes": {
        "type": "object",
        "title": "E-Sign Document Recipient Attributes",
        "properties": {
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "sent_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "signed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IncludedEsignDocumentRecipient": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "esign_document_recipient"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/EsignDocumentRecipientAttributes"
              }
            }
          }
        ],
        "title": "Esign Document Recipient (included)"
      },
      "PortalListing": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseModel"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "portal_listing"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PortalListingAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "property": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "portal": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "salesListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "lettingsListing": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": [
                              "object",
                              "null"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ],
        "title": "Portal Listing"
      },
      "PortalListingAttributes": {
        "type": "object",
        "title": "Portal Listing Attributes",
        "properties": {
          "remote_identifier": {
            "type": "string",
            "description": "External listing ID from the portal",
            "example": "12345"
          },
          "remote_url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the listing on the external portal",
            "example": "https://portal.com/listing/12345"
          },
          "listing_type": {
            "type": "string",
            "enum": [
              "salesListing",
              "lettingsListing"
            ],
            "description": "Type of listing (sales or lettings)"
          },
          "active": {
            "type": "boolean",
            "description": "Whether the portal listing is active"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IncludedPortal": {
        "title": "Portal (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "portal"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/PortalAttributes"
              }
            }
          }
        ]
      },
      "PortalAttributes": {
        "type": "object",
        "title": "Portal Attributes",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the portal",
            "example": "Rightmove"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IncludedQuestionnaire": {
        "title": "Questionnaire (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "sections": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "questionnaire_section"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedQuestionnaireSection": {
        "title": "Questionnaire Section (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_section"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireSectionAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "questions": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "questionnaire_question"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedQuestionnaireQuestion": {
        "title": "Questionnaire Question (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_question"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireQuestionAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "options": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "questionnaire_question_option"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedQuestionnaireQuestionOption": {
        "title": "Questionnaire Question Option (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_question_option"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireQuestionOptionAttributes"
              }
            }
          }
        ]
      },
      "IncludedQuestionnaireAnswer": {
        "title": "Questionnaire Answer (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_response_answer"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireResponseAnswerAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "question": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "questionnaire_question"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  },
                  "values": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipPlural"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "questionnaire_response_answer_value"
                                  ]
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      },
      "IncludedQuestionnaireAnswerValue": {
        "title": "Questionnaire Answer Value (included)",
        "allOf": [
          {
            "$ref": "#/components/schemas/IncludedResource"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "questionnaire_response_answer_value"
                ]
              },
              "attributes": {
                "$ref": "#/components/schemas/QuestionnaireResponseAnswerValueAttributes"
              },
              "relationships": {
                "type": "object",
                "properties": {
                  "option": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RelationshipSingular"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "data": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "questionnaire_question_option"
                                ]
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        ]
      }
    },
    "parameters": {
      "page_size": {
        "name": "page[size]",
        "description": "Set the number of results per page.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 1,
          "maximum": 250,
          "example": 25
        }
      },
      "page_number": {
        "name": "page[number]",
        "description": "Set the page number.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 1,
          "example": 3
        }
      },
      "filter_tags": {
        "name": "filter[tags]",
        "description": "Tags are entered by the agent in the Street UI and enable you to filter properties according to custom criteria. This can be used to power featured properties, carousels, hot property lists etc.\n\nThese tags should be passed to the API in lowercase and urlencoded.\n\nYou can also enter a semi-colon seperated list to return all properties with any of those tags.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_postcode": {
        "name": "filter[postcode]",
        "description": "This filter will narrow your search results by first or partial postcode.\n\nA value of `M` will return all properties who's postcode begins with M, including `M1 1JU` & `M28 2PD`.\n\nEntering in `M28 2` will return all active properties in that postcode sector.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_email_address": {
        "name": "filter[email_address]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "email",
          "example": "alice.walker@example.com"
        },
        "description": "Filter results by an associated email address"
      },
      "filter_telephone_number": {
        "name": "filter[telephone_number]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Filter results by an associated telephone number. The number must be in full international dialing format e.g. +441614960137"
      },
      "filter_bedrooms": {
        "name": "filter[bedrooms]",
        "description": "The exact number of bedrooms for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_min_bedrooms": {
        "name": "filter[min_bedrooms]",
        "description": "Minimum number of bedrooms for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_min_price_sales": {
        "name": "filter[min_price_sales]",
        "description": "Minimum sales listing price for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_max_price_sales": {
        "name": "filter[max_price_sales]",
        "description": "Maximum sales listing price for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_min_price_lettings": {
        "name": "filter[min_price_lettings]",
        "description": "Minimum lettings listing price for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_max_price_lettings": {
        "name": "filter[max_price_lettings]",
        "description": "Maximum lettings listing price for search results.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "filter_property_status": {
        "name": "filter[status]",
        "description": "Filter by property status. You can use a comma separated list for multiple statuses.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "not_on_the_market",
              "valuation_lost",
              "valuation_booked",
              "valuation_pending",
              "valuation_cancelled",
              "valuation_completed",
              "instructed",
              "for_sale",
              "under_offer",
              "sold_stc",
              "exchanged",
              "let",
              "to_let",
              "let_agreed",
              "for_sale_and_to_let",
              "withdrawn_sales",
              "withdrawn_lettings",
              "withdrawn_sales_and_lettings",
              "completed"
            ]
          },
          "uniqueItems": true,
          "minItems": 1
        },
        "explode": false,
        "style": "form"
      },
      "filter_branch": {
        "name": "filter[branch]",
        "description": "Filter by network branch. Provide the UUID of a branch to filter properties by a specific branch.",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "filter_created_from": {
        "name": "filter[created_from]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results created after the provided date."
      },
      "filter_created_to": {
        "name": "filter[created_to]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results created before the provided date."
      },
      "filter_updated_from": {
        "name": "filter[updated_from]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results updated after the provided date."
      },
      "filter_updated_to": {
        "name": "filter[updated_to]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results updated before the provided date."
      },
      "filter_booked_from": {
        "name": "filter[booked_from]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results booked before the provided date."
      },
      "filter_booked_to": {
        "name": "filter[booked_to]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Filter by results booked before the provided date."
      },
      "filter_person_status": {
        "name": "filter[status]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "current",
            "previous"
          ]
        },
        "description": "Filter by wether they are Current or Previous."
      },
      "filter_property": {
        "name": "filter[property]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "uuid"
        },
        "description": "Filter by property. Provide the UUID of a property to filter follow ups by a specific property."
      },
      "filter_address": {
        "name": "filter[address]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Filter results by their address, this is a fuzzy wildcard match on the full address string."
      },
      "filter_trashed": {
        "name": "filter[trashed]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "with",
            "only"
          ]
        },
        "description": "Optionally return result WITH deleted results or return ONLY deleted results."
      },
      "filter_ident": {
        "name": "filter[ident]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "Optionally return result for a chosen ident."
      },
      "filter_cancelled": {
        "name": "filter[cancelled]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "with",
            "only"
          ]
        },
        "description": "Optionally return result WITH cancelled results or return ONLY cancelled results."
      },
      "filter_applicant_price_from": {
        "name": "filter[price_from]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        },
        "description": "Filter results by their minimum budget."
      },
      "filter_applicant_price_to": {
        "name": "filter[price_to]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer"
        },
        "description": "Filter results by their maximum budget."
      },
      "filter_applicant_furnished": {
        "name": "filter[furnished]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "boolean"
        },
        "description": "Filter results by wether or not the require furnished properties."
      },
      "filter_applicant_min_bedrooms": {
        "name": "filter[min_bedrooms]",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 7
        },
        "description": "Filter results by the minimum number of bedrooms they require"
      }
    },
    "responses": {
      "400": {
        "description": "The HTTP 400 Bad Request response status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiMultiErrorResponseBody"
            }
          }
        }
      },
      "401": {
        "description": "The HTTP 401 Unauthorized response status code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "403": {
        "description": "The HTTP 403 Forbidden response status code indicates that the server understands the request but refuses to authorize it.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "404": {
        "description": "The HTTP 404 Not Found response status code indicates that the server cannot find the requested resource.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "406": {
        "description": "The HTTP 406 Not Acceptable client error response code indicates that the server cannot produce a response matching the list of acceptable values defined in the request's proactive content negotiation headers, and that the server is unwilling to supply a default representation.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "409": {
        "description": "The HTTP 409 Conflict response status code indicates a request conflict with the current state of the target resource.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "415": {
        "description": "The HTTP 415 Unsupported Media Type client error response code indicates that the server refuses to accept the request because the payload format is in an unsupported format.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiErrorResponseBody"
            }
          }
        }
      },
      "422": {
        "description": "The 422 Unprocessable Content response status code indicates that the server understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiMultiErrorResponseBody"
            }
          }
        }
      },
      "500": {
        "description": "The HTTP 500 Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.",
        "content": {
          "application/vnd.api+json": {
            "schema": {
              "$ref": "#/components/schemas/jsonApiMultiErrorResponseBody"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "your-api-token": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "requestBodies": {}
  },
  "security": [
    {
      "your-api-token": []
    }
  ],
  "tags": [
    {
      "name": "Activity",
      "description": "Activity endpoints for this API."
    },
    {
      "name": "Applicants",
      "description": "Applicants endpoints for this API."
    },
    {
      "name": "Areas",
      "description": "Area endpoints for this API."
    },
    {
      "name": "Branches",
      "description": "Branches endpoints for this API."
    },
    {
      "name": "Brands",
      "description": "Brands endpoints for this API."
    },
    {
      "name": "Companies",
      "description": "Companies endpoints for this API."
    },
    {
      "name": "Documents",
      "description": "Documents endpoints for this API."
    },
    {
      "name": "E-Sign Documents",
      "description": "E-Sign Documents endpoints for this API."
    },
    {
      "name": "Enquiries",
      "description": "Enquiries endpoints for this API."
    },
    {
      "name": "Follow Ups",
      "description": "Follow Ups endpoints for this API."
    },
    {
      "name": "Images",
      "description": "Image endpoints for this API."
    },
    {
      "name": "Inspections",
      "description": "Inspections endpoints for this API."
    },
    {
      "name": "Interested Applicants",
      "description": "Interested Applicants endpoints for this API."
    },
    {
      "name": "Invoices",
      "description": "Invoices endpoints for this API."
    },
    {
      "name": "Landlords",
      "description": "Landlords endpoints for this API."
    },
    {
      "name": "Lettings Applications",
      "description": "Lettings Application endpoints for this API."
    },
    {
      "name": "Lettings Instructions",
      "description": "Lettings Instruction endpoints for this API."
    },
    {
      "name": "Lettings Offers",
      "description": "Lettings Offers endpoints for this API."
    },
    {
      "name": "Maintenance Jobs",
      "description": "Maintenance Jobs endpoints for this API."
    },
    {
      "name": "Maintenance Requests",
      "description": "Maintenance Request endpoints for this API."
    },
    {
      "name": "Move Outs",
      "description": "Move Outs endpoints for this API."
    },
    {
      "name": "Network Settings",
      "description": "Network Settings endpoints for this API."
    },
    {
      "name": "Notes",
      "description": "Notes endpoints for this API."
    },
    {
      "name": "People",
      "description": "People endpoints for this API."
    },
    {
      "name": "Photos and Measures",
      "description": "Photo and Measure endpoints for this API."
    },
    {
      "name": "Portal Listings",
      "description": "Portal Listings endpoints for this API."
    },
    {
      "name": "Properties",
      "description": "Properties endpoints for this API."
    },
    {
      "name": "Property Keys",
      "description": "Property Key endpoints for this API."
    },
    {
      "name": "Questionnaire Responses",
      "description": "Questionnaire Response endpoints for this API."
    },
    {
      "name": "Sales",
      "description": "Sales endpoints for this API."
    },
    {
      "name": "Sales Instructions",
      "description": "Sales Instructions endpoints for this API."
    },
    {
      "name": "Sales Offers",
      "description": "Sales Offers endpoints for this API."
    },
    {
      "name": "Solicitors",
      "description": "Solicitors endpoints for this API."
    },
    {
      "name": "Tenancies",
      "description": "Tenancies endpoints for this API."
    },
    {
      "name": "Tenants",
      "description": "Tenants endpoints for this API."
    },
    {
      "name": "Task Types",
      "description": "Task Types endpoints for this API."
    },
    {
      "name": "Tasks",
      "description": "Tasks endpoints for this API."
    },
    {
      "name": "Users",
      "description": "Users endpoints for this API."
    },
    {
      "name": "Valuations",
      "description": "Valuations endpoints for this API."
    },
    {
      "name": "Vendors",
      "description": "Vendors endpoints for this API."
    },
    {
      "name": "Viewings",
      "description": "Viewings endpoints for this API."
    }
  ],
  "x-ext-urls": {}
}