openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 15 kB
JSON
{"openapi":"3.0.0","info":{"contact":{"x-twitter":"LetMC"},"title":"LetMC Api V3, diary","version":"v3-diary","x-apisguru-categories":["ecommerce"],"x-logo":{"url":"https://twitter.com/LetMC/profile_image?size=original"},"x-origin":[{"format":"swagger","url":"https://live-api.letmc.com/swagger/docs/v3-diary","version":"2.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":{"type":"string","format":"date-time"}},{"description":"The unique property identifier (Sales or Lettings)","in":"query","name":"propertyIdentifier","required":true,"schema":{"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"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DiaryBookingModel"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/DiaryBookingModel"},"type":"array"}},"application/xml":{"schema":{"items":{"$ref":"#/components/schemas/DiaryBookingModel"},"type":"array"}},"text/xml":{"schema":{"items":{"$ref":"#/components/schemas/DiaryBookingModel"},"type":"array"}}}}},"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":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"text/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}},"text/xml":{"schema":{"type":"string"}}}}},"summary":"Update an existing appointment using its unique identifier","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)","in":"query","name":"propertyIdentifier","required":true,"explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Sales or Lettings property?","in":"query","name":"lettings","required":false,"schema":{"type":"boolean"}}],"requestBody":{"$ref":"#/components/requestBodies/DiaryAppointmentDetails"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"text/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}},"text/xml":{"schema":{"type":"string"}}}}},"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"}}],"requestBody":{"$ref":"#/components/requestBodies/DiaryAppointmentDetails"},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}},"text/json":{"schema":{"type":"string"}},"application/xml":{"schema":{"type":"string"}},"text/xml":{"schema":{"type":"string"}}}}},"summary":"Update 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":{"type":"string","format":"date-time"}},{"description":"The search to date","in":"query","name":"endDate","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"The appointment IDs to search for","in":"query","name":"appointmentTypesToSearch","required":true,"explode":true,"schema":{"type":"array","items":{"type":"string"}}},{"description":"The index of the first item to return","in":"query","name":"offset","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The maximum number of items to return (up to 1000 per request)","in":"query","name":"count","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentModelResults"}},"text/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentModelResults"}},"application/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentModelResults"}},"text/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentModelResults"}}}}},"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":{"type":"integer","format":"int32"}},{"description":"The maximum number of items to return (up to 1000 per request)","in":"query","name":"count","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentTypeModelResults"}},"text/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentTypeModelResults"}},"application/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentTypeModelResults"}},"text/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentTypeModelResults"}}}}},"summary":"A collection of all diary appointment types","tags":["DiaryController"]}}},"servers":[{"url":"https://live-api.letmc.com"}],"components":{"requestBodies":{"DiaryAppointmentDetails":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentDetails"}},"application/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentDetails"}},"text/xml":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentDetails"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/DiaryAppointmentDetails"}}},"description":"The appointment details model","required":true}},"securitySchemes":{"apiKey":{"description":"ApiKey Authentication","in":"header","name":"ApiKey","type":"apiKey"},"basic":{"description":"Basic HTTP Authentication","type":"http","scheme":"basic"}},"schemas":{"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"},"OID":{"description":"The unique Object ID (OID).","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":{"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"},"LatestTenancyModel":{"description":"Holds information on the most recent tenancy linked to the property.","properties":{"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"},"Forename":{"description":"Forename","type":"string"},"OID":{"description":"OID","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"},"Forename":{"description":"Forename","type":"string"},"OID":{"description":"OID","type":"string"},"Surname":{"description":"Surname","type":"string"},"Title":{"description":"Title","type":"string"}},"type":"object"}}}}