{
  "swagger": "2.0",
  "info": {
    "version": "v1",
    "title": "Acquaint.Integrators.Api v1.0"
  },
  "host": "api.integrators.acquaintcrm.co.uk",
  "schemes": [
    "https"
  ],
  "paths": {
    "/v1/Appointments/{id}": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Get appointment by Id",
        "operationId": "Appointments_GetAppointmentById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AppointmentRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Appointments"
        ],
        "summary": "Update appointment",
        "operationId": "Appointments_UpdateAppointment",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AppointmentWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "/v1/Appointments/{id}/detailed": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Get appointment by Id",
        "operationId": "Appointments_GetDetailedAppointmentById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DetailedAppointmentRead"
            }
          }
        }
      }
    },
    "/v1/Appointments/list": {
      "get": {
        "tags": [
          "Appointments"
        ],
        "summary": "Retrieves a list of appointments",
        "operationId": "Appointments_GetAllAppointments",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.appointmentTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.appointmentTypeGroupId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.assignedUserId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.propertyCategory",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              99
            ]
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[AppointmentRead]"
            }
          }
        }
      }
    },
    "/v1/Appointments": {
      "post": {
        "tags": [
          "Appointments"
        ],
        "summary": "Create appointment",
        "operationId": "Appointments_CreateAppointment",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AppointmentWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/appointmenttypes/{id}": {
      "get": {
        "tags": [
          "AppointmentTypes"
        ],
        "summary": "Gets an appointment type using the passed id",
        "operationId": "AppointmentTypes_GetAppointmentType",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AppointmentTypeRead"
            }
          }
        }
      }
    },
    "/v1/appointmenttypes/list": {
      "get": {
        "tags": [
          "AppointmentTypes"
        ],
        "summary": "Gets a list of appointment types",
        "operationId": "AppointmentTypes_GetAllAppointmentTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.appointmentTypeGroupId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[AppointmentTypeRead]"
            }
          }
        }
      }
    },
    "/v1/auth": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Creates a JWT token used for subsequent api calls",
        "operationId": "Auth_AuthenticateAsync",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AuthRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Jwt"
            }
          }
        }
      }
    },
    "/v1/Certificates/{id}": {
      "get": {
        "tags": [
          "Certificates"
        ],
        "summary": "Get certificate by Id",
        "operationId": "Certificates_GetCertificateById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CertificateRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Certificates"
        ],
        "summary": "Update certificate",
        "operationId": "Certificates_UpdateCertificate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CertificateWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Certificates/list": {
      "get": {
        "tags": [
          "Certificates"
        ],
        "summary": "Retrieves a list of certificate",
        "operationId": "Certificates_GetAllCertificate",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.issuerId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.certificateTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.status",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.minStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.minEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[CertificateRead]"
            }
          }
        }
      }
    },
    "/v1/Certificates": {
      "post": {
        "tags": [
          "Certificates"
        ],
        "summary": "Create certificate",
        "operationId": "Certificates_CreateCertificate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CertificateWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/CertificateTypes/{id}": {
      "get": {
        "tags": [
          "CertificateTypes"
        ],
        "summary": "Get certificate type by Id",
        "operationId": "CertificateTypes_GetCertificateTypeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CertificateTypeRead"
            }
          }
        }
      }
    },
    "/v1/CertificateTypes/list": {
      "get": {
        "tags": [
          "CertificateTypes"
        ],
        "summary": "Retrieves a list of certificate types",
        "operationId": "CertificateTypes_GetAllCertificateType",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[CertificateTypeRead]"
            }
          }
        }
      }
    },
    "/v1/ContactPropertyRequirements/{contactId}": {
      "get": {
        "tags": [
          "ContactPropertyRequirements"
        ],
        "summary": "Get contact property requirements by contact Id",
        "operationId": "ContactPropertyRequirements_GetPropertyRequirementById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactPropertyRequirementsRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "ContactPropertyRequirements"
        ],
        "summary": "Update contact property requirements",
        "operationId": "ContactPropertyRequirements_UpdateContactPropertyRequirements",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContactPropertyRequirementsWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Contacts/{id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get contact by Id",
        "operationId": "Contacts_GetContactById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update contact",
        "operationId": "Contacts_UpdateContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ContactWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Contacts/list": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Retrieves a list of contacts by parameters",
        "operationId": "Contacts_GetContacts",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContacts.firstNames",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.lastName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.companyName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.email",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.telephone",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.altReference",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestContacts.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContacts.type",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContacts.status",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContacts.category",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              99
            ]
          },
          {
            "name": "requestContacts.usage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1
            ]
          },
          {
            "name": "requestContacts.minPrice",
            "in": "query",
            "required": false,
            "type": "number",
            "format": "double"
          },
          {
            "name": "requestContacts.maxPrice",
            "in": "query",
            "required": false,
            "type": "number",
            "format": "double"
          },
          {
            "name": "requestContacts.minBedrooms",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContacts.isStudent",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "requestContacts.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestContacts.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestContacts.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestContacts.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ContactRead]"
            }
          }
        }
      }
    },
    "/v1/Contacts/Vendor": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a Vendor",
        "operationId": "Contacts_CreateVendorContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VendorContactWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/Contacts/Landlord": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a Landlord",
        "operationId": "Contacts_CreateLandlordContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/VendorContactWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/Contacts/Solicitor": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a Solicitor",
        "operationId": "Contacts_CreateSolicitorContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SolicitorContactWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/Contacts/SalesApplicant": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a sales applicant",
        "operationId": "Contacts_CreateSalesApplicantContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SalesApplicantWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/Contacts/LettingsApplicant": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a lettings applicant",
        "operationId": "Contacts_CreateLettingsApplicantContact",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestContact",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LettingsApplicantWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/ContactSources/{id}": {
      "get": {
        "tags": [
          "ContactSources"
        ],
        "summary": "Get contact source by Id",
        "operationId": "ContactSources_GetContactSourceById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactSourceRead"
            }
          }
        }
      }
    },
    "/v1/ContactSources/list": {
      "get": {
        "tags": [
          "ContactSources"
        ],
        "summary": "Retrieves a list of Contact Sources",
        "operationId": "ContactSources_GetContactSources",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ContactSourceRead]"
            }
          }
        }
      }
    },
    "/v1/ContactStatuses/{id}": {
      "get": {
        "tags": [
          "ContactStatuses"
        ],
        "summary": "Get contact status by Id",
        "operationId": "ContactStatuses_GetContactStatusById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactStatusRead"
            }
          }
        }
      }
    },
    "/v1/ContactStatuses/list": {
      "get": {
        "tags": [
          "ContactStatuses"
        ],
        "summary": "Retrieves a list of Contact Statuses",
        "operationId": "ContactStatuses_GetContactStatuses",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ContactStatusRead]"
            }
          }
        }
      }
    },
    "/v1/ContactTitles/{id}": {
      "get": {
        "tags": [
          "ContactTitles"
        ],
        "summary": "Get contact title by Id",
        "operationId": "ContactTitles_GetContactTitleById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactTitleRead"
            }
          }
        }
      }
    },
    "/v1/ContactTitles/list": {
      "get": {
        "tags": [
          "ContactTitles"
        ],
        "summary": "Retrieves a list of Contact Titles",
        "operationId": "ContactTitles_GetContactTitles",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ContactTitleRead]"
            }
          }
        }
      }
    },
    "/v1/ContactTypes/{id}": {
      "get": {
        "tags": [
          "ContactTypes"
        ],
        "summary": "Get contact type by Id",
        "operationId": "ContactTypes_GetContactTypeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ContactTypeRead"
            }
          }
        }
      }
    },
    "/v1/ContactTypes/list": {
      "get": {
        "tags": [
          "ContactTypes"
        ],
        "summary": "Retrieves a list of Contact Types",
        "operationId": "ContactTypes_GetContactTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ContactTypeRead]"
            }
          }
        }
      }
    },
    "/v1/documents/{id}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Retrieves the file of a document record by Id",
        "operationId": "Documents_GetDocumentFileById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/documents/list": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get a list of documents",
        "operationId": "Documents_GetDocumentsList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.certificateId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.templateId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.minAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[DocumentsRead]"
            }
          }
        }
      }
    },
    "/v1/documents": {
      "post": {
        "tags": [
          "Documents"
        ],
        "summary": "Create a new document from the passed file contents",
        "operationId": "Documents_CreateDocumentWithAttachment",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.certificateId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.templateId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/documenttemplates/{id}": {
      "get": {
        "tags": [
          "DocumentTemplates"
        ],
        "summary": "Get a list of document templates",
        "operationId": "DocumentTemplates_GetDocumentTemplateById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[DocumentTemplatesRead]"
            }
          }
        }
      }
    },
    "/v1/documenttemplates/list": {
      "get": {
        "tags": [
          "DocumentTemplates"
        ],
        "summary": "Get a list of document templates",
        "operationId": "DocumentTemplates_GetDocumentTemplateList",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[DocumentTemplatesRead]"
            }
          }
        }
      }
    },
    "/v1/webhooks/fccparagon/references": {
      "post": {
        "tags": [
          "FccParagonReferences"
        ],
        "operationId": "FccParagonReferences_ProcessCompletedReferenceAsync",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "reference",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CompletedReference"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/MaintenanceRequests/{Id}": {
      "get": {
        "tags": [
          "MaintenanceRequests"
        ],
        "summary": "Retrieves a Maintenance Request by id",
        "operationId": "MaintenanceRequests_GetMaintenanceRequestById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[MaintenanceRequestsRead]"
            }
          }
        }
      }
    },
    "/v1/MaintenanceRequests/list": {
      "get": {
        "tags": [
          "MaintenanceRequests"
        ],
        "summary": "Retrieves a list of Maintenance Requests by parameters",
        "operationId": "MaintenanceRequests_GetMaintenanceRequests",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestMaintenanceRequests.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.status",
            "in": "query",
            "description": "0 - Outstanding, 1 - Converted to Work Order, 2 - Rejected",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.minAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestMaintenanceRequests.maxAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestMaintenanceRequests.userId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestMaintenanceRequests.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[MaintenanceRequestsRead]"
            }
          }
        }
      }
    },
    "/v1/MaintenanceRequests/{Id}/reject": {
      "put": {
        "tags": [
          "MaintenanceRequests"
        ],
        "summary": "Rejects a Maintenance Request",
        "operationId": "MaintenanceRequests_RejectMaintenanceRequestById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[MaintenanceRequestsRead]"
            }
          }
        }
      }
    },
    "/v1/MaintenanceRequests/{Id}/createworkorder": {
      "put": {
        "tags": [
          "MaintenanceRequests"
        ],
        "summary": "Converts a Maintenance Request to a Work Order",
        "operationId": "MaintenanceRequests_ConvertMaintenanceRequestIntoWorkOrder",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[MaintenanceRequestsRead]"
            }
          }
        }
      }
    },
    "/v1/ManagementTypes/{id}": {
      "get": {
        "tags": [
          "ManagementTypes"
        ],
        "summary": "Get management type by Id",
        "operationId": "ManagementTypes_GetManagementTypeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ManagementTypeRead"
            }
          }
        }
      }
    },
    "/v1/ManagementTypes/list": {
      "get": {
        "tags": [
          "ManagementTypes"
        ],
        "summary": "Retrieves a list of Management Types",
        "operationId": "ManagementTypes_GetManagementTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[ManagementTypeRead]"
            }
          }
        }
      }
    },
    "/v1/MarketPositions/{id}": {
      "get": {
        "tags": [
          "MarketPositions"
        ],
        "operationId": "MarketPositions_GetMarketPositionById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MarketPositionRead"
            }
          }
        }
      }
    },
    "/v1/MarketPositions/list": {
      "get": {
        "tags": [
          "MarketPositions"
        ],
        "operationId": "MarketPositions_GetMarketPositions",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[MarketPositionRead]"
            }
          }
        }
      }
    },
    "/v1/Notes/{id}": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "Get note by Id",
        "operationId": "Notes_GetNoteById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NoteRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Notes"
        ],
        "summary": "Update note",
        "operationId": "Notes_UpdateNote",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "noteWrite",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NoteWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Notes/list": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "Retrieves a list of notes by parameters",
        "operationId": "Notes_GetNotes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestNotes.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestNotes.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestNotes.alwaysShowAtTop",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "requestNotes.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestNotes.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestNotes.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestNotes.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[NoteRead]"
            }
          }
        }
      }
    },
    "/v1/Notes": {
      "post": {
        "tags": [
          "Notes"
        ],
        "summary": "Create note",
        "operationId": "Notes_CreateNote",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "noteWrite",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NoteWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/webhooks/onthemarket/leads": {
      "post": {
        "tags": [
          "OnTheMarketLeads"
        ],
        "summary": "Process leads sent from On The Market",
        "operationId": "OnTheMarketLeads_CreateLeadAsync",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "webHookEvent",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/OnTheMarketLead"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}": {
      "get": {
        "tags": [
          "Properties"
        ],
        "summary": "Get Property by Id",
        "operationId": "Properties_GetPropertyById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertyRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Properties"
        ],
        "summary": "Update a property",
        "operationId": "Properties_UpdateProperty",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestProperty",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PropertyWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Properties/AddressLookup": {
      "get": {
        "tags": [
          "Properties"
        ],
        "operationId": "Properties_GetListByAddress",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.addressLine1",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.addressLine2",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.town",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.postcode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyRead]"
            }
          }
        }
      }
    },
    "/v1/Properties/list": {
      "get": {
        "tags": [
          "Properties"
        ],
        "summary": "Get a list of properties by parameters",
        "operationId": "Properties_GetListOfProperty",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestPropertyList.propertyName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.street",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.locality",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.town",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.region",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.postcode",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.altReference",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "requestPropertyList.countryCode",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.categoryId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.statusId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.tenureId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.propertyAreaId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.minPrice",
            "in": "query",
            "required": false,
            "type": "number",
            "format": "double"
          },
          {
            "name": "requestPropertyList.maxPrice",
            "in": "query",
            "required": false,
            "type": "number",
            "format": "double"
          },
          {
            "name": "requestPropertyList.bedrooms",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestPropertyList.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestPropertyList.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyList.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyRead]"
            }
          }
        }
      }
    },
    "/v1/PropertyAreas/{id}": {
      "get": {
        "tags": [
          "PropertyAreas"
        ],
        "summary": "Get property area by Id",
        "operationId": "PropertyAreas_GetPropertyAreaById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertyAreaRead"
            }
          }
        }
      }
    },
    "/v1/PropertyAreas/list": {
      "get": {
        "tags": [
          "PropertyAreas"
        ],
        "summary": "Retrieves a list of Property Areas",
        "operationId": "PropertyAreas_GetAllPropertyArea",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyAreaRead]"
            }
          }
        }
      }
    },
    "/v1/PropertyDetailsSentItem/list": {
      "get": {
        "tags": [
          "PropertyDetailsSentItem"
        ],
        "summary": "Get a list of properties by parameters",
        "operationId": "PropertyDetailsSentItem_GetListOfPropertyDetailsSentItem",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.contactIds",
            "in": "query",
            "description": "Pass a single Contact ID, or a comma separated list of Contact IDs",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.propertyIds",
            "in": "query",
            "description": "Pass a single Property ID, or a comma separated list of Property IDs",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.userId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.minAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.maxAddedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyDetailsSentItemRead]"
            }
          }
        }
      }
    },
    "/v1/Properties/{propertyId}/Feedback/{contactId}": {
      "post": {
        "tags": [
          "PropertyFeedback"
        ],
        "summary": "Add/Update feedback to a property for a contact",
        "operationId": "PropertyFeedback_AddUpdatePropertyFeedback",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "propertyId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RequestPropertyFeedback"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/floorplans/web": {
      "get": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Gets the web optimized floor plan for a property",
        "operationId": "PropertyFloorPlans_GetFloorPlanForWeb",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Adds/Updates the web optimized floor plan for a property. The supported file types are .jpg, .jpeg, .png, .gif, .tif, .pdf",
        "operationId": "PropertyFloorPlans_AddFloorPlanForWebAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Deletes the web optimized floor plan for a property",
        "operationId": "PropertyFloorPlans_DeleteFloorPlanForWeb",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/floorplans/print": {
      "get": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Gets the high quality floor plan for a property",
        "operationId": "PropertyFloorPlans_GetFloorPlanForPrint",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "post": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Adds/Updates the high quality floor plan for a property. The supported file types are .jpg, .jpeg, .png, .gif, .tif, .wmf",
        "operationId": "PropertyFloorPlans_AddFloorPlanForPrintAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Deletes the high quality floor plan for a property",
        "operationId": "PropertyFloorPlans_DeleteFloorPlanForPrint",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/floorplans/web/metadata": {
      "get": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Gets the meta data of the web optimized floor plan of a property",
        "operationId": "PropertyFloorPlans_GetFloorPlanForWebMetaDataAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FileMetaData"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/floorplans/print/metadata": {
      "get": {
        "tags": [
          "PropertyFloorPlans"
        ],
        "summary": "Gets the meta data of the high quality floor plan of a property",
        "operationId": "PropertyFloorPlans_GetFloorPlanForPrintMetaDataAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FileMetaData"
            }
          }
        }
      }
    },
    "/v1/PropertyOffers/{id}": {
      "get": {
        "tags": [
          "PropertyOffers"
        ],
        "summary": "Get Property Offer by Id",
        "operationId": "PropertyOffers_GetPropertyOfferById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertyOfferRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PropertyOffers"
        ],
        "summary": "Update property offer",
        "operationId": "PropertyOffers_UpdatePropertyOffer",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyOffer",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PropertyOfferWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/PropertyOffers/list": {
      "get": {
        "tags": [
          "PropertyOffers"
        ],
        "summary": "Retrieves a list of Property Offers by parameters",
        "operationId": "PropertyOffers_GetPropertyOffers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestPropertyOffers.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyOffers.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyOffers.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyOffers.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestPropertyOffers.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestPropertyOffers.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestPropertyOffers.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyOfferRead]"
            }
          }
        }
      }
    },
    "/v1/PropertyOffers": {
      "post": {
        "tags": [
          "PropertyOffers"
        ],
        "summary": "Create property offer",
        "operationId": "PropertyOffers_CreatePropertyOffer",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestPropertyOffer",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PropertyOfferWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/pictures/metadata/{type}": {
      "get": {
        "tags": [
          "PropertyPictures"
        ],
        "summary": "Retrieves the meta data for pictures of a property",
        "operationId": "PropertyPictures_GetMetaData",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "path",
            "description": "0: Thumbnail, 1: Web, 2: High Res",
            "required": true,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/PictureMetaData"
              }
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/pictures/{pictureId}": {
      "get": {
        "tags": [
          "PropertyPictures"
        ],
        "summary": "Get a picture for a property",
        "operationId": "PropertyPictures_GetPropertyPicture",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "type",
            "in": "query",
            "description": "0: Thumbnail, 1: Web, 2: High Res",
            "required": false,
            "type": "integer",
            "format": "int32",
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "put": {
        "tags": [
          "PropertyPictures"
        ],
        "summary": "Update a picture for a property. The supported file types are .jpg, .jpeg, .gif",
        "operationId": "PropertyPictures_UpdatePropertyPictureAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PropertyPictures"
        ],
        "summary": "Delete a picture from a property",
        "operationId": "PropertyPictures_DeletePropertyPictureAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Properties/{id}/pictures": {
      "post": {
        "tags": [
          "PropertyPictures"
        ],
        "summary": "Add a new picture to a property. The supported file types are .jpg, .jpeg, .gif",
        "operationId": "PropertyPictures_AddPropertyPictureAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/PropertyTaxBands/{id}": {
      "get": {
        "tags": [
          "PropertyTaxBands"
        ],
        "summary": "Get property tax band by Id",
        "operationId": "PropertyTaxBands_GetPropertyTaxBandById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertyTaxBandRead"
            }
          }
        }
      }
    },
    "/v1/PropertyTaxBands/list": {
      "get": {
        "tags": [
          "PropertyTaxBands"
        ],
        "summary": "Retrieves a list of Property Tax Bands",
        "operationId": "PropertyTaxBands_GetAllPropertyTaxBand",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyTaxBandRead]"
            }
          }
        }
      }
    },
    "/v1/PropertyTypes/{id}": {
      "get": {
        "tags": [
          "PropertyTypes"
        ],
        "summary": "Get property type by Id",
        "operationId": "PropertyTypes_GetPropertyTypeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PropertyTypeRead"
            }
          }
        }
      }
    },
    "/v1/PropertyTypes/list": {
      "get": {
        "tags": [
          "PropertyTypes"
        ],
        "summary": "Retrieves a list of Property Types",
        "operationId": "PropertyTypes_GetAllPropertyType",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[PropertyTypeRead]"
            }
          }
        }
      }
    },
    "/v1/webhooks/rightmove/leads": {
      "post": {
        "tags": [
          "RightmoveLeads"
        ],
        "summary": "Process leads sent from Rightmove",
        "operationId": "RightmoveLeads_CreateLeadAsync",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "webHookEvent",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WebHookEvent[Lead]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Sites/{id}": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Get Site by Id",
        "operationId": "Sites_GetSiteById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SiteRead"
            }
          }
        }
      }
    },
    "/v1/Sites/list": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Retrieves all sites",
        "operationId": "Sites_GetAllSites",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[SiteRead]"
            }
          }
        }
      }
    },
    "/v1/Tasks/{id}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get task by Id",
        "operationId": "Tasks_GetTaskById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaskRead"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update task",
        "operationId": "Tasks_UpdateTask",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTask",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TaskWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/Tasks/list": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Retrieves a list of task by parameters",
        "operationId": "Tasks_GetTasks",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestTasks.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTasks.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTasks.assignedUserId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTasks.alwaysShowAtTop",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "requestTasks.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTasks.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTasks.minCompletedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTasks.maxCompletedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTasks.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTasks.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[TaskRead]"
            }
          }
        }
      }
    },
    "/v1/Tasks": {
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create task",
        "operationId": "Tasks_CreateTask",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestTask",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TaskWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/TaskTypes/{id}": {
      "get": {
        "tags": [
          "TaskTypes"
        ],
        "summary": "Get task type by Id",
        "operationId": "TaskTypes_GetTaskTypeById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TaskTypeRead"
            }
          }
        }
      }
    },
    "/v1/TaskTypes/list": {
      "get": {
        "tags": [
          "TaskTypes"
        ],
        "summary": "Retrieves a list of task types",
        "operationId": "TaskTypes_GetAllTaskType",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[TaskTypeRead]"
            }
          }
        }
      }
    },
    "/v1/Tenancies/{id}": {
      "get": {
        "tags": [
          "Tenancies"
        ],
        "summary": "Get tenancy by Id",
        "operationId": "Tenancies_GetTenancyById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/TenancyRead"
            }
          }
        }
      }
    },
    "/v1/Tenancies/list": {
      "get": {
        "tags": [
          "Tenancies"
        ],
        "summary": "Retrieves a list of tenancies by parameters",
        "operationId": "Tenancies_GetTenancies",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestTenancy.contactId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.managementTypeId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.status",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.minStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.maxStartDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.minEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.maxEndDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestTenancy.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestTenancy.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[TenancyRead]"
            }
          }
        }
      }
    },
    "/v1/Users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user by Id",
        "operationId": "Users_GetUserById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserRead"
            }
          }
        }
      }
    },
    "/v1/Users/list": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieves all users",
        "operationId": "Users_GetAllUsers",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "request.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.firstNames",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.lastName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.email",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "request.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "request.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[UserRead]"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/{id}/pictures/metadata": {
      "get": {
        "tags": [
          "WorkOrderPictures"
        ],
        "summary": "Retrieves the meta data for pictures of a work order",
        "operationId": "WorkOrderPictures_GetWorkOrderPictureMetadata",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/{id}/pictures/{pictureId}": {
      "get": {
        "tags": [
          "WorkOrderPictures"
        ],
        "summary": "Get a picture for a work order",
        "operationId": "WorkOrderPictures_GetWorkOrderPicture",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "put": {
        "tags": [
          "WorkOrderPictures"
        ],
        "summary": "Update a picture for a work order",
        "operationId": "WorkOrderPictures_UpdateWorkOrderPicture",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "WorkOrderPictures"
        ],
        "summary": "Delete a picture from a work order",
        "operationId": "WorkOrderPictures_DeleteWorkOrderPictureAsync",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pictureId",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/{id}/pictures": {
      "post": {
        "tags": [
          "WorkOrderPictures"
        ],
        "summary": "Add a picture to a work order",
        "operationId": "WorkOrderPictures_AddPictureToWorkOrder",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/{Id}": {
      "get": {
        "tags": [
          "WorkOrders"
        ],
        "summary": "Retrieves a Work Order by id",
        "operationId": "WorkOrders_GetWorkOrdersById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[WorkOrderRead]"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/list": {
      "get": {
        "tags": [
          "WorkOrders"
        ],
        "summary": "Retrieves a list of Work Orders by parameters",
        "operationId": "WorkOrders_GetWorkOrders",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestWorkOrders.contractorId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.propertyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.certificateId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.companyId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.status",
            "in": "query",
            "description": "0 - Outstanding, 1 - Completed, 2 - Closed, 3 - Estimate, 4 - Archived, 5 - Pending",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.type",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.priority",
            "in": "query",
            "description": "0 - Normal, 1 - Low, 2 - High",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.minUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestWorkOrders.maxUpdatedDate",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "requestWorkOrders.assignedUserId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.siteId",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrders.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[WorkOrderRead]"
            }
          }
        }
      }
    },
    "/v1/WorkOrders/{id}": {
      "put": {
        "tags": [
          "WorkOrders"
        ],
        "summary": "Update a Work Order",
        "operationId": "WorkOrders_UpdateWorkOrderById",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrder",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkOrderWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[WorkOrderRead]"
            }
          }
        }
      }
    },
    "/v1/WorkOrders": {
      "post": {
        "tags": [
          "WorkOrders"
        ],
        "summary": "Create a Work Order",
        "operationId": "WorkOrders_CreateWorkOrder",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestWorkOrder",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/WorkOrderWrite"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/NewRecord"
            }
          }
        }
      }
    },
    "/v1/WorkOrderTypes/{Id}": {
      "get": {
        "tags": [
          "WorkOrderTypes"
        ],
        "summary": "Retrieves a Work Order Type by Id",
        "operationId": "WorkOrderTypes_GetWorkOrdersById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[WorkOrderRead]"
            }
          }
        }
      }
    },
    "/v1/WorkOrderTypes/list": {
      "get": {
        "tags": [
          "WorkOrderTypes"
        ],
        "summary": "Retrieves a list of Work Order Types by parameters",
        "operationId": "WorkOrderTypes_GetWorkOrderTypes",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "requestWorkOrderTypes.currentPage",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "requestWorkOrderTypes.pageSize",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ResponsePagination[WorkOrderRead]"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AppointmentRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "appointmentTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "confirmed": {
          "type": "boolean"
        },
        "cancelled": {
          "type": "boolean"
        },
        "noShow": {
          "type": "boolean"
        },
        "notes": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "attendees": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "createdByUserId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "AppointmentWrite": {
      "type": "object",
      "properties": {
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "appointmentTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "confirmed": {
          "type": "boolean"
        },
        "cancelled": {
          "type": "boolean"
        },
        "noShow": {
          "type": "boolean"
        },
        "notes": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "attendees": {
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "DetailedAppointmentRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "appointmentTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "confirmed": {
          "type": "boolean"
        },
        "cancelled": {
          "type": "boolean"
        },
        "noShow": {
          "type": "boolean"
        },
        "notes": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Property"
          }
        },
        "attendees": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Attendee"
          }
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "createdByUserId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "Property": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "address": {
          "type": "string"
        },
        "owner": {
          "$ref": "#/definitions/Owner"
        },
        "viewingNotes": {
          "type": "string"
        }
      }
    },
    "Attendee": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "telephone": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        }
      }
    },
    "Owner": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "telephone": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        }
      }
    },
    "RequestAppointment": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "appointmentTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "appointmentTypeGroupId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyCategory": {
          "format": "int32",
          "enum": [
            0,
            1,
            99
          ],
          "type": "integer"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[AppointmentRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AppointmentRead"
          }
        }
      }
    },
    "Pagination": {
      "type": "object",
      "properties": {
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        },
        "totalPages": {
          "format": "int32",
          "type": "integer"
        },
        "totalRecords": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "NewRecord": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "AppointmentTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "appointmentTypeGroupId": {
          "format": "int32",
          "type": "integer"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "RequestAppointmentType": {
      "type": "object",
      "properties": {
        "appointmentTypeGroupId": {
          "format": "int32",
          "type": "integer"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[AppointmentTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AppointmentTypeRead"
          }
        }
      }
    },
    "AuthRequest": {
      "required": [
        "sitePrefix",
        "apiKey"
      ],
      "type": "object",
      "properties": {
        "sitePrefix": {
          "maxLength": 4,
          "minLength": 0,
          "type": "string"
        },
        "apiKey": {
          "type": "string"
        }
      }
    },
    "Jwt": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        },
        "expiresIn": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "CertificateRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "issuerId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "reference": {
          "type": "string"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "CertificateWrite": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "issuerId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            4
          ],
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "reference": {
          "type": "string"
        }
      }
    },
    "RequestCertificate": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "issuerId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "minStartDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxStartDate": {
          "format": "date-time",
          "type": "string"
        },
        "minEndDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxEndDate": {
          "format": "date-time",
          "type": "string"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[CertificateRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CertificateRead"
          }
        }
      }
    },
    "CertificateTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "RequestPagination": {
      "type": "object",
      "properties": {
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[CertificateTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CertificateTypeRead"
          }
        }
      }
    },
    "ContactPropertyRequirementsRead": {
      "type": "object",
      "properties": {
        "category": {
          "format": "int32",
          "type": "integer"
        },
        "usage": {
          "format": "int32",
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "minBedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "marketPositionId": {
          "format": "int32",
          "type": "integer"
        },
        "lettingsPropertyRequirements": {
          "$ref": "#/definitions/LettingsPropertyRequirements"
        }
      }
    },
    "LettingsPropertyRequirements": {
      "type": "object",
      "properties": {
        "isStudent": {
          "type": "boolean"
        }
      }
    },
    "ContactPropertyRequirementsWrite": {
      "type": "object",
      "properties": {
        "category": {
          "format": "int32",
          "type": "integer"
        },
        "usage": {
          "format": "int32",
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "minBedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "marketPositionId": {
          "format": "int32",
          "type": "integer"
        },
        "lettingsPropertyRequirements": {
          "$ref": "#/definitions/LettingsPropertyRequirements"
        }
      }
    },
    "ContactRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "businessTelephone": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/Address"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "typeId": {
          "format": "int32",
          "type": "integer"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "isPrimaryContact": {
          "type": "boolean"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        },
        "contactPropertyRequirements": {
          "$ref": "#/definitions/ContactPropertyRequirementsRead"
        }
      }
    },
    "Address": {
      "type": "object",
      "properties": {
        "isHomeAddress": {
          "type": "boolean"
        },
        "propertyName": {
          "type": "string"
        },
        "street": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "countryCode": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ContactWrite": {
      "type": "object",
      "properties": {
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/Address"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RequestContacts": {
      "type": "object",
      "properties": {
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "companyName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "telephone": {
          "type": "string"
        },
        "altReference": {
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "category": {
          "format": "int32",
          "enum": [
            0,
            1,
            99
          ],
          "type": "integer"
        },
        "usage": {
          "format": "int32",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "minBedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "isStudent": {
          "type": "boolean"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[ContactRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactRead"
          }
        }
      }
    },
    "VendorContactWrite": {
      "type": "object",
      "properties": {
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/Address"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "SolicitorContactWrite": {
      "type": "object",
      "properties": {
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/AddressBase"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "AddressBase": {
      "type": "object",
      "properties": {
        "propertyName": {
          "type": "string"
        },
        "street": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "countryCode": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "SalesApplicantWrite": {
      "type": "object",
      "properties": {
        "usage": {
          "format": "int32",
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "minBedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "marketPositionId": {
          "format": "int32",
          "type": "integer"
        },
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/Address"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "LettingsApplicantWrite": {
      "type": "object",
      "properties": {
        "usage": {
          "format": "int32",
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "minBedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "isStudent": {
          "type": "boolean"
        },
        "marketPositionId": {
          "format": "int32",
          "type": "integer"
        },
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "company": {
          "type": "string"
        },
        "address": {
          "$ref": "#/definitions/Address"
        },
        "telephone": {
          "type": "string"
        },
        "telephoneAlt": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "emailAlt": {
          "type": "string"
        },
        "titleId": {
          "format": "int32",
          "type": "integer"
        },
        "sourceId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "altReference": {
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "linkedTo": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ContactSourceRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[ContactSourceRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactSourceRead"
          }
        }
      }
    },
    "ContactStatusRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[ContactStatusRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactStatusRead"
          }
        }
      }
    },
    "ContactTitleRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[ContactTitleRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactTitleRead"
          }
        }
      }
    },
    "ContactTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[ContactTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactTypeRead"
          }
        }
      }
    },
    "DocumentQueryParams": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        },
        "templateId": {
          "format": "int32",
          "type": "integer"
        },
        "minAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[DocumentsRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DocumentsRead"
          }
        }
      }
    },
    "DocumentsRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "templateId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "RequestDocument": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        },
        "templateId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[DocumentTemplatesRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DocumentTemplatesRead"
          }
        }
      }
    },
    "DocumentTemplatesRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "CompletedReference": {
      "type": "object",
      "properties": {
        "applicantId": {
          "type": "string"
        },
        "reportResult": {
          "type": "string"
        },
        "reportContent": {
          "type": "string"
        },
        "referenceId": {
          "type": "string"
        }
      }
    },
    "ResponsePagination[MaintenanceRequestsRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MaintenanceRequestsRead"
          }
        }
      }
    },
    "MaintenanceRequestsRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "contactFirstNames": {
          "type": "string"
        },
        "contactLastName": {
          "type": "string"
        },
        "contactEmail": {
          "type": "string"
        },
        "contactTelephone": {
          "type": "string"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyStreet": {
          "type": "string"
        },
        "propertyPostcode": {
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "workOrderTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "description": "0 - Outstanding, 1 - Converted to Work Order, 2 - Rejected",
          "type": "integer"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "pictureCount": {
          "format": "int32",
          "type": "integer"
        },
        "externalId": {
          "format": "int32",
          "type": "integer"
        },
        "workOrderId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RequestMaintenanceRequests": {
      "type": "object",
      "properties": {
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "description": "0 - Outstanding, 1 - Converted to Work Order, 2 - Rejected",
          "type": "integer"
        },
        "minAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "userId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ManagementTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[ManagementTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ManagementTypeRead"
          }
        }
      }
    },
    "MarketPositionRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[MarketPositionRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MarketPositionRead"
          }
        }
      }
    },
    "NoteRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "desktopAlert": {
          "type": "boolean"
        }
      }
    },
    "NoteWrite": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "desktopAlert": {
          "type": "boolean"
        }
      }
    },
    "RequestNotes": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[NoteRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NoteRead"
          }
        }
      }
    },
    "OnTheMarketLead": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "branch-id": {
          "type": "string"
        },
        "lead-id": {
          "format": "int32",
          "type": "integer"
        },
        "email-types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "appraisal-requested?": {
          "type": "boolean"
        },
        "created-on": {
          "type": "string"
        },
        "sender": {
          "$ref": "#/definitions/OnTheMarketSender"
        },
        "property": {
          "$ref": "#/definitions/OnTheMarketProperty"
        }
      }
    },
    "OnTheMarketSender": {
      "type": "object",
      "properties": {
        "rent-situation": {
          "type": "string"
        },
        "sale-confidence": {
          "type": "string"
        },
        "about-me": {
          "type": "string"
        },
        "sale-timeframe": {
          "type": "string"
        },
        "telephone": {
          "type": "string"
        },
        "whatsapp-contactable": {
          "type": "boolean"
        },
        "financial-advice": {
          "type": "boolean"
        },
        "city": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "chain-free": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "address1": {
          "type": "string"
        },
        "mortgage-concerns": {
          "type": "string"
        },
        "address2": {
          "type": "string"
        },
        "enquiry": {
          "type": "string"
        },
        "moving-situation": {
          "type": "string"
        },
        "sale-situation": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "OnTheMarketProperty": {
      "type": "object",
      "properties": {
        "interior-bathroom-condition": {
          "type": "string"
        },
        "interior-central-heating": {
          "type": "string"
        },
        "additional-feature-terrace-patio": {
          "type": "boolean"
        },
        "property-lease-years": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "property-style": {
          "type": "string"
        },
        "additional-feature-balcony": {
          "type": "boolean"
        },
        "property-age": {
          "type": "string"
        },
        "exterior-parking": {
          "type": "string"
        },
        "letting-details-student-accommodation": {
          "type": "boolean"
        },
        "exterior-garden": {
          "type": "string"
        },
        "address3": {
          "type": "string"
        },
        "new-home-flag": {
          "type": "boolean"
        },
        "additional-feature-super-room": {
          "type": "boolean"
        },
        "interior-reception-rooms": {
          "type": "string"
        },
        "property-type": {
          "type": "string"
        },
        "val-lower": {
          "format": "int32",
          "type": "integer"
        },
        "town": {
          "type": "string"
        },
        "rent-monthly-upper": {
          "format": "int32",
          "type": "integer"
        },
        "postcode": {
          "type": "string"
        },
        "valuation-reason": {
          "type": "string"
        },
        "yearly-yield-estimate": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "interior-kitchen-condition": {
          "type": "string"
        },
        "rent-monthly-lower": {
          "format": "int32",
          "type": "integer"
        },
        "address1": {
          "type": "string"
        },
        "val-prev-year": {
          "format": "int32",
          "type": "integer"
        },
        "val-avg-bed-no": {
          "format": "int32",
          "type": "integer"
        },
        "val-prev": {
          "format": "int32",
          "type": "integer"
        },
        "rent-monthly-estimate": {
          "format": "int32",
          "type": "integer"
        },
        "address2": {
          "type": "string"
        },
        "valuation-property-relationship": {
          "type": "string"
        },
        "bedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "instant-valuation-type": {
          "type": "string"
        },
        "rent-weekly-estimate": {
          "format": "int32",
          "type": "integer"
        },
        "interior-bathrooms": {
          "type": "string"
        },
        "letting-details-furnished": {
          "type": "boolean"
        },
        "letting-details-house-flat-share": {
          "type": "boolean"
        },
        "prop-id": {
          "type": "string"
        },
        "exterior-garage": {
          "type": "string"
        },
        "val-upper": {
          "format": "int32",
          "type": "integer"
        },
        "val-avg": {
          "format": "int32",
          "type": "integer"
        },
        "letting-details-unfurnished": {
          "type": "boolean"
        },
        "plot-name-number": {
          "type": "string"
        },
        "interior-bedrooms": {
          "type": "string"
        },
        "val-avg-property-type": {
          "type": "string"
        },
        "exterior-extended": {
          "type": "string"
        },
        "trans-type-id": {
          "type": "string"
        },
        "price": {
          "format": "int32",
          "type": "integer"
        },
        "property-description": {
          "type": "string"
        },
        "cover-image-url": {
          "type": "string"
        },
        "val-confidence-level": {
          "type": "string"
        },
        "prop-sub-id": {
          "type": "string"
        },
        "property-condition": {
          "type": "string"
        },
        "valuation-type": {
          "type": "string"
        },
        "val-prev-today": {
          "format": "int32",
          "type": "integer"
        },
        "agent-ref": {
          "type": "string"
        },
        "property-lease": {
          "type": "string"
        },
        "val-avg-bed": {
          "format": "int32",
          "type": "integer"
        },
        "val-estimate": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PropertyRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "categoryId": {
          "format": "int32",
          "type": "integer"
        },
        "tenureId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyAreaId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyLocalAuthorityId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyTaxBandId": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "fullDescription": {
          "type": "string"
        },
        "directions": {
          "type": "string"
        },
        "virtualTourURL": {
          "type": "string"
        },
        "virtualTourURL2": {
          "type": "string"
        },
        "price": {
          "format": "double",
          "type": "number"
        },
        "pricePrefix": {
          "format": "int32",
          "type": "integer"
        },
        "priceFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "bedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "bathrooms": {
          "format": "int32",
          "type": "integer"
        },
        "receptionRooms": {
          "format": "int32",
          "type": "integer"
        },
        "address": {
          "$ref": "#/definitions/AddressBase"
        },
        "altReference": {
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "marketDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "usagedId": {
          "format": "int32",
          "type": "integer"
        },
        "sellingMethodId": {
          "format": "int32",
          "type": "integer"
        },
        "latitude": {
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "format": "double",
          "type": "number"
        },
        "pictureCount": {
          "format": "int32",
          "type": "integer"
        },
        "hasFloorPlanForWeb": {
          "type": "boolean"
        },
        "hasFloorPlanForPrint": {
          "type": "boolean"
        },
        "managementTypeId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PropertyWrite": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "fullDescription": {
          "type": "string"
        },
        "directions": {
          "type": "string"
        },
        "virtualTourURL": {
          "type": "string"
        },
        "virtualTourURL2": {
          "type": "string"
        },
        "altReference": {
          "type": "string"
        },
        "managementTypeID": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RequestPropertyByAddress": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[PropertyRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyRead"
          }
        }
      }
    },
    "RequestPropertyList": {
      "type": "object",
      "properties": {
        "propertyName": {
          "type": "string"
        },
        "street": {
          "type": "string"
        },
        "locality": {
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "altReference": {
          "type": "string"
        },
        "countryCode": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "categoryId": {
          "format": "int32",
          "type": "integer"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "tenureId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyAreaId": {
          "format": "int32",
          "type": "integer"
        },
        "minPrice": {
          "format": "double",
          "type": "number"
        },
        "maxPrice": {
          "format": "double",
          "type": "number"
        },
        "bedrooms": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "PropertyAreaRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "ResponsePagination[PropertyAreaRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyAreaRead"
          }
        }
      }
    },
    "RequestPropertyDetailsSentItem": {
      "type": "object",
      "properties": {
        "contactIds": {
          "description": "Pass a single Contact ID, or a comma separated list of Contact IDs",
          "type": "string"
        },
        "propertyIds": {
          "description": "Pass a single Property ID, or a comma separated list of Property IDs",
          "type": "string"
        },
        "userId": {
          "format": "int32",
          "type": "integer"
        },
        "minAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxAddedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[PropertyDetailsSentItemRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyDetailsSentItemRead"
          }
        }
      }
    },
    "PropertyDetailsSentItemRead": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "userId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "type": {
          "format": "int32",
          "description": "0: Email, 1: SMS, 2: Viewed, 3: Posted, 4: Telephone, 5: Collected, 6: Website View",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "type": "integer"
        }
      }
    },
    "RequestPropertyFeedback": {
      "type": "object",
      "properties": {
        "feedbackDate": {
          "format": "date-time",
          "type": "string"
        },
        "response": {
          "format": "int32",
          "enum": [
            0,
            1,
            2
          ],
          "type": "integer"
        },
        "notes": {
          "type": "string"
        },
        "locationRating": {
          "format": "int32",
          "description": "Rating value is integer and between 0 to 5",
          "type": "integer"
        },
        "conditionRating": {
          "format": "int32",
          "description": "Rating value is integer and between 0 to 5",
          "type": "integer"
        },
        "priceRating": {
          "format": "int32",
          "description": "Rating value is integer and between 0 to 5",
          "type": "integer"
        }
      }
    },
    "FileMetaData": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "size": {
          "format": "int64",
          "type": "integer"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "hash": {
          "type": "string"
        },
        "mimeType": {
          "type": "string"
        }
      }
    },
    "PropertyOfferRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "offerDate": {
          "format": "date-time",
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "notes": {
          "type": "string"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "solicitorId": {
          "format": "int32",
          "type": "integer"
        },
        "exchangedContracts": {
          "format": "date-time",
          "type": "string"
        },
        "completionDate": {
          "format": "date-time",
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "PropertyOfferWrite": {
      "type": "object",
      "properties": {
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "offerDate": {
          "format": "date-time",
          "type": "string"
        },
        "amount": {
          "format": "double",
          "type": "number"
        },
        "notes": {
          "type": "string"
        },
        "statusId": {
          "format": "int32",
          "type": "integer"
        },
        "solicitorId": {
          "format": "int32",
          "type": "integer"
        },
        "exchangedContracts": {
          "format": "date-time",
          "type": "string"
        },
        "completionDate": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "RequestPropertyOffers": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[PropertyOfferRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyOfferRead"
          }
        }
      }
    },
    "PictureMetaData": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "size": {
          "format": "int64",
          "type": "integer"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "hash": {
          "type": "string"
        },
        "mimeType": {
          "type": "string"
        }
      }
    },
    "PropertyTaxBandRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "ResponsePagination[PropertyTaxBandRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyTaxBandRead"
          }
        }
      }
    },
    "PropertyTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[PropertyTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PropertyTypeRead"
          }
        }
      }
    },
    "WebHookEvent[Lead]": {
      "type": "object",
      "properties": {
        "eventId": {
          "type": "string"
        },
        "eventType": {
          "type": "string"
        },
        "data": {
          "$ref": "#/definitions/Lead"
        }
      }
    },
    "Lead": {
      "type": "object",
      "properties": {
        "applicant": {
          "$ref": "#/definitions/Applicant"
        },
        "submitTime": {
          "format": "date-time",
          "type": "string"
        },
        "createTime": {
          "format": "date-time",
          "type": "string"
        },
        "leadType": {
          "type": "string"
        },
        "reference": {
          "type": "string"
        },
        "agentId": {
          "format": "int32",
          "type": "integer"
        },
        "comments": {
          "type": "string"
        },
        "requestViewing": {
          "type": "boolean"
        },
        "requestPropertyDetails": {
          "type": "boolean"
        },
        "deepLink": {
          "type": "string"
        },
        "incomeSatisfactory": {
          "type": "string"
        },
        "adverseCredit": {
          "type": "string"
        },
        "employmentStatus": {
          "type": "string"
        },
        "hasGuarantor": {
          "type": "boolean"
        },
        "hasSavings": {
          "type": "boolean"
        },
        "moveByUrgency": {
          "type": "string"
        },
        "movingWith": {
          "type": "string"
        },
        "firstTimeRenter": {
          "type": "boolean"
        },
        "numberOfAdultsMoving": {
          "type": "string"
        },
        "numberOfChildrenMoving": {
          "type": "string"
        },
        "creditCheckConsentStatus": {
          "type": "string"
        },
        "pets": {
          "type": "boolean"
        },
        "smoker": {
          "type": "boolean"
        },
        "petsInformation": {
          "type": "string"
        },
        "sellingSituationType": {
          "type": "string"
        },
        "rentingSituationType": {
          "type": "string"
        },
        "valuationRequested": {
          "type": "boolean"
        },
        "partExchangedRequested": {
          "type": "boolean"
        },
        "urgency": {
          "type": "string"
        },
        "buyerStatus": {
          "type": "string"
        },
        "affordabilityChecks": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "appointmentRequest": {
          "$ref": "#/definitions/AppointmentRequest"
        },
        "enquirerType": {
          "type": "string"
        },
        "whyAreYouBuyingOverseas": {
          "type": "string"
        },
        "requestCurrencyServices": {
          "type": "boolean"
        }
      }
    },
    "Applicant": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "emailAddress": {
          "type": "string"
        },
        "telephone": {
          "type": "string"
        },
        "address": {
          "type": "string"
        }
      }
    },
    "AppointmentRequest": {
      "type": "object",
      "properties": {
        "timeSlot": {
          "type": "string"
        },
        "weekDayAvailability": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "SiteRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "ResponsePagination[SiteRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SiteRead"
          }
        }
      }
    },
    "TaskRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "taskTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "priority": {
          "format": "int32",
          "type": "integer"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string"
        },
        "completedDate": {
          "format": "date-time",
          "type": "string"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "assignedToUserId": {
          "format": "int32",
          "type": "integer"
        },
        "desktopAlert": {
          "type": "boolean"
        }
      }
    },
    "TaskWrite": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "taskTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "priority": {
          "format": "int32",
          "type": "integer"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string"
        },
        "completedDate": {
          "format": "date-time",
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "desktopAlert": {
          "type": "boolean"
        }
      }
    },
    "RequestTasks": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "alwaysShowAtTop": {
          "type": "boolean"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "minCompletedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxCompletedDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[TaskRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaskRead"
          }
        }
      }
    },
    "TaskTypeRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "inactive": {
          "type": "boolean"
        }
      }
    },
    "ResponsePagination[TaskTypeRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaskTypeRead"
          }
        }
      }
    },
    "TenancyRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "startDate": {
          "format": "date-time",
          "type": "string"
        },
        "endDate": {
          "format": "date-time",
          "type": "string"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "rentAmount": {
          "format": "double",
          "type": "number"
        },
        "rentFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "benefitAmount": {
          "format": "double",
          "type": "number"
        },
        "benefitFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "commissionFee": {
          "format": "double",
          "type": "number"
        },
        "commissionPercentage": {
          "format": "double",
          "type": "number"
        },
        "letOnlyFee": {
          "format": "double",
          "type": "number"
        },
        "letOnlyPercentage": {
          "format": "double",
          "type": "number"
        },
        "managementTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "depositAmount": {
          "format": "double",
          "type": "number"
        },
        "depositHeldBy": {
          "format": "int32",
          "type": "integer"
        },
        "depositSchemeId": {
          "type": "string"
        },
        "bondAmount": {
          "format": "double",
          "type": "number"
        },
        "automaticRenewal": {
          "type": "boolean"
        },
        "notes": {
          "type": "string"
        },
        "inspectionFrequency": {
          "format": "int32",
          "type": "integer"
        },
        "nextInspectionDate": {
          "format": "date-time",
          "type": "string"
        },
        "nextRentReviewDate": {
          "format": "date-time",
          "type": "string"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "updatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RequestTenancy": {
      "type": "object",
      "properties": {
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "managementTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "minStartDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxStartDate": {
          "format": "date-time",
          "type": "string"
        },
        "minEndDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxEndDate": {
          "format": "date-time",
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[TenancyRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TenancyRead"
          }
        }
      }
    },
    "UserRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "branchManager": {
          "type": "boolean"
        },
        "salesNegotiator": {
          "type": "boolean"
        },
        "lettingsNegotiator": {
          "type": "boolean"
        }
      }
    },
    "RequestUser": {
      "type": "object",
      "properties": {
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "firstNames": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "ResponsePagination[UserRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserRead"
          }
        }
      }
    },
    "ResponsePagination[WorkOrderRead]": {
      "type": "object",
      "properties": {
        "pagination": {
          "$ref": "#/definitions/Pagination"
        },
        "data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WorkOrderRead"
          }
        }
      }
    },
    "WorkOrderRead": {
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "type": "integer"
        },
        "addedByUserId": {
          "format": "int32",
          "type": "integer"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "addedDate": {
          "format": "date-time",
          "type": "string"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string"
        },
        "completedDate": {
          "format": "date-time",
          "type": "string"
        },
        "workOrderTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "description": "0 - Outstanding, 1 - Completed, 2 - Closed, 3 - Estimate, 4 - Archived, 5 - Pending",
          "type": "integer"
        },
        "priority": {
          "format": "int32",
          "description": "0 - Normal, 1 - Low, 2 - High",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "contractorId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "estimate": {
          "format": "double",
          "type": "number"
        },
        "reference": {
          "type": "string"
        },
        "companyId": {
          "format": "int32",
          "type": "integer"
        },
        "externalId": {
          "format": "int32",
          "type": "integer"
        },
        "statusDate": {
          "format": "date-time",
          "type": "string"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        },
        "pictureCount": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "RequestWorkOrders": {
      "type": "object",
      "properties": {
        "contractorId": {
          "format": "int32",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        },
        "companyId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "description": "0 - Outstanding, 1 - Completed, 2 - Closed, 3 - Estimate, 4 - Archived, 5 - Pending",
          "type": "integer"
        },
        "type": {
          "format": "int32",
          "type": "integer"
        },
        "priority": {
          "format": "int32",
          "description": "0 - Normal, 1 - Low, 2 - High",
          "type": "integer"
        },
        "minUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "maxUpdatedDate": {
          "format": "date-time",
          "type": "string"
        },
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "siteId": {
          "format": "int32",
          "type": "integer"
        },
        "currentPage": {
          "format": "int32",
          "type": "integer"
        },
        "pageSize": {
          "format": "int32",
          "type": "integer"
        }
      }
    },
    "WorkOrderWrite": {
      "type": "object",
      "properties": {
        "assignedUserId": {
          "format": "int32",
          "type": "integer"
        },
        "dueDate": {
          "format": "date-time",
          "type": "string"
        },
        "completedDate": {
          "format": "date-time",
          "type": "string"
        },
        "workOrderTypeId": {
          "format": "int32",
          "type": "integer"
        },
        "status": {
          "format": "int32",
          "description": "0 - Outstanding, 1 - Completed, 2 - Closed, 3 - Estimate, 4 - Archived, 5 - Pending",
          "type": "integer"
        },
        "priority": {
          "format": "int32",
          "description": "0 - Normal, 1 - Low, 2 - High",
          "type": "integer"
        },
        "propertyId": {
          "format": "int32",
          "type": "integer"
        },
        "contractorId": {
          "format": "int32",
          "type": "integer"
        },
        "contactId": {
          "format": "int32",
          "type": "integer"
        },
        "subject": {
          "type": "string"
        },
        "body": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "estimate": {
          "format": "double",
          "type": "number"
        },
        "reference": {
          "type": "string"
        },
        "companyId": {
          "format": "int32",
          "type": "integer"
        },
        "externalId": {
          "format": "int32",
          "type": "integer"
        },
        "certificateId": {
          "format": "int32",
          "type": "integer"
        }
      }
    }
  },
  "securityDefinitions": {
    "Authorization": {
      "type": "apiKey",
      "description": "Bearer Token Authentication",
      "name": "Authorization",
      "in": "header"
    }
  }
}