agentOS API V3, Diary Call Group icon

agentOS API V3, Diary Call Group

Connect to agentOS API V3, Diary Call Group with 1 MCP tools for AI-powered API automation.

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://live-api.letmc.com"
    }
  ],
  "info": {
    "contact": {
      "x-twitter": "agentOSSoftware"
    },
    "title": "agentOS API V3, Diary Call Group",
    "version": "v3-diary",
    "x-apisguru-categories": [
      "ecommerce"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_agentOSSoftware_profile_image.jpeg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://live-api.letmc.com/swagger/docs/v3-diary",
        "version": "2.0"
      },
      {
        "format": "openapi",
        "url": "https://live-api.letmc.com/swagger/docs/v3-diary",
        "version": "3.0"
      }
    ],
    "x-providerName": "letmc.com",
    "x-serviceName": "diary"
  },
  "paths": {
    "/v3/diary/{shortName}/allocations": {
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_GetAllocations",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The date to search from",
            "in": "query",
            "name": "preferredDate",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "The unique appointment type identifier",
            "in": "query",
            "name": "appointmentType",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Sales or Lettings property?",
            "in": "query",
            "name": "lettings",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "The unique property identifier (Sales or Lettings) determines branch and property type",
            "in": "query",
            "name": "propertyIdentifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Branch ID to check appointments (required if no property submitted)",
            "in": "query",
            "name": "branchID",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DiaryBookingModel"
                  },
                  "type": "array"
                }
              },
              "application/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DiaryBookingModel"
                  },
                  "type": "array"
                }
              },
              "text/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DiaryBookingModel"
                  },
                  "type": "array"
                }
              },
              "text/xml": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DiaryBookingModel"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a list of all available allocations for a date + 7 days for a specified appointment type",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/appointment": {
      "delete": {
        "deprecated": false,
        "operationId": "DiaryController_DeleteAppointment",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique appointment id",
            "in": "query",
            "name": "appointmentID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Delete an existing appointment using its unique identifier",
        "tags": [
          "DiaryController"
        ]
      },
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_GetAppointment",
        "parameters": [
          {
            "description": "Company short name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Appointment ID",
            "in": "query",
            "name": "appointmentID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModel"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get an appointment by ID",
        "tags": [
          "DiaryController"
        ]
      },
      "post": {
        "deprecated": false,
        "operationId": "DiaryController_PostAppointment",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique property identifier (Sales or Lettings)",
            "explode": true,
            "in": "query",
            "name": "propertyIdentifier",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "Sales or Lettings property?",
            "in": "query",
            "name": "lettings",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DiaryAppointmentDetails"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Post an appointment into a valid diary allocation",
        "tags": [
          "DiaryController"
        ]
      },
      "put": {
        "deprecated": false,
        "operationId": "DiaryController_PutAppointment",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique appointment id",
            "in": "query",
            "name": "appointmentID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Sales or Lettings property?",
            "in": "query",
            "name": "lettings",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Sales or Lettings property?",
            "in": "query",
            "name": "AllowMarketingCorrespondence",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/DiaryAppointmentDetails"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Update an existing appointment using its unique identifier",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/appointment/feedback": {
      "post": {
        "deprecated": false,
        "operationId": "DiaryController_AddFeedback",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeedbackSubmissionModel"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/FeedbackSubmissionModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/FeedbackSubmissionModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FeedbackSubmissionModel"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/FeedbackSubmissionModel"
              }
            }
          },
          "description": "Feedback submission model",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Submit appointment feedback",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/appointment/{appointmentID}/cancel": {
      "patch": {
        "deprecated": false,
        "operationId": "DiaryController_CancelAppointment",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique appointment id",
            "in": "path",
            "name": "appointmentID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/xml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Cancel an existing appointment using its unique identifier",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/appointmentsbetweendates": {
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_GetAppointmentsBetweenDates",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique ID of the Branch",
            "in": "query",
            "name": "branchID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The search from date",
            "in": "query",
            "name": "startDate",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "The search to date",
            "in": "query",
            "name": "endDate",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "The appointment IDs to search for",
            "explode": true,
            "in": "query",
            "name": "appointmentTypesToSearch",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The index of the first item to return",
            "in": "query",
            "name": "offset",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The maximum number of items to return (up to 1000 per request)",
            "in": "query",
            "name": "count",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "A collection of diary appointments linked to a company filtered between specific dates and by appointment type",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/appointmenttypes": {
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_GetAppointmentTypes",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The index of the first item to return",
            "in": "query",
            "name": "offset",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The maximum number of items to return (up to 1000 per request)",
            "in": "query",
            "name": "count",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentTypeModelResults"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentTypeModelResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentTypeModelResults"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentTypeModelResults"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "A collection of all diary appointment types",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortName}/company/branches": {
      "get": {
        "deprecated": false,
        "operationId": "CompanyController_GetBranches",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The index of the first item to return",
            "in": "query",
            "name": "offset",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The maximum number of items to return (up to 1000 per request)",
            "in": "query",
            "name": "count",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModelResults"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModelResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModelResults"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModelResults"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "All branches defined for a company",
        "tags": [
          "CompanyController"
        ]
      }
    },
    "/v3/diary/{shortName}/company/branches/{branchID}": {
      "get": {
        "deprecated": false,
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique ID of the Branch",
            "in": "path",
            "name": "branchID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModel"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModel"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AdvertisingBranchModel"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a specific branch given its unique Object ID (OID)",
        "tags": [
          "CompanyController"
        ]
      }
    },
    "/v3/diary/{shortName}/recurringappointment": {
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_GetRecurringAppointments",
        "parameters": [
          {
            "description": "The unique client short-name",
            "in": "path",
            "name": "shortName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The unique ID of the Branch",
            "in": "query",
            "name": "branchID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The appointment IDs to search for",
            "explode": true,
            "in": "query",
            "name": "appointmentTypesToSearch",
            "required": true,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          {
            "description": "The index of the first item to return",
            "in": "query",
            "name": "offset",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The maximum number of items to return (up to 1000 per request)",
            "in": "query",
            "name": "count",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/DiaryAppointmentModelResults"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Retrieves all recurring appointments:-",
        "tags": [
          "DiaryController"
        ]
      }
    },
    "/v3/diary/{shortname}/{branchID}/guest/search": {
      "get": {
        "deprecated": false,
        "operationId": "DiaryController_SearchGuest",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "shortname",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "path",
            "name": "branchID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "forename",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "emailaddress",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "surname",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "offset",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "",
            "in": "query",
            "name": "count",
            "required": true,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestDiaryParametersResultsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestDiaryParametersResultsModel"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Match Guest Parameters with existing applicants",
        "tags": [
          "DiaryController"
        ]
      }
    }
  },
  "components": {
    "requestBodies": {
      "DiaryAppointmentDetails": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/DiaryAppointmentDetails"
            }
          },
          "application/x-www-form-urlencoded": {
            "schema": {
              "$ref": "#/components/schemas/DiaryAppointmentDetails"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/DiaryAppointmentDetails"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/DiaryAppointmentDetails"
            }
          },
          "text/xml": {
            "schema": {
              "$ref": "#/components/schemas/DiaryAppointmentDetails"
            }
          }
        },
        "description": "The appointment details model",
        "required": true
      }
    },
    "schemas": {
      "AdvertisingBranchModel": {
        "description": "Defines a single branch of a client.",
        "properties": {
          "Address1": {
            "description": "Branch address line 1.",
            "type": "string"
          },
          "Address2": {
            "description": "Branch address line 2.",
            "type": "string"
          },
          "Address3": {
            "description": "Branch address line 3.",
            "type": "string"
          },
          "Address4": {
            "description": "Branch address line 4.",
            "type": "string"
          },
          "CompanyName": {
            "description": "The relevant company name, if not the one specified on the branch then the one on company.",
            "type": "string"
          },
          "County": {
            "description": "County",
            "type": "string"
          },
          "EMailAddress": {
            "description": "Branch email address.",
            "type": "string"
          },
          "ETag": {
            "description": "A unique identifier defining the object and change revision.",
            "type": "string"
          },
          "FaxPhone": {
            "description": "Branch fax phone number.",
            "type": "string"
          },
          "LandPhone": {
            "description": "Branch land phone number.",
            "type": "string"
          },
          "Name": {
            "description": "The branch name.",
            "type": "string"
          },
          "OID": {
            "description": "The unique Object ID (OID).",
            "type": "string"
          },
          "Postcode": {
            "description": "Branch address postcode.",
            "type": "string"
          },
          "WebAddress": {
            "description": "Branch web address.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AdvertisingBranchModelResults": {
        "description": "Holds results from a paged query returning BranchModel values",
        "properties": {
          "Count": {
            "description": "The total number of results available for all pages",
            "format": "int32",
            "type": "integer"
          },
          "Data": {
            "description": "The resulting data returned from the paged query range",
            "items": {
              "$ref": "#/components/schemas/AdvertisingBranchModel"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "BaseHypermediaLink": {
        "description": "Hypermedia Link Class",
        "properties": {
          "Href": {
            "description": "The hypermedia href",
            "type": "string"
          },
          "Method": {
            "description": "The http method type",
            "type": "string"
          },
          "Relationship": {
            "description": "The hypermedia link relationship to current result object.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DiaryAppointmentDetails": {
        "description": "Submission Model - Structure to submit the appointment details",
        "properties": {
          "AllocationDetails": {
            "$ref": "#/components/schemas/DiaryBookingModel"
          },
          "AppointmentType": {
            "description": "The Appointment Type ID",
            "type": "string"
          },
          "ExtraComments": {
            "description": "Additional appointment comments",
            "type": "string"
          },
          "Guests": {
            "description": "A collection of guests linked to the appointment. If none leave empty",
            "items": {
              "$ref": "#/components/schemas/DiaryGuestDetails"
            },
            "type": "array"
          },
          "Subject": {
            "description": "The subject of the appointment",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DiaryAppointmentModel": {
        "description": "Represents a single diary appointment for a staff member.",
        "properties": {
          "AppointmentType": {
            "description": "The diary appointment type.",
            "type": "string"
          },
          "Cancelled": {
            "description": "Whether the appointment has been cancelled.",
            "type": "boolean"
          },
          "Comment": {
            "description": "The appointment comments text.",
            "type": "string"
          },
          "CreatedAt": {
            "description": "The date/time this appointment was created.",
            "format": "date-time",
            "type": "string"
          },
          "CreatedBy": {
            "description": "The staff member that created this appointment.",
            "type": "string"
          },
          "ETag": {
            "description": "A unique identifier defining the object and change revision.",
            "type": "string"
          },
          "End": {
            "description": "The end date/time of this appointment.",
            "format": "date-time",
            "type": "string"
          },
          "LinkedProperties": {
            "description": "A collection of properties linked to the appointment:-",
            "items": {
              "$ref": "#/components/schemas/LinkedPropertiesModel"
            },
            "type": "array"
          },
          "NextRecurringDate": {
            "description": "Date appointment next repeats:-",
            "format": "date-time",
            "type": "string"
          },
          "OID": {
            "description": "The unique Object ID (OID).",
            "type": "string"
          },
          "Recurrence": {
            "description": "The reccurrence interval for the appointment:-",
            "format": "int32",
            "type": "integer"
          },
          "RecurrenceType": {
            "description": "The type of recurrence:-",
            "type": "string"
          },
          "RemindAt": {
            "description": "The date/time to remind the staff member of this appointment.",
            "format": "date-time",
            "type": "string"
          },
          "RemindBefore": {
            "description": "The number of minutes before the appointment start date/time to remind the staff member. -1 means don't remind.",
            "enum": [
              "Min",
              "Min2",
              "Min5",
              "Min10",
              "Min15",
              "Min30",
              "Min45",
              "Hour",
              "Hour2",
              "Hour3",
              "Hour6",
              "Hour12",
              "Day",
              "Day2",
              "Day3",
              "Week",
              "NoReminder"
            ],
            "type": "string"
          },
          "Staff": {
            "description": "The staff member holding this appointment.",
            "type": "string"
          },
          "Start": {
            "description": "The start date/time of this appointment.",
            "format": "date-time",
            "type": "string"
          },
          "Subject": {
            "description": "The appointment subject text.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DiaryAppointmentModelResults": {
        "description": "Holds results from a paged query returning DiaryAppointmentModel values",
        "properties": {
          "Count": {
            "description": "The total number of results available for all pages",
            "format": "int32",
            "type": "integer"
          },
          "Data": {
            "description": "The resulting data returned from the paged query range",
            "items": {
              "$ref": "#/components/schemas/DiaryAppointmentModel"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "DiaryAppointmentTypeModel": {
        "description": "Represents a diary appointment type.",
        "properties": {
          "ETag": {
            "description": "A unique identifier defining the object and change revision.",
            "type": "string"
          },
          "Name": {
            "description": "The appointment type name.",
            "type": "string"
          },
          "OID": {
            "description": "The unique Object ID (OID).",
            "type": "string"
          },
          "SystemType": {
            "description": "The appointment system type.",
            "enum": [
              "Viewing",
              "ViewAndValue",
              "OpeningInspection",
              "InterimInspection",
              "ClosingInspection",
              "SalesAppraisal",
              "Custom"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "DiaryAppointmentTypeModelResults": {
        "description": "Holds results from a paged query returning DiaryAppointmentTypeModel values",
        "properties": {
          "Count": {
            "description": "The total number of results available for all pages",
            "format": "int32",
            "type": "integer"
          },
          "Data": {
            "description": "The resulting data returned from the paged query range",
            "items": {
              "$ref": "#/components/schemas/DiaryAppointmentTypeModel"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "DiaryBookingModel": {
        "description": "Represents a viewing booking slot",
        "properties": {
          "End": {
            "description": "The end time of the booking",
            "format": "date-time",
            "type": "string"
          },
          "StaffID": {
            "description": "The unique ID of the staff member this booking is with",
            "type": "string"
          },
          "StaffName": {
            "description": "The name of the staff member this booking is with",
            "type": "string"
          },
          "Start": {
            "description": "The start time of the booking",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DiaryGuestDetails": {
        "description": "Submission Model - Structure to submit appointment guest details",
        "properties": {
          "AllowMarketingCorrespondence": {
            "description": "Marketing Correspondence Preferences",
            "type": "boolean"
          },
          "EmailAddress": {
            "description": "Email address",
            "type": "string"
          },
          "Forename": {
            "description": "Forename",
            "type": "string"
          },
          "MobilePhone": {
            "description": "Mobile phone",
            "type": "string"
          },
          "OID": {
            "description": "The unique identifier of a user, only submit this is known",
            "type": "string"
          },
          "Surname": {
            "description": "Surname",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FeedbackSubmissionModel": {
        "description": "Feedback Submission Model:-",
        "properties": {
          "AppointmentID": {
            "description": "Appointment to submit feedback to:-",
            "type": "string"
          },
          "Feedback": {
            "description": "Feedback to submit:-",
            "type": "string"
          },
          "PropertyID": {
            "description": "Property to submit feedback to:-",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GuestDiaryParametersModel": {
        "description": "Guest Diary Parameters Model",
        "properties": {
          "ContactMobile": {
            "description": "Guest Mobile Phone",
            "readOnly": true,
            "type": "string"
          },
          "EmailAddress": {
            "description": "Guest Email Address",
            "readOnly": true,
            "type": "string"
          },
          "Forename": {
            "description": "Guest Forename",
            "readOnly": true,
            "type": "string"
          },
          "OID": {
            "description": "Guest OID",
            "readOnly": true,
            "type": "string"
          },
          "Surname": {
            "description": "Guest Surname",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "GuestDiaryParametersResultsModel": {
        "description": "Contacts Person Model Results:-",
        "properties": {
          "Count": {
            "description": "Results count:-",
            "format": "int32",
            "type": "integer"
          },
          "Data": {
            "description": "Results data:-",
            "items": {
              "$ref": "#/components/schemas/GuestDiaryParametersModel"
            },
            "type": "array"
          },
          "Links": {
            "description": "Results links:-",
            "items": {
              "$ref": "#/components/schemas/BaseHypermediaLink"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "LatestTenancyModel": {
        "description": "Holds information on the most recent tenancy linked to the property.",
        "properties": {
          "AccessArrangements": {
            "description": "Access Arrangements",
            "readOnly": true,
            "type": "string"
          },
          "AccessMobile1": {
            "description": "Arrange access Mobile 1",
            "readOnly": true,
            "type": "string"
          },
          "AccessMobile2": {
            "description": "Arrange access Mobile 2",
            "readOnly": true,
            "type": "string"
          },
          "AccessMobile3": {
            "description": "Arrange access Mobile 3",
            "readOnly": true,
            "type": "string"
          },
          "AccessName1": {
            "description": "Arrange access contact name 1",
            "readOnly": true,
            "type": "string"
          },
          "AccessName2": {
            "description": "Arrange access contact name 2",
            "readOnly": true,
            "type": "string"
          },
          "AccessName3": {
            "description": "Arrange access contact name 3",
            "readOnly": true,
            "type": "string"
          },
          "ETag": {
            "description": "ETag",
            "type": "string"
          },
          "EndDate": {
            "description": "The end date of the Tenancy",
            "format": "date-time",
            "type": "string"
          },
          "FixedDate": {
            "description": "The fixed date of the Tenancy",
            "format": "date-time",
            "type": "string"
          },
          "GlobalReference": {
            "description": "The unique global reference of the Tenancy",
            "type": "string"
          },
          "IsTenancyEnded": {
            "description": "Has the Tenancy ended?",
            "type": "boolean"
          },
          "IsTenancyProposed": {
            "description": "Is the tenancy Proposed?",
            "type": "boolean"
          },
          "IsTenancySigned": {
            "description": "Is the tenancy signed?",
            "type": "boolean"
          },
          "LinkedTenants": {
            "description": "A collection of tenants linked to the tenancy:-",
            "items": {
              "$ref": "#/components/schemas/LinkedTenantModel"
            },
            "type": "array"
          },
          "OID": {
            "description": "OID",
            "type": "string"
          },
          "StartDate": {
            "description": "The start date of the Tenancy",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LinkedLandlordModel": {
        "description": "Holds information on landlords",
        "properties": {
          "ETag": {
            "description": "ETag",
            "type": "string"
          },
          "Email": {
            "description": "Landlord's email address",
            "type": "string"
          },
          "Forename": {
            "description": "Forename",
            "type": "string"
          },
          "OID": {
            "description": "OID",
            "type": "string"
          },
          "PhoneNumber": {
            "description": "Landlord's phone number",
            "type": "string"
          },
          "Surname": {
            "description": "Surname",
            "type": "string"
          },
          "Title": {
            "description": "Title",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LinkedPropertiesModel": {
        "description": "Holds information on linked properties",
        "properties": {
          "Address1": {
            "description": "Address 1",
            "type": "string"
          },
          "Address2": {
            "description": "Address2",
            "type": "string"
          },
          "Address3": {
            "description": "Address 3",
            "type": "string"
          },
          "Address4": {
            "description": "Address 4",
            "type": "string"
          },
          "AddressFlatRoomNumber": {
            "description": "Address Flat Room Number",
            "type": "string"
          },
          "AddressNumber": {
            "description": "Address Number",
            "type": "string"
          },
          "ETag": {
            "description": "ETag",
            "type": "string"
          },
          "LatestTenancy": {
            "$ref": "#/components/schemas/LatestTenancyModel"
          },
          "MainLandlord": {
            "$ref": "#/components/schemas/LinkedLandlordModel"
          },
          "OID": {
            "description": "OID",
            "type": "string"
          },
          "Postcode": {
            "description": "Postcode",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LinkedTenantModel": {
        "description": "Holds information on tenants",
        "properties": {
          "ETag": {
            "description": "ETag",
            "type": "string"
          },
          "Email": {
            "description": "Tenant's email address",
            "type": "string"
          },
          "Forename": {
            "description": "Forename",
            "type": "string"
          },
          "OID": {
            "description": "OID",
            "type": "string"
          },
          "PhoneNumber": {
            "description": "Tenant's phone number",
            "type": "string"
          },
          "Surname": {
            "description": "Surname",
            "type": "string"
          },
          "Title": {
            "description": "Title",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "apiKey": {
        "description": "ApiKey Authentication",
        "in": "header",
        "name": "ApiKey",
        "type": "apiKey"
      },
      "basic": {
        "description": "Basic HTTP Authentication",
        "scheme": "basic",
        "type": "http"
      }
    }
  }
}