openapi: 3.0.1 info: title: Purplebricks.Valuations.Api 1.0 - Core description: '### The new home for accessing the valuations service library ### [Purplebricks.Valuations.Api Git Repository](https://dev.azure.com/purplebricks/BackEnd/_git/valuations-api)' version: '1.0' servers: - url: https://api.purplebricks.co.uk/valuations-api paths: /v1/followup: post: tags: - FollowUp requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/followup/reschedule: post: tags: - FollowUp parameters: - name: userId in: query schema: type: integer format: int32 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' text/json: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' application/*+json: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/followup/updateleadtemp: post: tags: - FollowUp requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/followup/toaction: get: tags: - FollowUp parameters: - name: userId in: query schema: type: integer format: int32 - name: nextFollowUpDateLimit in: query schema: type: string - name: userFullNameFilter in: query schema: type: string - name: addressFilter in: query schema: type: string - name: pageNumber in: query schema: type: integer format: int32 - name: pageSize in: query schema: type: integer format: int32 - name: temperatureFilter in: query schema: type: string - name: packageNameFilter in: query schema: type: string responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/followup/lpplist: get: tags: - FollowUp parameters: - name: userId in: query schema: type: integer format: int32 - name: orderBy in: query schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.Enums.LppSummaryOrderBy' - name: pageNumber in: query schema: type: integer format: int32 - name: pageSize in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/followup/alterdateforproperty: post: tags: - FollowUp requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '403': description: Forbidden content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/leadcapture: post: tags: - LeadCapture requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel' responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.LeadCaptureViewModel' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/postcode/isintrialregion: get: tags: - PostCode parameters: - name: postCode in: query schema: type: string responses: '200': description: Success content: text/plain: schema: type: boolean application/json: schema: type: boolean text/json: schema: type: boolean '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/postcode/isintrialregionbyeventid: get: tags: - PostCode parameters: - name: eventId in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: type: boolean application/json: schema: type: boolean text/json: schema: type: boolean '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/salesforcediarypilot/isindiarymanagementtrial/{postcode}: get: tags: - SalesforceDiaryPilot parameters: - name: postcode in: path required: true schema: type: string responses: '200': description: Success content: text/plain: schema: type: boolean application/json: schema: type: boolean text/json: schema: type: boolean /v1/creatio/users/{userId}/valuations: get: tags: - Users parameters: - name: userId in: path required: true schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail' application/json: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail' text/json: schema: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioValuationDetail' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationintent/getredirecturl: get: tags: - ValuationIntent parameters: - name: intent in: query schema: type: string - name: propertyId in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: type: string application/json: schema: type: string text/json: schema: type: string '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' /v1/valuationintent/shoulduseinstantvaluationflow: get: tags: - ValuationIntent parameters: - name: propertyId in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationintent/wasinstantvaluation: get: tags: - ValuationIntent parameters: - name: propertyId in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationintent/getpostdataharvestingredirect: get: tags: - ValuationIntent parameters: - name: propertyId in: query schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationintent/bookinguserdata: post: tags: - ValuationIntent requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' responses: '200': description: Success '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationintent/requestvaluationavailability: post: tags: - ValuationIntent requestBody: content: application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' application/*+json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel' responses: '200': description: Success '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '500': description: Server Error /v1/valuationreport/{id}: get: tags: - ValuationReport parameters: - name: id in: path required: true schema: type: integer format: int32 responses: '200': description: Success content: text/plain: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel' application/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel' text/json: schema: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ValuationReportViewModel' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' '401': description: Unauthorized content: text/plain: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' application/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' text/json: schema: $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails' components: schemas: Microsoft.AspNetCore.Mvc.ProblemDetails: type: object properties: type: type: string nullable: true title: type: string nullable: true status: type: integer format: int32 nullable: true detail: type: string nullable: true instance: type: string nullable: true additionalProperties: {} Purplebricks.Valuations.Api.Models.ComparablePropertyViewModel: type: object properties: id: type: integer format: int32 address: type: string nullable: true features: type: string nullable: true price: type: number format: double date: type: string format: date-time nullable: true bedrooms: type: integer format: int32 comparablePropertyType: type: string nullable: true marketState: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.Enums.ComparablePropertyMarketState' additionalProperties: false Purplebricks.Valuations.Api.Models.GetPostDataHarvestingRedirectViewModel: type: object properties: redirectUrl: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Api.Models.IsInstantValuationViewModel: type: object properties: isInstantValuation: type: boolean additionalProperties: false Purplebricks.Valuations.Api.Models.LeadCaptureViewModel: type: object properties: leadId: type: string format: uuid additionalProperties: false Purplebricks.Valuations.Api.Models.ValuationReportViewModel: type: object properties: valuationId: type: integer format: int32 appointmentDate: type: string format: date-time nullable: true appeal: type: string nullable: true features: type: array items: type: string nullable: true numberOfPropertiesWithinArea: type: integer format: int32 numberOfPropertiesOfSameType: type: integer format: int32 pricesFrom: type: number format: double pricesTo: type: number format: double listPrice: type: number format: double achieveLowPrice: type: number format: double achieveHighPrice: type: number format: double propertyId: type: integer format: int32 locations: type: array items: type: string nullable: true numberOfBuyersInArea: type: integer format: int32 comments: type: string nullable: true showComments: type: boolean readOnly: true comparableProperties: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Api.Models.ComparablePropertyViewModel' nullable: true additionalProperties: false Purplebricks.Valuations.Api.Models.WasInstantValuationViewModel: type: object properties: wasInstantValuation: type: boolean additionalProperties: false Purplebricks.Valuations.Contract.Enums.LppSummaryOrderBy: enum: - Forename - Surname - UserId type: string Purplebricks.Valuations.Contract.Enums.ValuationFollowUpOutcome: enum: - NotSet - NotInterested - InstructingWithinAMonth - InstructingWithinThreeMonths - InstructingWithinSixMonths - InstructingAfterSixMonths - Instructed - NoAnswer - Campaign_03_ValuationToInstruct_C - Campaign_03_ValuationToInstruct_W8_C - Campaign_03_ValuationToInstruct_W12_C - OtherEA type: string Purplebricks.Valuations.Contract.InputModels.BookingUserDataInputModel: type: object properties: title: type: string nullable: true firstName: type: string nullable: true surname: type: string nullable: true email: type: string nullable: true telephone: type: string nullable: true propertyNumberOrName: type: string nullable: true street: type: string nullable: true postcode: type: string nullable: true townOrCity: type: string nullable: true county: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Contract.InputModels.FollowUpDateForPropertyInputModel: type: object properties: userId: type: integer format: int32 propertyId: type: integer format: int32 nextFollowUpDate: type: string format: date-time additionalProperties: false Purplebricks.Valuations.Contract.InputModels.LeadCaptureInputModel: type: object properties: firstName: type: string nullable: true surname: type: string nullable: true email: type: string nullable: true telephone: type: string nullable: true propertyNumberOrName: type: string nullable: true street: type: string nullable: true postcode: type: string nullable: true townOrCity: type: string nullable: true county: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Contract.InputModels.ValuationFollowUpInputModel: type: object properties: propertyId: type: integer format: int32 valuationId: type: integer format: int32 followUpOutcome: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.Enums.ValuationFollowUpOutcome' nextFollowUpDate: type: string format: date-time nullable: true userId: type: integer format: int32 nullable: true otherEADetails: type: string nullable: true leadTemperature: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Contract.ViewModels.LppFollowUpStatistics: type: object properties: lppId: type: integer format: int32 forename: type: string nullable: true surname: type: string nullable: true regionNames: type: array items: type: string nullable: true totalFollowUps: type: integer format: int32 totalFollowUpsOverdue: type: integer format: int32 totalWins: type: integer format: int32 totalWinsThisMonth: type: integer format: int32 totalLossesThisMonth: type: integer format: int32 additionalProperties: false Purplebricks.Valuations.Contract.ViewModels.PagedLppSummaryListViewModel: type: object properties: totalRows: type: integer format: int32 totalPages: type: integer format: int32 readOnly: true pageNumber: type: integer format: int32 pageSize: type: integer format: int32 rowCountThisPage: type: integer format: int32 readOnly: true lpps: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.LppFollowUpStatistics' nullable: true additionalProperties: false Purplebricks.Valuations.Contract.ViewModels.PagedValuationFollowUpViewModel: type: object properties: totalRows: type: integer format: int32 totalPages: type: integer format: int32 readOnly: true pageNumber: type: integer format: int32 pageSize: type: integer format: int32 rowCountThisPage: type: integer format: int32 readOnly: true numberOfOverdueFollowups: type: integer format: int32 followUpData: type: array items: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUp' nullable: true additionalProperties: false Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUp: type: object properties: valuationId: type: integer format: int32 valuationDate: type: string format: date-time nullable: true userId: type: integer format: int32 userFullName: type: string nullable: true userEmail: type: string nullable: true propertyId: type: integer format: int32 propertyAddress: type: string nullable: true expertId: type: integer format: int32 nullable: true expertName: type: string nullable: true previousFollowUpDate: type: string format: date-time nullable: true nextFollowUpDate: type: string format: date-time nullable: true lastAgentHistoryNoteDate: type: string format: date-time nullable: true leadTemperature: type: string nullable: true lowestValuation: type: integer format: int32 packageName: type: string nullable: true lastViewedByCustomer: type: string format: date-time nullable: true additionalProperties: false Purplebricks.Valuations.Contract.ViewModels.ValuationFollowUpOutcomeResultViewModel: type: object properties: valuationId: type: integer format: int32 followUpOutcome: $ref: '#/components/schemas/Purplebricks.Valuations.Contract.Enums.ValuationFollowUpOutcome' followUpOutcomeDate: type: string format: date-time nullable: true followUpOutcomeUserId: type: integer format: int32 nullable: true nextFollowUpDate: type: string format: date-time nullable: true nextFollowUpUserId: type: integer format: int32 nullable: true additionalProperties: false Purplebricks.Valuations.Domains.Models.AddressViewModel: type: object properties: line1: type: string nullable: true line2: type: string nullable: true town: type: string nullable: true county: type: string nullable: true country: type: string nullable: true postcode: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Domains.Models.CreatioExpert: type: object properties: fullName: type: string nullable: true email: type: string nullable: true additionalProperties: false Purplebricks.Valuations.Domains.Models.CreatioValuationDetail: type: object properties: address: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.AddressViewModel' propertyId: type: integer format: int32 valuationDate: type: string format: date-time status: type: string nullable: true isSales: type: boolean recommendedListPrice: type: number format: double nullable: true lowListPrice: type: number format: double nullable: true highListPrice: type: number format: double nullable: true lpp: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioExpert' accountManager: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.CreatioExpert' valuationType: $ref: '#/components/schemas/Purplebricks.Valuations.Domains.Models.Enums.EventType' additionalProperties: false Purplebricks.Valuations.Domains.Models.Enums.ComparablePropertyMarketState: enum: - Sold - OnMarket - Let - ToLet - SSTC type: string Purplebricks.Valuations.Domains.Models.Enums.EventType: enum: - Valuation - Viewing - OpenDay - Busy - VirtualValuation type: string securitySchemes: Bearer: type: apiKey description: Authorization header using Bearer scheme name: Authorization in: header security: - Bearer: []