import { CodeBuild } from 'aws-sdk'; /** * The billing details for a given month */ interface BillingBreakdownForMonthV2Model { /** * The period the billing details relate to */ period?: string; /** * The total cost for the given month */ totalCost?: number; /** * List of billing details for each service */ services?: ServiceItemBillingV2Model[]; /** * The actual cost for the given month */ actualCost?: number; } /** * Represents the billing summary for a given date range */ interface BillingOverviewForPeriodV2Model { /** * The date the billing records are pulled from */ from?: string; /** * The date the billing records are pulled until */ to?: string; /** * Collection of monthly billing details */ periods?: MonthlyBillingDetailsV2Model[]; } /** * The billing details for a service */ interface BillingServiceV2Model { /** * The name of the service */ name?: string; /** * The costs associated to the service */ cost?: number; } /** * Represents the billing details for a given month */ interface MonthlyBillingDetailsV2Model { /** * The period the billing details relate to */ period?: string; /** * The start date the billing details relate to * example: * 2019-08-14T12:30:02.0000000Z */ periodStart?: string; /** * The end date the billing details relate to * example: * 2019-08-14T12:30:02.0000000Z */ periodEnd?: string; /** * The month the billing details relate to */ periodName?: string; /** * The gross cost for the month in GBP */ cost?: number; /** * The services to bill for */ services?: BillingServiceV2Model[]; } /** * Billing details for a given item in the service */ interface ServiceItemBillingV2Model { /** * The name of the item */ name?: string; /** * The total number of requests */ amount?: number; /** * The total cost for the endpoint */ cost?: number; /** * The total number of items for the service */ itemCount?: number; /** * List of billing items for each service */ items?: ServiceItemBillingV2Model[]; } interface RequestByEndpointModel { endpoint: string; requestCount: number; } interface RequestByDateModel { date: string; requestCount: number; } interface RequestByCustomerModel { customerId: string; requestCount: number; } interface TrafficEventsModel { from?: string; to?: string; totalRequestCount?: number; totalEndpointCount?: number; requestsByEndpoint?: RequestByEndpointModel[]; requestsByDate?: RequestByDateModel[]; requestsByCustomer?: RequestByCustomerModel[]; applicationId?: string[]; customerId?: string[]; dateFrom?: string; dateTo?: string; } interface MonthlyBillingDetailsModel { period: string; periodStart?: string; periodEnd?: string; periodName?: string; requestCount?: number; endpointCount?: number; netAmount?: number; grossAmount?: number; vatAmount?: number; } interface BillingSummaryModel { from?: string; to?: string; requestsByPeriod?: MonthlyBillingDetailsModel[]; } declare const pipelineDeploymentDisabled: string[]; declare const pipelineNotDeletable: string[]; declare const pipelineProvisioning: string[]; declare const pipelinePreprovisionedFlow: string[]; type PipelineProvisionBuildStatuses = 'PRE_PROVISIONED' | 'PROVISIONING' | 'PROVISION_REQUEST' | 'FAILED_TO_PROVISION'; type PipelineDeployingBuildStatues = 'QUEUED' | 'COMPLETED' | 'FAILED'; type PipelineDeleteBuildStatuses = 'DELETED' | 'DELETING' | 'SCHEDULED_FOR_DELETION' | 'DELETION_REQUEST'; type PipelineBuildStatus = 'CREATED' | ('READY_FOR_DEPLOYMENT' & PipelineDeleteBuildStatuses & PipelineDeployingBuildStatues & PipelineProvisionBuildStatuses) | CodeBuild.StatusType; interface GithubRepositoryInterface { repositoryUrl?: string; installationId?: number; repositoryId?: number; } interface PipelineModelInterface { id?: string; name?: string; organisationId?: string; created?: string; modified?: string; developerId?: string; appType?: AppTypeEnum; buildCommand?: string; testCommand?: string; packageManager?: PackageManagerEnum; repository?: GithubRepositoryInterface; branch?: string; outDir?: string; buildStatus?: PipelineBuildStatus | string; appId?: string; subDomain?: string; bitbucketClientId?: string; certificateStatus?: string; customDomain?: string; verifyDnsName?: string; verifyDnsValue?: string; certificateError?: string; certificateArn?: string; cloudFrontId?: string; aRecordId?: string; } interface PipelineRunnerModelInterface { id?: string; pipelineId?: string; created?: string; modified?: string; appType?: AppTypeEnum; type?: PipelineRunnerType; buildCommand?: string; packageManager?: PackageManagerEnum; tasks?: TaskModelInterface[]; buildStatus?: CodeBuild.StatusType; s3BuildLogsLocation?: string; buildVersion?: string; currentlyDeployed?: boolean; } interface TaskModelInterface { id?: string; pipelineRunnerId?: string; created?: string; modified?: string; functionName?: CodeBuild.BuildPhaseType; buildStatus?: CodeBuild.StatusType; startTime?: Date; endTime?: Date; elapsedTime?: string; } declare enum PackageManagerEnum { NPM = "npm", YARN = "yarn", YARN_BERRY = "yarn-berry" } declare enum AppTypeEnum { NODE = "node", REACT = "react" } declare enum PipelineRunnerType { BUILD = "BUILD", RELEASE = "RELEASE", REPO = "REPO" } declare enum ApiKeyEntityType { PAYMENT = "payment", DEPLOYMENT = "deployment" } interface ApiKeyInterface { id?: string; apiKey?: string; keyCreatedAt?: string; keyExpiresAt?: string; developerId?: string; entityId?: string; entityType?: ApiKeyEntityType; email?: string; } interface AppsBrowseConfigItemContentInterface { brandColour?: string; strapline?: string; imageUrl?: string; title?: string; iconName?: string; } interface AppsBrowseConfigItemFiltersInterface { developerId?: string; category?: string[]; desktopIntegrationTypeId?: string[]; id?: string[]; appName?: string; isFeatured?: boolean; isFree?: boolean; searchTerm?: string; } declare enum AppsBrowseConfigEnum { FEATURED_HERO = "featuredHeroApps", HERO = "heroApps", FILTERS = "appsFilters", FEATURED = "featuredApps", SIMPLE = "simpleApps" } interface AppBrowseLiveDataInterface { timeFrom?: Date | string; timeTo?: Date | string; isLive?: boolean; } interface AppsBrowseConfigItemInterface { id?: string; index?: number; filters?: AppsBrowseConfigItemFiltersInterface; content?: AppsBrowseConfigItemContentInterface; configType: AppsBrowseConfigEnum; live: AppBrowseLiveDataInterface; } declare namespace Marketplace { /** * The model responsible for accepting an invite */ interface AcceptInviteModel { /** * The full name of this member */ name?: string; /** * The job title for this member */ jobTitle?: string; } /** * Representation of an address */ interface AddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * App secret representation */ interface AppClientSecretModel { /** * Gets the GUID of the app */ id?: string; /** * Gets the apps client secret */ clientSecret?: string; /** * Gets the apps rotating client secret */ rotatingClientSecret?: string; } /** * App detailed representation */ interface AppDetailModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the GUID of the app */ id?: string; /** * Gets the date and time the app was originally registered on the marketplace */ created?: string; /** * Gets the GUID of the developer who has created the app */ developerId?: string; /** * Gets the GUID of the installation */ installationId?: string; /** * Gets public listed date of this application */ publicListedDate?: string; /** * Gets client id of this application */ externalId?: string; /** * Gets the rotating external client id of this application */ rotatingExternalId?: string; /** * Gets the full name of the app */ name?: string; /** * Gets a short summary of the app */ summary?: string; /** * Gets a detailed description of the app */ description?: string; /** * Gets the name of the developer who created the app */ developer?: string; /** * Gets a brief description of the developers organisation */ developerAbout?: string; /** * Gets the email address of the developer's helpdesk responsible for providing support of the application */ supportEmail?: string; /** * Gets the telephone number of the developer's helpdesk responsible for providing support of the application */ telephone?: string; /** * Gets the home page of the developer, or the app/product specific page on the developer's website */ homePage?: string; /** * Gets the Uri at which the app is launched */ launchUri?: string; /** * Gets the apps redirect uri (or uris) where a user will be redirected to immediately after a successful authentication */ redirectUris?: string[]; /** * Gets the apps signout uri (or uris) where a user will be redirected to immediately after a successful logout */ signoutUris?: string[]; /** * Gets the unique identifier of clients that the app is visible to */ limitToClientIds?: string[]; /** * Gets the apps desktop integration type ids */ desktopIntegrationTypeIds?: string[]; /** * Gets the products to list this app on */ products?: string[]; /** * Gets the date the app was installed for a specific client */ installedOn?: string; /** * Gets the application authorisation flow type (authorisationCode/clientCredentials) */ authFlow?: string; /** * Gets a flag determining whether or not the app is currently listed on the marketplace */ isListed?: boolean; /** * Gets a flag determining whether or not the app will appear in the marketplace */ isDirectApi?: boolean; /** * Gets a flag determining whether or not the app is protected from deletion */ deletionProtection?: boolean; /** * Gets the sandbox status of this app */ isSandbox?: boolean; /** * Gets a flag determining whether or not the app is featured */ isFeatured?: boolean; /** * Gets a flag determining whether or not the app is a web component */ isWebComponent?: boolean; /** * Gets the status of whether the app has pending revisions */ pendingRevisions?: boolean; /** * Gets the location url of the terms and conditions associated to the app */ termsAndConditionsUrl?: string; /** * Gets the location url of the privacy policy associated to the app */ privacyPolicyUrl?: string; /** * Gets the location url of the pricing document associated to the app */ pricingUrl?: string; /** * Gets a flag to determine if the app is free to use */ isFree?: boolean; /** * Gets a flag to determing if the app is marked as hidden */ isHidden?: boolean; /** * Gets the collection of categories assigned to the app */ categories?: CategoryModel[]; /** * Gets the collection of scopes against the app */ scopes?: ScopeModel[]; /** * Gets a collection of media objects associated with the app */ media?: MediaModel[]; /** * Gets the X axis size of the launched window for apps with one or more configured desktop integration types */ launchWindowSizeX?: number; /** * Gets the Y axis size of the launched window for apps with one or more configured desktop integration types */ launchWindowSizeY?: number; /** * Gets the fixed api consumption cost for the app */ fixedApiConsumptionCost?: number; /** * A flag to determine if an internal install notification should be sent */ sendInternalInstallNotification?: boolean; } /** * Model to expose app restriction info */ interface AppRestrictionModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier associated to the app restriction */ id?: string; /** * Gets the unique identifier of the app associated to the app restriction */ appId?: string; /** * The date and time the app restriction was created */ created?: string; /** * The date and time the app restriction was last modified */ modified?: string; /** * The status of the app restriction (include/exclude) */ status?: string; } /** * Model to handle paged data and information */ interface AppRestrictionModelPagedResult { /** * List of paged data */ data?: AppRestrictionModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Model to expose the app revision consent */ interface AppRevisionConsentModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier of the consent */ id?: string; /** * The timestamp of entity creation */ created?: string; /** * The email of the user who actioned the consent */ actionedBy?: string; /** * The email of the user who installed the app the consent relates to */ installedBy?: string; /** * Gets the unique identifier of the installation associated to the consent */ installationId?: string; /** * Gets the unique identifier of the application associated to the consent */ applicationId?: string; /** * Gets the unique identifier of the app revision associated to the consent */ revisionId?: string; /** * The timestamp of when the email was sent */ sentDate?: string; /** * Gets the status of the consent */ status?: string; /** * The timestamp of when the consent was approved */ approvalDate?: string; /** * The timestamp of when the app was uninstalled */ uninstallDate?: string; } /** * App revision detailed representation */ interface AppRevisionModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier of the app revision */ id?: string; /** * Gets the unique identifier of the app the revision is associated with */ appId?: string; /** * Gets the GUID of the developer of made the app */ developerId?: string; /** * Gets the full name of the app revision */ name?: string; /** * Gets a short summary of the app revision */ summary?: string; /** * Gets the email of the user who created the revision */ createdBy?: string; /** * Gets a detailed description of the app revision */ description?: string; /** * Gets the name of the developer who created the app revision */ developer?: string; /** * Gets the email address of the developer's helpdesk responsible for providing support of the application */ supportEmail?: string; /** * Gets the telephone number of the developer's helpdesk responsible for providing support of the application */ telephone?: string; /** * Gets the home page of the developer, or the app/product specific page on the developer's website */ homePage?: string; /** * Gets the app revisions launch uri */ launchUri?: string; /** * Gets the app revisions redirect uri (or uris) where a user will be redirected to immediately after a successful authentication */ redirectUris?: string[]; /** * Gets the app revisions signout uri (or uris) where a user will be redirected to immediately after a successful logout */ signoutUris?: string[]; /** * Gets the listed status of the app revision */ isListed?: boolean; /** * Gets a flag determining whether or not the app will appear in the marketplace */ isDirectApi?: boolean; /** * Gets a flag determining whether or not the app is protected from deletion */ deletionProtection?: boolean; /** * Gets the unique identifier of clients that the app is visible to */ limitToClientIds?: string[]; /** * Gets the desktop integration type ids of this revision */ desktopIntegrationTypeIds?: string[]; /** * Gets the products to list this app on */ products?: string[]; /** * Gets the location url of the terms and conditions associated to the app */ termsAndConditionsUrl?: string; /** * Gets the location url of the privacy policy associated to the app */ privacyPolicyUrl?: string; /** * Gets the location url of the pricing document associated to the app */ pricingUrl?: string; /** * Gets a flag to determine if the app is free to use */ isFree?: boolean; /** * Gets the categories for the app this revision belongs to */ categories?: CategoryModel[]; /** * Gets the scopes that have been associated to this revision */ scopes?: ScopeModel[]; /** * Gets a collection of media objects associated with the app */ media?: MediaModel[]; /** * Gets the X axis size of the launched window in AgencyCloud for an app with one or more desktopIntegrationTypeIds set */ launchWindowSizeX?: number; /** * Gets the Y axis size of the launched window in AgencyCloud for an app with one or more desktopIntegrationTypeIds set */ launchWindowSizeY?: number; } /** * Model to handle paged data and information */ interface AppRevisionModelPagedResult { /** * List of paged data */ data?: AppRevisionModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * App summary representation */ interface AppSummaryModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the GUID of the app */ id?: string; /** * Gets public listed date of this application */ publicListedDate?: string; /** * Gets external client id of this application */ externalId?: string; /** * Gets the rotating external client id of this application */ rotatingExternalId?: string; /** * Gets the date and time the app was originally registered on the marketplace */ created?: string; /** * Gets the GUID of the developer who has created the app */ developerId?: string; /** * Gets the full name of the app */ name?: string; /** * Gets a short summary of the app */ summary?: string; /** * Gets the name of the developer who created the app */ developer?: string; /** * Gets the home page of the developer, or the app/product specific page on the developer's website */ homePage?: string; /** * Gets a flag determining whether or not the app is currently listed on the marketplace */ isListed?: boolean; /** * Gets the sandbox status of this app */ isSandbox?: boolean; /** * Gets a flag determining whether or not the app is featured */ isFeatured?: boolean; /** * Gets a flag determining whether or not the app will appear in the marketplace */ isDirectApi?: boolean; /** * Gets a flag determining whether or not the app is protected from deletion */ deletionProtection?: boolean; /** * Gets a flag to determine if the app is free to use */ isFree?: boolean; /** * Gets the public Url for accessing this app's icon */ iconUri?: string; /** * Gets the public Url for accessing this app's featured image */ featuredImageUri?: string; /** * Gets the desktop integration types of this app */ desktopIntegrationTypeIds?: string[]; /** * Gets the products to list this app on */ products?: string[]; /** * Gets the time stamp of the installed date */ installedOn?: string; /** * Gets the application authorisation flow type (authorisationCode/clientCredentials) */ authFlow?: string; /** * Gets the Uri at which the app is launched */ launchUri?: string; /** * Gets the status of whether the app has pending revisions */ pendingRevisions?: boolean; /** * Gets a flag to determing if the app is marked as hidden */ isHidden?: boolean; /** * Gets the unique identifier of clients that the app is visible to */ limitToClientIds?: string[]; /** * Gets the X axis size of the launched window for apps with one or more configured desktop integration types */ launchWindowSizeX?: number; /** * Gets the Y axis size of the launched window for apps with one or more configured desktop integration types */ launchWindowSizeY?: number; /** * Gets the fixed api consumption cost for the app */ fixedApiConsumptionCost?: number; /** * A flag to determine if installation is required for access to this app (defaults to true for security) */ isInstallationRequired?: boolean; /** * A flag to determine if the app is internal (For reapit staff only) */ isInternalApp?: boolean; /** * A flag to determine if an internal install notification should be sent */ sendInternalInstallNotification?: boolean; } /** * Model to handle paged data and information */ interface AppSummaryModelPagedResult { /** * List of paged data */ data?: AppSummaryModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Approval representation */ interface ApprovalModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Apps unique identifier */ appId?: string; /** * Type of approval */ type?: string; /** * The name of the app the approval relates to */ appName?: string; /** * Description of approval */ description?: string; /** * App revision unique identifier */ appRevisionId?: string; /** * Gets the date the revision was created */ readonly created?: string; /** * Gets the email of the user who created the revision */ readonly createdBy?: string; } /** * Model to handle paged data and information */ interface ApprovalModelPagedResult { /** * List of paged data */ data?: ApprovalModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * The model responsible for approving a consent */ interface ApproveAppRevisionConsentModel { /** * Sets the email of the user approving the consent */ approvedBy?: string; } /** * The model responsible for the approval of an app revision */ interface ApproveModel { /** * Sets the name of the admin approving */ name?: string; /** * Sets the email of the admin approving */ email?: string; /** * Sets the public listed date of the approval */ publicListedDate?: string; } /** * The model responsible for creation of installation metadata */ interface BatchUpdateInstallationMetadataModel { /** * Sets the service that the metadata is associated to (eg appointment,contacts, companies) */ service?: string; /** * Sets the field the filter is applied too */ field?: string; /** * Sets the allowed values in the field */ allow?: string[]; } /** * The model responsible for batch updating installations */ interface BatchUpdateInstallationsModel { /** * Sets the unique identifier of the app the installation updates are for */ appId?: string; /** * Sets the email address of the user performing the action */ actionedBy?: string; /** * Sets the list of customers to install the app for */ installFor?: string[]; /** * Sets the list of customers to uninstall the app for */ uninstallFor?: string[]; /** * The group mode to install and uninstall for (officeGroup/organisationGroup) */ mode?: string; /** * Sets any additional metadata against the installation */ metadata?: BatchUpdateInstallationMetadataModel[]; } /** * Model to expose category info */ interface CategoryModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier associated to the category */ id?: string; /** * Gets the name of the category */ name?: string; /** * Gets the description of the category */ description?: string; } /** * Model to handle paged data and information */ interface CategoryModelPagedResult { /** * List of paged data */ data?: CategoryModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Model to expose company address info */ interface CompanyAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Request body used to set the address details */ interface CreateAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * The model responsible for creation of an app definition */ interface CreateAppModel { /** * Sets the full name of the app */ name?: string; /** * Sets the description of the app */ description?: string; /** * Sets a short summary of the app */ summary?: string; /** * Sets the email address of the developer's helpdesk responsible for providing support of the app */ supportEmail?: string; /** * Sets the telephone number of the developer's helpdesk responsible for providing support of the app */ telephone?: string; /** * Sets the home page of the developer, or the application/product specific page on the developer's website */ homePage?: string; /** * Sets the apps launch uri */ launchUri?: string; /** * Sets the apps uri where a user will be redirected to immediately after a successful authentication. Multiple URIs can be passed in the array */ redirectUris?: string[]; /** * Set the apps uri where a user will be redirected to immediately after a session is logged out. Multiple URIs can be passed in the array */ signoutUris?: string[]; /** * Sets the unique identifer of the developer registering the app */ developerId?: string; /** * Sets the unique identifer of the apps category */ categoryId?: string; /** * Sets the unique identifer of the apps category. Multiple ids can be passed in the array */ categoryIds?: string[]; /** * Sets a flag determining whether or not the app is featured */ isFeatured?: boolean; /** * Sets the flag determining whether or not the app will appear in the marketplace */ isDirectApi?: boolean; /** * Sets the flag determining whether or not the app is a web component */ isWebComponent?: boolean; /** * Sets the unique identifier of the client that the app is visible to. Multiple ids can be passed in the array */ limitToClientIds?: string[]; /** * Sets the apps desktop integration types. Multiple type ids can be passed in the array */ desktopIntegrationTypeIds?: string[]; /** * Sets the application authorisation flow type (authorisationCode/clientCredentials) */ authFlow?: string; /** * Sets the list of scope keys required for this app to run */ scopes?: string[]; /** * Sets the list of products to list the app on for this app */ products?: string[]; /** * Sets the location url of the app icon image */ iconImageUrl?: string; /** * Sets the location url of the first app screenshot image */ screen1ImageUrl?: string; /** * Sets the location url of the second (optional) app screenshot image */ screen2ImageUrl?: string; /** * Sets the location url of the third (optional) app screenshot image */ screen3ImageUrl?: string; /** * Sets the location url of the fourth (optional) app screenshot image */ screen4ImageUrl?: string; /** * Sets the location url of the fifth (optional) app screenshot image */ screen5ImageUrl?: string; /** * Sets the location url of the first (optional) app video url */ videoUrl1?: string; /** * Sets the location url of the second (optional) app video url */ videoUrl2?: string; } /** * The model responsible for creation of an app restriction */ interface CreateAppRestrictionModel { /** * Sets the unique identifier of the app the restriciton is for */ appId?: string; /** * Sets a status to determine whether or not to include the app (include/exclude) */ status?: string; } /** * The model responsible for creation of app revision consents */ interface CreateAppRevisionConsentsModel { /** * Sets the email of the user creating the app revision consents */ actionedBy?: string; } /** * The model responsible for creation of an app revision */ interface CreateAppRevisionModel { /** * Sets the full name of the app revision */ name?: string; /** * Sets the description of the app revision */ description?: string; /** * Sets a short summary of the app revision */ summary?: string; /** * Sets the email address of the developer's helpdesk responsible for providing support of the app revision */ supportEmail?: string; /** * Sets the telephone number of the developer's helpdesk responsible for providing support of the app revision */ telephone?: string; /** * Sets the home page of the developer, or the application/product specific page on the developer's website */ homePage?: string; /** * Sets the flag determining whether or not the app will appear in the marketplace */ isDirectApi?: boolean; /** * Sets the flag determining whether or not the app is protected from deletion */ deletionProtection?: boolean; /** * Sets the unique identifier of the developer associated with this app revision */ developerId?: string; /** * Sets the unique identifer of the apps revisions category. Multiple ids can be passed in the array */ categoryIds?: string[]; /** * Sets location url of the app icon image */ iconImageUrl?: string; /** * Sets the location url of the first app screenshot image */ screen1ImageUrl?: string; /** * Sets the location url of the second (optional) app screenshot image */ screen2ImageUrl?: string; /** * Sets the location url of the third (optional) app screenshot image */ screen3ImageUrl?: string; /** * Sets the location url of the fourth (optional) app screenshot image */ screen4ImageUrl?: string; /** * Sets the location url of the fifth (optional) app screenshot image */ screen5ImageUrl?: string; /** * Sets the location url of the first (optional) app video url */ videoUrl1?: string; /** * Sets the location url of the second (optional) app video url */ videoUrl2?: string; /** * Sets the apps launch uri */ launchUri?: string; /** * Sets the apps uri where a user will be redirected to immediately after a successful authentication. Multiple URIs can be passed in the array */ redirectUris?: string[]; /** * Set the apps uri where a user will be redirected to immediately after a session is logged out. Multiple URIs can be passed in the array */ signoutUris?: string[]; /** * Sets the listed status of the app * When false, the app will not be visible in marketplace app listings */ isListed?: boolean; /** * Sets the unique identifier of the client that the app is visible to. Multiple ids can be passed in the array */ limitToClientIds?: string[]; /** * Sets the apps desktop integration type. Multiple type ids can be passed in the array */ desktopIntegrationTypeIds?: string[]; /** * Sets the list of scope keys required for this app revision */ scopes?: string[]; /** * Sets the list of products to list the app on for this app revision */ products?: string[]; /** * Sets the location url of the terms and conditions associated to the app */ termsAndConditionsUrl?: string; /** * Sets the location url of the privacy policy associated to the app */ privacyPolicyUrl?: string; /** * Sets the location url of the pricing document associated to the app */ pricingUrl?: string; /** * Sets a flag to determine if the app is free to use */ isFree?: boolean; /** * Sets the X axis size of the launched window in AgencyCloud for an app with one or more desktopIntegrationTypeIds set */ launchWindowSizeX?: number; /** * Sets the Y axis size of the launched window in AgencyCloud for an app with one or more desktopIntegrationTypeIds set */ launchWindowSizeY?: number; } /** * The model responsible for creation of a category */ interface CreateCategoryModel { /** * Sets the unique identifier of the category */ id?: string; /** * Sets the name of the category */ name?: string; /** * Sets the description of the category */ description?: string; } /** * The model responsible for creation of a desktop integration type */ interface CreateDesktopIntegrationTypeModel { /** * Sets the unique identifier of the desktop integration */ id?: string; /** * Sets the desktop integrations name */ name?: string; /** * Sets the desktop integrations description */ description?: string; /** * Sets a link to the desktop integrations documentation */ url?: string; } /** * The model responsible for creation of a developer */ interface CreateDeveloperModel { /** * Sets the full name of this developer */ name?: string; /** * Sets the company to which this developer is acting on behalf of */ companyName?: string; /** * Sets the job title for this developer */ jobTitle?: string; /** * Sets the email address of the developer */ email?: string; /** * Sets the telephone number of the developer */ telephone?: string; /** * Sets the date the developer agreed to the terms */ agreedTerms?: string; /** * Sets a brief description for the developers organisation */ about?: string; /** * Sets the website of the developers organisation */ website?: string; /** * Sets the tax number of the developers organisation */ taxNumber?: string; /** * Sets the registration number of the developers organisation */ registrationNumber?: string; /** * Alternative email address for marketplace developer notifications */ notificationsEmail?: string; companyAddress?: CreateAddressModel; /** * The github username for the initial member */ gitHubUsername?: string; /** * The maximum number of apps the developer can have unlisted */ maxAppsUnlisted?: number; /** * The notes specified by the developer */ notes?: string; } /** * The model responsible for creation of installation metadata */ interface CreateInstallationMetadataModel { /** * Sets the service that the metadata is associated to (eg appointment,contacts, companies) */ service?: string; /** * Sets the field the filter is applied too */ field?: string; /** * Sets the allowed values in the field */ allow?: string[]; } /** * The model responsible for creation of an installation between a specific client and app */ interface CreateInstallationModel { /** * Sets the unique identifier of the app that this installation will be associated with */ appId?: string; /** * Sets the unique identifier of the client this installation is being created for */ clientId?: string; /** * Sets the email address of the user that has approved this app (and created the installation) */ approvedBy?: string; /** * Sets the termination date of the installation (this could be used for app trials etc) */ terminatesOn?: string; /** * Sets any additional metadata against the installation */ metadata?: CreateInstallationMetadataModel[]; } /** * The model responsible for creation of a subscription */ interface CreateSubscriptionModel { /** * The id of the developer to create the subscription against */ developerId?: string; /** * The id of the customer to create the subscription for */ customerId?: string; /** * The id of the application to create the subscription against */ applicationId?: string; /** * The email of the user related to the subscription */ user?: string; /** * The type of subscription (applicationListing/developerRegistration/developerEdition/dataWarehouse) */ type?: string; } /** * Model to expose customer info */ interface CustomerModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier associated to the customer */ id?: string; /** * The timestamp of entity creation */ created?: string; /** * The timestamp of entity modification */ modified?: string; /** * Gets the agency cloud identifier of the customer */ agencyCloudId?: string; /** * Gets the name of the customer */ name?: string; address?: AddressModel; /** * The Reapit billing reference number for the customer */ billingReference?: string; /** * The email of the user who approved the customers account */ accountApprovedEmail?: string; /** * The date time the customers account was approved */ accountApproved?: string; } /** * Model to handle paged data and information */ interface CustomerModelPagedResult { /** * List of paged data */ data?: CustomerModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Model representing an Apps demonstration details */ interface DemonstrationModel { /** * The external app identifier */ externalAppId?: string; /** * The access token */ accessToken?: string; /** * The id token */ idToken?: string; /** * The refresh token */ refreshToken?: string; } /** * Model that represents a desktop integration type */ interface DesktopIntegrationTypeModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The unique identifier of the integration type */ id?: string; /** * The name of the integration type */ name?: string; /** * The description of the integration type */ description?: string; /** * A link to the integration types documentation */ url?: string; } /** * Model to handle paged data and information */ interface DesktopIntegrationTypeModelPagedResult { /** * List of paged data */ data?: DesktopIntegrationTypeModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Model that represents a developer */ interface DeveloperModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The id of this developer */ id?: string; /** * The timestamp of entity creation */ created?: string; /** * The timestamp of entity modification */ modified?: string; /** * The id of this developer held in the gateway */ externalId?: string; /** * The full name of this developer */ name?: string; /** * The company to which this developer is acting on behalf of */ company?: string; /** * The job title for this developer */ jobTitle?: string; /** * The email address of the developer */ email?: string; /** * The telephone number of the developer */ telephone?: string; /** * The date the developer agreed to the terms */ agreedTerms?: string; /** * The flag determining if the developer is inactive */ isInactive?: boolean; /** * A brief description of the developers organisation */ about?: string; /** * The website for the developers organisation */ website?: string; /** * The tax number of the developers organisation */ taxNumber?: string; /** * The registration number of the developers organisation */ registrationNumber?: string; /** * The email of the accounts department for the developer */ billingEmail?: string; /** * The telephone number for the accounts department for the developer */ billingTelephone?: string; /** * The name of the member of staff dealing with billing */ billingKeyContact?: string; /** * The reapit account reference used for this company */ reapitReference?: string; /** * A flag specifying if the developer has registered tax */ noTaxRegistration?: boolean; /** * The developers national insurance */ nationalInsurance?: string; /** * The status of the developer (incomplete/pending/confirmed/underReview/removed) */ status?: string; /** * Alternative email address for marketplace developer notifications */ notificationsEmail?: string; /** * The maximum number of unlisted apps */ maxAppsUnlisted?: number; /** * The amount the developer pays for the developer edition subscription */ developerEditionSubscriptionCost?: number; companyAddress?: CompanyAddressModel; /** * The notes specified by the developer */ notes?: string; } /** * Model to handle paged data and information */ interface DeveloperModelPagedResult { /** * List of paged data */ data?: DeveloperModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Payload used to generate demonstration details for a given app */ interface GenerateDemonstrationDetailsModel { /** * The external identifier of the app to generate demonstration details for (the app Ids stored in third party IdP) */ externalAppId?: string; } /** * Query object for requesting a list of products in the Reapit Group that marketplace applications can be published to */ interface GetProductsQuery { } /** * Installation metadata representation */ interface InstallationMetadataModel { /** * The service that the metadata is associated to (eg appointment,contacts, companies) */ service?: string; /** * The field the filter is applied too */ field?: string; /** * The allowed values in the field */ allow?: string[]; } /** * Installation representation */ interface InstallationModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier of the installation */ id?: string; /** * Gets the unique identifier of the app the installation is associated with */ appId?: string; /** * Gets the date/time the installation was created */ created?: string; /** * Gets the name of the app the installation is associated with */ appName?: string; /** * Gets the id of the client that has granted access to the app (or revoked it) */ client?: string; /** * Gets the status of this installation */ status?: string; /** * Gets the authorisation flow type of the associated app */ authFlow?: string; /** * Gets the reason that access to associated app was removed */ terminatedReason?: string; /** * Gets the date that access to the associated app was terminated, or is due to terminate on */ terminatesOn?: string; /** * Gets the id of the customer that has granted access to the app (or revoked it) */ customerId?: string; /** * Gets the name of the customer that has granted access to the app (or revoked it) */ customerName?: string; /** * Gets or sets the name of the office group that the installation has been created for, where applicable */ officeGroupName?: string; /** * Gets the email address of the user who installed the app */ installedBy?: string; /** * Gets the email address of the user who uninstalled the app */ uninstalledBy?: string; /** * Gets the X axis size of the pop up window */ launchWindowSizeX?: number; /** * Gets the Y axis size of the pop up window */ launchWindowSizeY?: number; /** * Gets the fixed api consumption cost for the installation */ fixedApiConsumptionCost?: number; customerAddress?: AddressModel; /** * Gets the installations metadata */ metadata?: InstallationMetadataModel[]; officeGroup?: InstallationOfficeGroupModel; } /** * Model to handle paged data and information */ interface InstallationModelPagedResult { /** * List of paged data */ data?: InstallationModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Office group representation */ interface InstallationOfficeGroupModel { /** * Gets the name of the office group */ name?: string; /** * Gets the list of offices associated to the group */ offices?: InstallationOfficeModel[]; } /** * Office representation */ interface InstallationOfficeModel { /** * Gets the unique identifier of the office */ id?: string; /** * Gets the name of the office */ name?: string; } /** * The model responsible for inviting a recipient to a developer organisation */ interface InviteMemberModel { /** * The email address of the recipient */ email?: string; /** * The full name of the recipient */ name?: string; /** * The job title of the recipient */ jobTitle?: string; /** * The name of the user whos sent the invite */ sender?: string; /** * The message to send to the recipient */ message?: string; } /** * Represents a HyperMedia Link */ interface LinkModel { /** * The relationship being described */ rel?: string; /** * The hyperlink URI */ href?: string; /** * The HTTP verb to be issued */ action?: string; } /** * Media representation */ interface MediaModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * Gets the unique identifier of the media item */ id?: string; /** * Gets the URI where this media is located */ uri?: string; /** * Gets the textual description of this media content */ description?: string; /** * Gets type of media this entity relates to */ type?: string; /** * Gets the order of this particular picture in the list of available media */ order?: number; } /** * Model that represents a member of a developer organisation */ interface MemberModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The id of this member */ id?: string; /** * The timestamp of entity creation */ created?: string; /** * The timestamp of entity modification */ modified?: string; /** * The email address of the member */ email?: string; /** * The full name of this member */ name?: string; /** * The job title for this member */ jobTitle?: string; /** * The status of the member (active/inactive/pending/rejected) */ status?: string; /** * The role of the member (admin/user) */ role?: string; /** * The github username of the member */ gitHubUsername?: string; /** * The date the member agreed to the terms */ agreedTerms?: string; /** * The id of the developer the member is associated to */ developerId?: string; /** * The id of the sandbox envionment the member is associated to (AUS/GBR) */ sandboxId?: string; /** * The id of the negotiator account to use when signing into Developer Edition * assuming a valid subscription exists */ developerEditionId?: string; /** * A flag specifying if the member has access to agency cloud */ agencyCloudAccess?: boolean; /** * A flag to determine whether an access token issued to this developer user will resolve to customer data (rather than sandbox) */ useCustomerData?: boolean; /** * A flag to determine if this member is the main contact for the developer */ isMainContact?: boolean; } /** * Model to handle paged data and information */ interface MemberModelPagedResult { /** * List of paged data */ data?: MemberModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } interface ProblemDetails { [name: string]: any; type?: string; title?: string; status?: number; detail?: string; instance?: string; } /** * Model to expose details of products across the Reapit Group that marketplace applications can be published to */ interface ProductModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The unique product identifier */ id?: string; /** * The product name */ name?: string; /** * The URL at which the OpenAPI specification JSON document for the product can be obtained */ openApiUrl?: string; /** * The identifier of the default sandbox that should be used by the product */ defaultSandboxId?: string; } /** * Model to handle paged data and information */ interface ProductModelPagedResult { /** * List of paged data */ data?: ProductModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * The model responsible for rejection of a revision */ interface RejectRevisionModel { /** * Sets the name of the admin rejecting */ name?: string; /** * Sets the email of the admin rejecting */ email?: string; /** * Sets the reason the revision is rejected */ rejectionReason?: string; /** * Flag to determine if the revision has been rejected by a developer (defaulted to false) */ rejectedByDeveloper?: boolean; /** * Flag to determine if the rejection reason should be sent in the email (defaulted to false) */ includeReasonInEmail?: boolean; } /** * The model responsible for resending consent emails */ interface ResendAppRevisionConsentModel { /** * Sets the email of the user resending the consent emails */ actionedBy?: string; /** * Sets the override email of the user to re-send the consent too * If this is not sent it goes to the user who installed the app */ recipient?: string; } /** * Model to expose details of a sandbox environment */ interface SandboxModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The unique sandbox identifier */ id?: string; /** * The sandbox environment name */ name?: string; /** * The identifier of the customer associated to the sandbox */ customerId?: string; } /** * Model to handle paged data and information */ interface SandboxModelPagedResult { /** * List of paged data */ data?: SandboxModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * Model that represents a scope */ interface ScopeModel { /** * Gets the name of the scope */ name?: string; /** * Gets the description of the scope */ description?: string; } /** * Model to expose subscription info */ interface SubscriptionModel { /** * Gets the links associated to this model */ readonly links?: LinkModel[]; /** * The unique identifier associated to the subscription */ id?: string; /** * The date and time the subscription was created */ created?: string; /** * The date and time the subscription was cancelled */ cancelled?: string; /** * The date the subscription renews */ renews?: string; /** * The GUID of the developer associated to the subscription */ developerId?: string; /** * The developer organisation associated to the subscription */ organisationName?: string; /** * The unique identifier of the customer associated to the subscription */ customerId?: string; /** * The GUID of the application associated to the subscription */ applicationId?: string; /** * The email of the user against the subscription */ user?: string; /** * The type of subscription (applicationListing/developerRegistration/developerEdition/dataWarehouse) */ type?: string; /** * A brief descripton of the subscription */ summary?: string; /** * The cost of the subscription */ cost?: number; /** * The frequency in which the subscription renews (monthly/annually) */ frequency?: string; } /** * Model to handle paged data and information */ interface SubscriptionModelPagedResult { /** * List of paged data */ data?: SubscriptionModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalCount?: number; } /** * The model responsible for terminating the installation between a specific client and app */ interface TerminateInstallationModel { /** * Sets the unique identifier of the associated app for which the installation is being terminated */ appId?: string; /** * Sets the email address of the person removing access to this app for the client * specified in the installation */ terminatedBy?: string; /** * Sets the reason that app access has been removed */ terminatedReason?: string; /** * Sets the date at which the app should become unavailable to the client (optional - if not passed the app will become unavailable immediately) */ terminatesOn?: string; } /** * Request body used to set the address details */ interface UpdateAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * The model responsible for updating an app */ interface UpdateAppModel { /** * Sets the fixed api consumption cost for the app */ fixedApiConsumptionCost?: number; /** * A flag to determine if installation is required for access to this app (defaults to true for security) */ isInstallationRequired?: boolean; /** * A flag to determine if the app is internal (For reapit staff only) */ isInternalApp?: boolean; /** * A flag to determine if an internal install notification should be sent */ sendInternalInstallNotification?: boolean; } /** * The model responsible for updating a customer */ interface UpdateCustomerModel { /** * The email of the user approving the customer */ accountApprovedEmail?: string; /** * The date time the account was approved */ accountApproved?: string; } /** * The model responsible for updating a desktop integration type */ interface UpdateDesktopIntegrationTypeModel { /** * Sets the desktop integrations name */ name?: string; /** * Sets the desktop integrations description */ description?: string; /** * Sets a link to the desktop integrations documentation */ url?: string; } /** * The model responsible for updating of a developer */ interface UpdateDeveloperModel { /** * Sets the full name of this developer */ name?: string; /** * Sets the company to which this developer is acting on behalf of */ companyName?: string; /** * Sets the job title for this developer */ jobTitle?: string; /** * Sets the telephone number of the developer */ telephone?: string; /** * Sets the date the developer agreed to the terms */ agreedTerms?: string; /** * Sets the flag specifying if the developer is inactive */ isInactive?: boolean; /** * Sets a brief description for the developers organisation */ about?: string; /** * Sets the website of the developers organisation */ website?: string; /** * Sets the tax number of the developers organisation */ taxNumber?: string; /** * Sets the registration number of the developers organisation */ registrationNumber?: string; /** * Sets the email of the accounts department for the developer */ billingEmail?: string; /** * Sets the telephone number for the accounts department for the developer */ billingTelephone?: string; /** * Sets the name of the member of staff dealing with billing */ billingKeyContact?: string; /** * Sets reapits account reference used for this company */ reapitReference?: string; /** * Sets a flag specifying if the developer has registered tax */ noTaxRegistration?: boolean; /** * Sets the developers national insurance */ nationalInsurance?: string; /** * Sets the status of the developer */ status?: string; /** * Alternative email address for marketplace developer notifications */ notificationsEmail?: string; companyAddress?: UpdateAddressModel; /** * The maximum number of apps the developer can have unlisted */ maxAppsUnlisted?: number; /** * Sets the price this developer will pay for developer edition */ developerEditionSubscriptionCost?: number; /** * Sets the notes specified by the developer */ notes?: string; } /** * The model responsible for updating an installation */ interface UpdateInstallationModel { /** * Sets the fixed api consumption cost for the installation */ fixedApiConsumptionCost?: number; } /** * The model responsible for updating a member */ interface UpdateMemberModel { /** * The full name of this member */ name?: string; /** * The job title for this member */ jobTitle?: string; /** * The date the terms were agreed */ agreedTerms?: string; /** * The members role (admin/user) */ role?: string; /** * A flag to determine whether an access token issued to this developer user will resolve to customer data (rather than sandbox) */ useCustomerData?: boolean; /** * The identifier of the sandbox environment to use (AUS/GBR) */ sandboxId?: string; /** * The id of the negotiator account to use when signing into Developer Edition * assuming a valid subscription exists */ developerEditionId?: string; /** * The github username for this member */ gitHubUsername?: string; /** * The status of the member (active/inactive/pending/rejected) */ status?: string; /** * A flag to determine if the member is the main contact */ isMainContact?: boolean; } } declare namespace Organisations { /** * Representation of an authenticator */ interface AuthenticatorModel { /** * The unique identifier of the authenticator */ id?: string; /** * The unique identifier of the user associated to the authenticator */ userId?: string; /** * The status of the authenticator (inProgress/active/disabled) */ status?: string; /** * The status of the authenticator (mfa/sms) */ type?: string; /** * The date and time when the authenticator was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the authenticator was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; } /** * Representation of a user or organisation claim */ interface ClaimModel { /** * The name of the claim */ claim?: string; /** * The value of the claim */ value?: string; /** * The unique identifier of the organisation the claim relates too */ organisationId?: string; /** * Flag determining whether or not the claim should be included in identity tokens generated by the identity provider */ includeInToken?: boolean; } /** * Model to capture information to create a new group membership * example: * [object Object] */ interface CreateGroupMembershipModel { /** * The id of the user to become a member of this group */ userId?: string; /** * The identifier of the organisation the group relates too */ organisationId?: string; } /** * Model to create a new group * example: * [object Object] */ interface CreateGroupModel { /** * The identifier (as it will appear in the IDP) */ id: string; /** * The description of this group */ description: string; } /** * Request body used to create a new office group * example: * [object Object] */ interface CreateOfficeGroupModel { /** * The name of the office group */ name?: string; /** * The office ids to associate with the group */ officeIds?: string; } /** * Request body used to set the address details */ interface CreateOrganisationAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Request body used to create a new organisation claim * example: * [object Object] */ interface CreateOrganisationClaimModel { /** * The name of the claim being set */ claim: string; /** * The value of the claim being set */ value: string; /** * Flag determining whether or not the claim should be included in identity tokens generated by the identity provider for users associated with the organisation * the claim is attached to */ includeInToken?: boolean; } /** * Model to create a new organisation group member * example: * [object Object] */ interface CreateOrganisationGroupMemberModel { /** * The unique identifier of the organisation */ organisationId?: string; } /** * Model to create a new organisation group * example: * [object Object] */ interface CreateOrganisationGroupModel { /** * The name of the organisation group */ name: string; } /** * Model to create a new organisation * example: * [object Object] */ interface CreateOrganisationModel { /** * The id of the organisation in agency cloud (if a customer) */ agencyCloudId?: string; /** * The id of the organisation in marketplace (if a developer) */ marketplaceId?: string; /** * The name of the organisation */ name: string; /** * The public website of the organisation */ website?: string; taxNumber?: string; /** * The registration number of the organisation */ registrationNumber?: string; /** * The email address to use for billing correspondence */ billingEmail?: string; /** * The telephone number to use for billing correspondence */ billingTelephone?: string; /** * The name of the person to contact for billing correspondence */ billingName?: string; /** * The reference that our accounts department use internally for billing this organisation */ billingReference?: string; /** * The MFA status of the organisation (inactive/optional/enforced) */ mfaStatus?: string; /** * A flag specifying if the organisation has registered tax */ noTaxRegistration?: boolean; /** * The organisations national insurance */ nationalInsurance?: string; /** * The product the organisation is using */ product?: string; address?: CreateOrganisationAddressModel; /** * Any claims to associate with this organisation */ claims?: CreateOrganisationClaimModel[]; /** * Identifies the type of instance to which this organisation belongs (dev/prod/test/uat) */ instanceType?: string; } /** * Model to create a new product */ interface CreateProductModel { /** * Gets or sets the identifier (as it will appear in the IDP) */ id: string; /** * The name of this group */ name: string; /** * The grant type associated to the product (authorisationCode/clientCredentials) */ grant: string; /** * A list of callback urls */ callbackUrls?: string[]; /** * A list of signout urls */ signoutUrls?: string[]; /** * A list of scopes to assign to the app */ scopes?: string[]; /** * Flag indicating whether or not the product has user admin capabilities * that require an additional scope to be set on the OAuth client */ requiresUserAdmin?: boolean; /** * A flag to determine if the app is for internal use only */ isInternalApp?: boolean; } /** * Request body used to create a new user authenticator */ interface CreateUserAuthenticatorModel { /** * The type of authenticator (sms/softwareToken) */ type?: string; /** * The access token of the user to create the software token for (When not provided, service will use the token from the request context instead) */ authToken?: string; } /** * Request body used to create a new user claim * example: * [object Object] */ interface CreateUserClaimModel { /** * The name of the claim being set */ claim: string; /** * The value of the claim being set */ value: string; /** * The id of the organisation the claim is associated with */ organisationId?: string; /** * Flag determining whether or not the claim should be included in identity tokens generated by the identity provider */ includeInToken?: boolean; } /** * Model to create a new user * example: * [object Object] */ interface CreateUserModel { /** * The email of this user */ email: string; /** * The name of this user */ name: string; /** * Gets or sets the agency cloud identifier that the user occupies in the customers database */ agencyCloudNegotiatorId?: string; /** * The job title of the user */ jobTitle?: string; /** * The mobile telephone of the user */ mobile?: string; /** * The landline telephone of the user */ landline?: string; /** * The id of the organisation that this user should belong to */ organisationId: string; /** * Listing of the group ids that this user is a member of */ groupIds: string[]; /** * A flag to decide whether a user is pushed to the identity provider */ addToIdp?: boolean; /** * A flag to determine whether to force recreation of the user when a matching email address is already added */ overwrite?: boolean; /** * Any claims to associate with this user */ claims?: CreateUserClaimModel[]; } /** * Request body used to create a new user product */ interface CreateUserProductModel { /** * The id of the organisation the product is associated with */ organisationId?: string; } /** * Model to delete an existing user claim */ interface DeleteUserClaimModel { /** * The id of the organisation the claim is associated with */ organisationId?: string; } /** * Request body used to delete a user product */ interface DeleteUserProductModel { /** * The id of the organisation the product is associated with */ organisationId?: string; } /** * Model used to describe items on the email suppression list in the third party email provider */ interface EmailSuppressionModel { /** * The id of the user on the suppression list */ userId?: string; /** * The email address on the suppression list */ emailAddress?: string; /** * The date and time the item on the suppression list was last updated (eg status change from Bounce -> Permanent) * example: * 2019-08-14T12:30:02Z */ lastUpdated?: string; /** * The reason the email address is on the suppression list */ reason?: string; /** * The region in which the email address is on the suppression list */ region?: string; } interface EmailSuppressionModelPagedResult { _embedded?: EmailSuppressionModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface EmailSuppressions { getEmailSuppressionsQuery?: any; } /** * Query responsible for fetching a list of email addresses on the suppression list in the third party email provider */ interface GetEmailSuppressionsQuery { } /** * Representation of a group member */ interface GroupMembershipModel { /** * The unique id of the user belonging to the group */ id?: string; /** * The date and time when the user was added to the group * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The user's email address */ email?: string; /** * Gets or sets the name of this user */ name?: string; /** * Flag determining if this instance is inactive */ inactive?: boolean; /** * The organisation id that this user is a member of */ organisationId?: string; /** * The name of the organisation this user is a member of */ organisationName?: string; } interface GroupMembershipModelPagedResult { _embedded?: GroupMembershipModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Representation of a user group */ interface GroupModel { /** * The unique identifier of the group */ id?: string; /** * The date and time when the group was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the group was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The description of the group */ description?: string; /** * The number of members in the group */ memberCount?: number; } interface GroupModelPagedResult { _embedded?: GroupModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface Groups { pageNumber?: number; pageSize?: number; id?: string[]; organisationId?: string; } /** * Representation of user information in third party IdP */ interface IdentityClientUserInfoModel { /** * Flag indicating whether or not the user exists in the third party IdP */ exists?: boolean; /** * The id of the user in the third party IdP */ id?: string; /** * The name of the user in the third party IdP */ name?: string; /** * Flag indicating whether or not the user is enabled in the third party IdP * Note that this does not necessarily mean active in all IdPs */ enabled?: boolean; /** * The date and time the user was created in the third party IdP * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The status of the user in the third party IdP * Refer to IdP specific documentation for available values */ status?: string; /** * The list of last authentication events for this user in the third party IdP, * where this information is available */ authEvents?: string[]; } interface MigrationsKeys { applicationId?: string; } /** * Representation of a defined collection of offices within an organisation which can be used to ring fence data and other operations */ interface OfficeGroupDetailedModel { /** * The unique identifier of the office group */ id?: string; /** * The date and time when the office group was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the office group was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the organisation the office group belongs to */ organisationId?: string; /** * The customer id that will be used for users associated with an office in the office group */ customerId?: string; /** * The name of the office group */ name?: string; /** * The tag associated with the office group which is appended to the end of the parent customer id */ tag?: string; /** * The office ids associated to the office group */ officeIds?: string; /** * The status of the office group (active/inactive) */ status?: string; /** * A collection of offices within the office group */ offices?: { [name: string]: string; }; } interface OfficeGroupDetailedModelPagedResult { _embedded?: OfficeGroupDetailedModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Representation of a defined collection of offices within an organisation which can be used to ring fence data and other operations */ interface OfficeGroupModel { /** * The unique identifier of the office group */ id?: string; /** * The date and time when the office group was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the office group was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the organisation the office group belongs to */ organisationId?: string; /** * The customer id that will be used for users associated with an office in the office group */ customerId?: string; /** * The name of the office group */ name?: string; /** * The tag associated with the office group which is appended to the end of the parent customer id */ tag?: string; /** * The office ids associated to the office group */ officeIds?: string; /** * The status of the office group (active/inactive) */ status?: string; } interface OfficeGroupModelPagedResult { _embedded?: OfficeGroupModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface OfficeGroups { pageNumber?: number; pageSize?: number; id?: string[]; } /** * Representation of the physical address of a building or premise */ interface OrganisationAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; } /** * Representation of an organisation group member */ interface OrganisationGroupMemberModel { /** * The unique identifier of the organisation group membership */ id?: string; /** * The date and time of when the organisation group membership was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time of when the organisation group membership was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the organisation */ organisationId?: string; /** * The unique identifier of the organisation group */ organisationGroupId?: string; /** * The customer's Id */ customerId?: string; /** * The name of the organisation */ name?: string; } interface OrganisationGroupMemberModelPagedResult { _embedded?: OrganisationGroupMemberModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Representation of an organisation group */ interface OrganisationGroupModel { /** * The unique identifier of the organisation group */ id?: string; /** * The date and time when the organisation group was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the organisation group was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the organisation group */ name?: string; } interface OrganisationGroupModelPagedResult { _embedded?: OrganisationGroupModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface OrganisationGroups { pageNumber?: number; pageSize?: number; } /** * Representation of an organisation, such as a Reapit customer or external developer */ interface OrganisationModel { /** * The unique identifier of the organisation */ id?: string; /** * The date and time when the organisation was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the organisation was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the organisation */ name?: string; /** * The id of the Reapit Agency Cloud customer that the organisation is associated with, where applicable */ agencyCloudId?: string; /** * The id of the Reapit Marketplace developer organisation that the organisation is associated with, where applicable */ marketplaceId?: string; /** * A flag determining whether or not the organisation is currently inactive */ inactive?: boolean; /** * The URL of the organisation's public website */ website?: string; taxNumber?: string; /** * The company registration number (CRN) of the organisation */ registrationNumber?: string; /** * The email address to use for billing correspondence */ billingEmail?: string; /** * The telephone number to use for billing correspondence */ billingTelephone?: string; /** * The name of the person to contact for billing correspondence */ billingName?: string; /** * The reference that the Reapit Accounts department use internally for billing the organisation */ billingReference?: string; /** * A flag determining whether or not the organisation is registered to pay tax */ noTaxRegistration?: boolean; /** * The MFA status of the organisation (inactive/optional/enforced) */ mfaStatus?: string; /** * The National Insurance number of the organisation */ nationalInsurance?: string; /** * The product the organisation is using */ product?: string; /** * The products the organisation is using */ products?: string[]; address?: OrganisationAddressModel; /** * A collection of claims associated to the organisation, which are optionally included in tokens generated by the identity provider for users belonging to the organisation */ claims?: ClaimModel[]; /** * Identifies the type of instance to which this organisation belongs (dev/prod/test/uat) */ instanceType?: string; } interface OrganisationModelPagedResult { _embedded?: OrganisationModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface Organisations { pageNumber?: number; pageSize?: number; id?: string[]; agencyCloudId?: string[]; claim?: string[]; claimValue?: string; marketplaceId?: string[]; name?: string; instanceType?: ('dev' | 'prod' | 'test' | 'uat')[]; includeUserData?: boolean; } interface PagingLinkModel { href?: string; } /** * Model to update an existing user via patch * example: * [object Object] */ interface PatchUserModel { /** * The new name of the user */ name?: string; /** * The date and time at which the user first logged in * example: * 2019-08-14T12:30:02Z */ firstLoginDate?: string; /** * The date and time at which the user last logged in * example: * 2019-08-14T12:30:02Z */ lastLoginDate?: string; /** * Flag indicating whether or not MFA is enabled for this user. * Note that this does NOT update the IdP */ mfaEnabled?: boolean; } /** * Platform configuration information for a organisation */ interface PlatformConfigModel { /** * The location at which customer assets (ie images) are publicly accessible */ publicAssetsLocation?: string; /** * A list of semi structured fields that can be requested via the Platform APIs */ extrasWhitelist?: string; /** * A dictionary detailing the customers products with version information */ productVersions?: { [name: string]: string; }; } interface PlatformConfigModelPagedResult { _embedded?: PlatformConfigModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Representation of a product */ interface ProductModel { /** * The unique identifier of the product */ id?: string; /** * The name of the product */ name?: string; /** * The identifier of the product within the IDP */ externalId?: string; /** * The gateway usage keys identifier */ usageKeyId?: string; /** * The auth flow of the product (authorisationCode/clientCredentials) */ authFlow?: string; /** * The scopes the product has */ scopes?: string[]; /** * A flag to determine if the products app is for internal use only */ isInternalApp?: boolean; /** * The date and time when the product was created * example: * 2019-08-14T12:30:02Z */ created?: string; } interface ProductModelPagedResult { _embedded?: ProductModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } interface Products { externalId?: string[]; } /** * Outward representation of JWK item */ interface PublicKeyModel { kty?: string; e?: string; use?: string; kid?: string; n?: string; } /** * Representation of a public key */ interface PublicKeysModel { /** * The public keys */ keys?: PublicKeyModel[]; } interface RemoveGroupMembershipModel { /** * The organisation the group belongs too */ organisationId?: string; } /** * example: * [object Object] */ interface UpdateGroupModel { /** * The description of this group */ description: string; } /** * Request body used to update an existing office group * example: * [object Object] */ interface UpdateOfficeGroupModel { /** * The name of the office group */ name?: string; /** * The office ids to associate with the group */ officeIds?: string; /** * The status of the office group (active/inactive) */ status?: string; } interface UpdateOrganisationAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Model to update an existing organisation claim * example: * [object Object] */ interface UpdateOrganisationClaimModel { /** * The value of the claim being set */ value?: string; /** * Flag denoting whether or not the claim should be included in identity tokens * issued for users signing in that are linked to the associated organisation */ includeInToken?: boolean; } /** * example: * [object Object] */ interface UpdateOrganisationModel { /** * The id of the organisation in agency cloud (if a customer) */ agencyCloudId?: string; /** * The id of the organisation in marketplace (if a developer) */ marketplaceId?: string; /** * The name of the organisation */ name: string; /** * A value indicating whether this organisation should be inactive. */ inactive?: boolean; /** * The public website of the organisation */ website?: string; taxNumber?: string; /** * The registration number of the organisation */ registrationNumber?: string; /** * The email address to use for billing correspondence */ billingEmail?: string; /** * The telephone number to use for billing correspondence */ billingTelephone?: string; /** * The name of the person to contact for billing correspondence */ billingName?: string; /** * The reference that our accounts department use internally for billing this organisation */ billingReference?: string; /** * The MFA status of the organisation (inactive/optional/enforced) */ mfaStatus?: string; /** * A flag specifying if the organisation has registered tax */ noTaxRegistration?: boolean; /** * The organisations national insurance */ nationalInsurance?: string; /** * The product the organisation is using */ product?: string; address?: UpdateOrganisationAddressModel; /** * Identifies the type of instance to which this organisation belongs (dev/prod/test/uat) */ instanceType?: string; } /** * Model to update platform configuration */ interface UpdatePlatformConfigurationModel { /** * The location at which customer assets (ie images) are publicly accessible */ publicAssetsLocation?: string; /** * A list of semi structured fields that can be requested via the Platform APIs */ extrasWhitelist?: string; } /** * Model to update a product */ interface UpdateProductModel { /** * The name of this product */ name: string; /** * A list of callback urls */ callbackUrls?: string[]; /** * A list of signout urls */ signoutUrls?: string[]; /** * A list of scopes to assign to the app */ scopes?: string[]; /** * Flag indicating whether or not the product has user admin capabilities * that require an additional scope to be set on the OAuth client */ requiresUserAdmin?: boolean; } /** * Model to update an existing user claim * example: * [object Object] */ interface UpdateUserClaimModel { /** * The value of the claim being set */ value?: string; /** * Flag denoting whether or not the claim should be included in identity tokens * issued for users signing in that are linked to the associated organisation */ includeInToken?: boolean; /** * The id of the organisation the claim is associated with */ organisationId?: string; } /** * Model to update an existing user * example: * [object Object] */ interface UpdateUserModel { /** * The name of this user */ name: string; /** * Flag whether this user should be marked as inactive */ inactive?: boolean; /** * Gets or sets the job title of the user */ jobTitle?: string; /** * The mobile telephone of the user */ mobile?: string; /** * The landline telephone of the user */ landline?: string; /** * The agency cloud negotiator id of the user, if applicable */ agencyCloudNegotiatorId?: string; /** * The status of the user in the third party identity provider (active/inactive) */ idpStatus?: string; /** * Flag indicating whether or not the user has provided consent for their actions to be tracked in Reapit's products */ consentToTrack?: boolean; /** * The date and time at which the user first logged in * example: * 2019-08-14T12:30:02Z */ firstLoginDate?: string; /** * The date and time at which the user last logged in * example: * 2019-08-14T12:30:02Z */ lastLoginDate?: string; } /** * Request body used to update a user's password to a specific value * example: * [object Object] */ interface UpdateUserPasswordModel { /** * The user's current password */ current: string; /** * The user's new password */ new: string; /** * Flag determining whether or not the provided password should be permanent * or set as a one-time temporary password */ permanent?: boolean; } /** * Representation of a user group */ interface UserGroupModel { /** * The unique identifier of the group */ groupId?: string; /** * The unique identifier of the organisation the group relates too */ organisationId?: string; } /** * Representation of the user information */ interface UserInfoModel { /** * The unique identifier of the user */ id?: string; /** * The date and time when the user was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the user was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The user's email address */ emailAddress?: string; /** * The user's name */ name?: string; /** * The id of the parent organisation that the user belongs to */ organisationId?: string; /** * The id of the customer the user is directly associated with (via the parent organisation), outside the scope of organisation groups. * Note that this will always be populated regardless of the presence of organisation group data */ userCustomerId?: string; /** * The name of the parent organisation that the user belongs to */ organisationName?: string; /** * The id of the parent organisation group that the user's organisation belongs to */ organisationGroupId?: string; /** * The name of the parent organisation group that the user's organisation belongs to */ organisationGroupName?: string; /** * The product the parent organisation that the user belongs to is using */ organisationProduct?: string; /** * The website of the user's primary organisation */ organisationWebsite?: string; /** * Flag indicating whether or not the user has given consent for their actions to be tracked whilst using Reapit products */ consentToTrack?: boolean; /** * Flag indicating whether or not the user has an active secondary authenticator against their account (MFA) */ mfaEnabled?: boolean; /** * The id of the negotiator the user relates to */ negotiatorId?: string; /** * The id of the office the user belongs to */ officeId?: string; /** * The id of the office group the user belongs too */ officeGroupId?: string; /** * The name of the office group the user belongs to */ officeGroupName?: string; /** * The ids of the offices belonging to the group */ officeGroupIds?: string; /** * The List of members that the parent organisation group governs */ organisationGroupMembers?: OrganisationGroupMemberModel[]; /** * The List of groups that the user making this request is a member of */ userGroups?: string[]; idpData?: IdentityClientUserInfoModel; /** * A list of organisations the user belongs too */ userOrganisations?: UserOrganisationModel[]; } /** * Representation of a user */ interface UserModel { /** * The unique identifier of the user */ id?: string; /** * The date and time when the user was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the user was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The user's email address */ email?: string; /** * The user's full name */ name?: string; /** * The mobile phone number of the user */ mobile?: string; /** * The landline phone number of the user */ landline?: string; /** * The job title of the user */ jobTitle?: string; /** * The status of the user in the third party identity provider (active/inactive) */ idpStatus?: string; /** * A flag determining whether or not the user is currently inactive */ inactive?: boolean; /** * The id of the parent organisation that the user belongs to */ organisationId?: string; /** * The name of the parent organisation that the user belongs to */ organisationName?: string; /** * A collection of organisation identifiers that the user belongs too */ organisationIds?: string[]; /** * The product the parent organisation that the user belongs to is using */ organisationProduct?: string; /** * The id of the Reapit Marketplace developer organisation that the user belongs to, where applicable */ marketplaceDeveloperId?: string; /** * The id of the Reapit Agency Cloud customer that the user belongs to, where applicable */ agencyCloudCustomerId?: string; /** * The id of the Reapit Agency Cloud negotiator that the user is associated with, where applicable */ agencyCloudNegotiatorId?: string; /** * Flag indicating whether or not the user has given consent for their actions to be tracked whilst using Reapit products */ consentToTrack?: boolean; /** * Flag indicating whether or not the user has an active secondary authenticator against their account (MFA) */ mfaEnabled?: boolean; /** * The date and time that the user last updated their tracking consent status * example: * 2019-08-14T12:30:02Z */ consentToTrackModified?: string; /** * The date and time at which the user first logged in * example: * 2019-08-14T12:30:02Z */ firstLoginDate?: string; /** * The date at which the user last logged in * example: * 2019-08-14 */ lastLoginDate?: string; /** * A collection of groups that the user belongs to */ groups?: string[]; /** * A collection of groups that the user belongs to */ userGroups?: UserGroupModel[]; /** * A collection of claims associated to the user, which are optionally included in tokens generated by the identity provider */ userClaims?: ClaimModel[]; /** * A collection of claims associated to the user's organisation, which are optionally included in tokens generated by the identity provider */ organisationClaims?: ClaimModel[]; /** * A collection of products associated to the user */ products?: UserProductModel[]; } interface UserModelPagedResult { _embedded?: UserModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Representation of a users organisation */ interface UserOrganisationModel { /** * The unique identifier of the user organisation */ id?: string; /** * The date and time when the user organisation link was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the user organisation link was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the organisation */ organisationId?: string; /** * The organisations customer identifier */ customerId?: string; /** * The organisations name */ name?: string; /** * The organisation's website address */ website?: string; /** * The groups associated to this organisation */ groups?: string[]; } /** * Representation of a user product */ interface UserProductModel { /** * The products identifier */ id?: string; /** * The unique identifier of the organisation the product relates too */ organisationId?: string; } /** * Details for an attempt to sign in to the IDP */ interface UserSignInRequest { /** * The email address of the user to attempt sign in for */ email?: string; /** * The password for the provided email address */ password?: string; /** * The id of the app client the user wishes to sign in to */ appClientId?: string; } interface UserSignInResponse { /** * The UTC date time of the sign in event * example: * 2019-08-14T12:30:02Z */ timestamp?: string; /** * A flag indicating whether a successful sign in occurred */ success?: boolean; /** * The email address of the sign in attempt */ emailAddress?: string; /** * If this request failed, the reason why */ failureReason?: string; /** * The agency cloud id of the customer that this user belongs to */ agencyCloudCustomerId?: string; /** * The agency cloud id that this user is associated to, relative to the specified agency cloud customer database */ agencyCloudNegotiatorId?: string; /** * Gets the identity token issued from the IDP */ identityToken?: string; /** * Gets the access token issued from the IDP */ accessToken?: string; /** * Gets the refresh token issued from the IDP */ refreshToken?: string; } /** * Representation of the user signout */ interface UserSignOutModel { /** * The user id of the user making this request */ userId?: string; /** * flag determining the status */ logoutSuccess?: boolean; } interface Users { pageSize?: number; pageNumber?: number; agencyCloudId?: string; claim?: string[]; organisationId?: string; groupId?: string; name?: string; email?: string; organisationName?: string; mfaEnabled?: boolean; createdFrom?: string; createdTo?: string; firstLoginDateFrom?: string; firstLoginDateTo?: string; active?: boolean; } interface UsersInfo { email?: string; includeIdpData?: boolean; } /** * Request body used to verify a user authenticator */ interface VerifyUserAuthenticatorModel { /** * The code to verify the authenticator */ code?: string; /** * The access token of the user to verify the software token for (When not provided, service will use the token from the request context instead) */ authToken?: string; } } declare namespace Payments { interface LinkModel { href?: string; } interface PagingLinkModel { href?: string; } /** * Representation of the physical address of a building or premise */ interface PaymentCustomerAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * A summarised view of the details of a contact or company who will be making the payment (the customer) */ interface PaymentCustomerModel { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the the contact (Available when 'type' is 'contact') */ surname?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; primaryAddress?: PaymentCustomerAddressModel; } /** * Model representing a Payment */ interface PaymentModel { readonly _links?: { [name: string]: LinkModel; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the payment */ id?: string; /** * The date and time when the payment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the payment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The payment type [paymentRequest] */ type?: string; /** * The payment description */ description?: string; /** * The status of the payment [awaitingAuthorisation/awaitingPosting/posted/rejected] */ status?: string; /** * The ledger the payment is recorded in */ ledger?: string; /** * The payment amount */ amount?: number; /** * The client account that the funds will be, or have been paid into */ clientAccountName?: string; /** * The reference number the payment is associated with in the external payment handler */ externalReference?: string; /** * The unique identifier of the company the payment is associated with, where applicable */ companyId?: string; customer?: PaymentCustomerModel; /** * The unique identifier of the landlord the payment is associated with, where applicable */ landlordId?: string; /** * The unique identifier of the property the payment is associated with, where applicable */ propertyId?: string; /** * The unique identifier of the tenancy the payment is associated with, where applicable */ tenancyId?: string; /** * The ETag for the current version of the payment. Used for managing update concurrency */ readonly _eTag?: string; } interface PaymentModelPagedResult { _embedded?: PaymentModel[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: PagingLinkModel; }; } /** * Request body used to update an existing payment * example: * [object Object] */ interface UpdatePaymentModel { /** * The status of the payment [awaitingAuthorisation/awaitingPosting/posted/rejected] */ status?: string; /** * The reference number the payment is associated with in the external payment handler */ externalReference?: string; } } declare namespace Platform { /** * Representation of additional contact details */ interface AdditionalCompanyContactDetailsModel { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; } /** * Representation of additional contact details */ interface AdditionalContactDetailModel { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; } /** * Representation of additional contact details */ interface AdditionalOfficeContactDetailsModel { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; } /** * The model for the entity that checked an alarm. */ interface AlarmCheckedByModel { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; } /** * The base model for reading, creating or updating the entity that checked an alarm. */ interface AlarmCheckedByModelBase { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; } /** * The read model for an alarm. */ interface AlarmModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the alarm. */ id?: string; /** * The date the alarm record was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The last modified date. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property this alarm is for. */ propertyId?: string; /** * The unique identifier of the category of the alarm. */ categoryId?: string; /** * The unique identifier of the type of the alarm. */ typeId?: string; /** * The location of the alarm. */ location?: string; /** * The date that the alarm was checked. * example: * 2019-08-14T12:30:02Z */ checkedDate?: string; /** * The model for the entity that checked an alarm. */ checkedBy?: { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; }; /** * The date that the alarm is due to be serviced/reviewed. * example: * 2019-08-14T12:30:02Z */ serviceDate?: string; /** * The expiry date of the alarm. * example: * 2019-08-14T12:30:02Z */ expiryDate?: string; /** * Flag to determine whether this alarm has been removed. */ removed?: boolean; /** * The ETag for the current version of the development phase. Used for managing update * concurrency. */ readonly _eTag?: string; } interface AlarmModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the alarm. */ id?: string; /** * The date the alarm record was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The last modified date. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property this alarm is for. */ propertyId?: string; /** * The unique identifier of the category of the alarm. */ categoryId?: string; /** * The unique identifier of the type of the alarm. */ typeId?: string; /** * The location of the alarm. */ location?: string; /** * The date that the alarm was checked. * example: * 2019-08-14T12:30:02Z */ checkedDate?: string; /** * The model for the entity that checked an alarm. */ checkedBy?: { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; }; /** * The date that the alarm is due to be serviced/reviewed. * example: * 2019-08-14T12:30:02Z */ serviceDate?: string; /** * The expiry date of the alarm. * example: * 2019-08-14T12:30:02Z */ expiryDate?: string; /** * Flag to determine whether this alarm has been removed. */ removed?: boolean; /** * The ETag for the current version of the development phase. Used for managing update * concurrency. */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Model for exposing error details to API consumers */ interface ApiErrorModel { statusCode?: 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511; /** * The date and time that this error event occurred * example: * 2019-08-14T12:30:02Z */ dateTime?: string; /** * The detailed information regarding this error event */ description?: string; } /** * The details specific to applicants with a marketingMode of buying */ interface ApplicantBuyingModel { /** * The lower bound of the applicant's budget */ priceFrom?: number; /** * The upper bound of the applicant's budget */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14 */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; } /** * An applicant's commercial details */ interface ApplicantCommercialModel { /** * The commercial use requirements (eg a1, a2, b1), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; } /** * Representation of the physical address of a building or premise */ interface ApplicantContactAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * A summarised view of the details of a contact or company associated to an applicant */ interface ApplicantContactModel { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; } /** * Representation of a relationship between an applicant and a contact or company */ interface ApplicantContactRelationshipModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the applicant relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the applicant */ applicantId?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this relationship should be regarded as the main relationship for the parent applicant entity */ isMain?: boolean; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; } interface ApplicantContactRelationshipModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the applicant relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the applicant */ applicantId?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this relationship should be regarded as the main relationship for the parent applicant entity */ isMain?: boolean; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * The applicant's outdoor space requirements */ interface ApplicantExternalAreaModel { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; } /** * Details of regional information specific to Guernsey */ interface ApplicantGuernseyModel { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; } /** * The applicant's indoor space requirements */ interface ApplicantInternalAreaModel { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; } /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ interface ApplicantLeaseRemaining { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; } /** * Representation of an applicant */ interface ApplicantModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the applicant */ id?: string; /** * The date and time when the applicant was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the applicant was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Indicates whether the applicant is look to buy or rent a property (buying/renting) */ marketingMode?: string; /** * The ISO-4217 currency code that relates to monetary amounts specified by the applicant */ currency?: string; /** * A flag determining whether or not the applicant is actively looking for a property */ active?: boolean; /** * A free text field describing any adhoc buying or renting requirements */ notes?: string; /** * The applicant's selling status (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ sellingStatus?: string; /** * The applicant's selling position (nothingToSell/renting/sellingWithUs/sellingWithOtherAgent/sellingPrivately/notYetOnMarket) */ sellingPosition?: string; /** * The status id of the applicant */ statusId?: string; /** * The date when the applicant was last contacted * example: * 2019-08-14 */ lastCall?: string; /** * The date when the applicant is next due to be contacted * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the department the applicant is associated with. The applicant will only match to properties with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId?: string; /** * The unique identifier of the solicitor associated to the applicant */ solicitorId?: string; /** * A flag determining whether or not the applicant is a potential client */ potentialClient?: boolean; /** * The applicant's property type requirements (eg house, bungalow, land), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ type?: string[]; /** * The applicant's property style requirements (eg detached, semiDetached), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ style?: string[]; /** * The applicant's requirements for other aspects of prospective properties - such as outside space - as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situation?: string[]; /** * The applicant's parking requirements (eg garage), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parking?: string[]; /** * The applicant's property age requirements (eg new, period), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ age?: string[]; /** * The applicant's general property location requirements (eg rural, townCity), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ locality?: string[]; /** * The applicant's special feature property requirements (eg swimmingPool, tennisCourt), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The requirements associated to the applicant which are not currently mapped. These are defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ unmappedRequirements?: { /** * The type of unmapped requirement */ type?: string; /** * The value associated to the unmapped type */ value?: string; }[]; /** * The minimum number of bedrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMin?: number; /** * The maximum number of bedrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMax?: number; /** * The minimum number of reception rooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMin?: number; /** * The maximum number of reception rooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMax?: number; /** * The minimum number of bathrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMin?: number; /** * The maximum number of bathrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMax?: number; /** * The minimum number of parking spaces the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpacesMin?: number; /** * The maximum number of parking spaces the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpacesMax?: number; /** * The applicant's location type (areas/addresses/none) */ locationType?: string; /** * The applicant's location options */ locationOptions?: string[]; /** * The date and time the applicant was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag denoting whether or not this applicant is archived */ fromArchive?: boolean; /** * The details specific to applicants with a marketingMode of buying */ buying?: { /** * The lower bound of the applicant's budget */ priceFrom?: number; /** * The upper bound of the applicant's budget */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14 */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; }; /** * The details specific to applicants with a marketingMode of renting */ renting?: { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget */ rentFrom?: number; /** * The upper bound of the applicant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually) */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department. Only applicable to applicants with a marketingMode of renting */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; }; /** * The applicant's outdoor space requirements */ externalArea?: { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; }; /** * The applicant's indoor space requirements */ internalArea?: { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; }; /** * An applicant's source of enquiry */ source?: { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * An applicant's commercial details */ commercial?: { /** * The commercial use requirements (eg a1, a2, b1), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; }; /** * A collection of unique identifiers of offices attached to the applicant. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the applicant. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of contacts and/or companies associated to the applicant. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the applicant */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the applicant. Used for managing update concurrency */ readonly _eTag?: string; } interface ApplicantModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the applicant */ id?: string; /** * The date and time when the applicant was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the applicant was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Indicates whether the applicant is look to buy or rent a property (buying/renting) */ marketingMode?: string; /** * The ISO-4217 currency code that relates to monetary amounts specified by the applicant */ currency?: string; /** * A flag determining whether or not the applicant is actively looking for a property */ active?: boolean; /** * A free text field describing any adhoc buying or renting requirements */ notes?: string; /** * The applicant's selling status (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ sellingStatus?: string; /** * The applicant's selling position (nothingToSell/renting/sellingWithUs/sellingWithOtherAgent/sellingPrivately/notYetOnMarket) */ sellingPosition?: string; /** * The status id of the applicant */ statusId?: string; /** * The date when the applicant was last contacted * example: * 2019-08-14 */ lastCall?: string; /** * The date when the applicant is next due to be contacted * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the department the applicant is associated with. The applicant will only match to properties with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId?: string; /** * The unique identifier of the solicitor associated to the applicant */ solicitorId?: string; /** * A flag determining whether or not the applicant is a potential client */ potentialClient?: boolean; /** * The applicant's property type requirements (eg house, bungalow, land), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ type?: string[]; /** * The applicant's property style requirements (eg detached, semiDetached), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ style?: string[]; /** * The applicant's requirements for other aspects of prospective properties - such as outside space - as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situation?: string[]; /** * The applicant's parking requirements (eg garage), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parking?: string[]; /** * The applicant's property age requirements (eg new, period), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ age?: string[]; /** * The applicant's general property location requirements (eg rural, townCity), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ locality?: string[]; /** * The applicant's special feature property requirements (eg swimmingPool, tennisCourt), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The requirements associated to the applicant which are not currently mapped. These are defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ unmappedRequirements?: { /** * The type of unmapped requirement */ type?: string; /** * The value associated to the unmapped type */ value?: string; }[]; /** * The minimum number of bedrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMin?: number; /** * The maximum number of bedrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMax?: number; /** * The minimum number of reception rooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMin?: number; /** * The maximum number of reception rooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMax?: number; /** * The minimum number of bathrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMin?: number; /** * The maximum number of bathrooms the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMax?: number; /** * The minimum number of parking spaces the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpacesMin?: number; /** * The maximum number of parking spaces the applicant requires. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpacesMax?: number; /** * The applicant's location type (areas/addresses/none) */ locationType?: string; /** * The applicant's location options */ locationOptions?: string[]; /** * The date and time the applicant was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag denoting whether or not this applicant is archived */ fromArchive?: boolean; /** * The details specific to applicants with a marketingMode of buying */ buying?: { /** * The lower bound of the applicant's budget */ priceFrom?: number; /** * The upper bound of the applicant's budget */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14 */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; }; /** * The details specific to applicants with a marketingMode of renting */ renting?: { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget */ rentFrom?: number; /** * The upper bound of the applicant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually) */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department. Only applicable to applicants with a marketingMode of renting */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; }; /** * The applicant's outdoor space requirements */ externalArea?: { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; }; /** * The applicant's indoor space requirements */ internalArea?: { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; }; /** * An applicant's source of enquiry */ source?: { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * An applicant's commercial details */ commercial?: { /** * The commercial use requirements (eg a1, a2, b1), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; }; /** * A collection of unique identifiers of offices attached to the applicant. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the applicant. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of contacts and/or companies associated to the applicant. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the applicant */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the applicant. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface ApplicantRegionalModel { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; } /** * The details specific to applicants with a marketingMode of renting */ interface ApplicantRentingModel { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget */ rentFrom?: number; /** * The upper bound of the applicant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually) */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department. Only applicable to applicants with a marketingMode of renting */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; } /** * An applicant's source of enquiry */ interface ApplicantSourceModel { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; } interface Applicants { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('appointments' | 'areas' | 'department' | 'documents' | 'negotiators' | 'offers' | 'offices' | 'solicitor' | 'source')[]; id?: string[]; age?: ('period' | 'new' | 'modern' | 'old')[]; contactDetail?: string[]; emailAddresses?: string[]; furnishing?: ('furnished' | 'unfurnished' | 'partFurnished')[]; locality?: ('rural' | 'village' | 'townCity')[]; negotiatorId?: string[]; officeId?: string[]; parking?: ('residents' | 'offStreet' | 'secure' | 'underground' | 'garage' | 'doubleGarage' | 'tripleGarage' | 'carport')[]; situation?: ('garden' | 'land' | 'patio' | 'roofTerrace' | 'conservatory' | 'balcony' | 'communalGardens' | 'outsideSpace')[]; style?: ('terraced' | 'endTerrace' | 'detached' | 'semiDetached' | 'linkDetached' | 'mews' | 'basement' | 'lowerGroundFloor' | 'groundFloor' | 'firstFloor' | 'upperFloor' | 'upperFloorWithLift' | 'penthouse' | 'duplex')[]; type?: ('house' | 'bungalow' | 'flatApartment' | 'maisonette' | 'land' | 'farm' | 'cottage' | 'studio' | 'townhouse' | 'developmentPlot')[]; market?: ('local' | 'openA' | 'openB' | 'openC' | 'openD')[]; address?: string; departmentId?: string; marketingMode?: ('buying' | 'renting')[]; name?: string; nameType?: ('surname' | 'initials' | 'full' | 'companyName')[]; priceFrom?: number; priceTo?: number; rentFrom?: number; rentTo?: number; rentFrequency?: ('weekly' | 'monthly' | 'annually')[]; bedroomsFrom?: number; bedroomsTo?: number; active?: boolean; fromArchive?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; hasLastCall?: boolean; lastCallFrom?: string; lastCallTo?: string; nextCallFrom?: string; nextCallTo?: string; hasNextCall?: boolean; metadata?: string[]; locationOptions?: string; } /** * An appointment attendee */ interface AppointmentAttendeeModel { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee */ type?: string; /** * A collection of contacts relating to the attendee */ contacts?: { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; }[]; } /** * A summarised view of the details of a contact associated to an appointment attendee */ interface AppointmentContactModel { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; } /** * A view of the documents associated to the appointment */ interface AppointmentDocumentModel { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; } /** * Follow up information relating to an appointment */ interface AppointmentFollowUpModel { /** * The date when the appointment should be followed up * example: * 2019-08-14 */ due?: string; /** * The unique identifier of a pre-defined follow up response type */ responseId?: string; /** * Free text internal follow up notes to be stored against the appointment */ notes?: string; } /** * Representation of a calendar appointment */ interface AppointmentModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the appointment */ id?: string; /** * The date and time when the appointment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the appointment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date and time when the appointment will start * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The date and time when the appointment will end * example: * 2019-08-14T12:30:02Z */ end?: string; /** * The unique identifier of the appointment type */ typeId?: string; /** * A free text description about the appointment */ description?: string; /** * A flag denoting whether or not the appointment recurs */ recurring?: boolean; /** * Representation of an appointments recurrence details */ recurrence?: { /** * The recurrence interval */ interval?: number; /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The date the appointment recurs until * example: * 2019-08-14T12:30:02Z */ until?: string; }; /** * A flag denoting whether or not the appointment has been cancelled */ cancelled?: boolean; /** * Follow up information relating to an appointment */ followUp?: { /** * The date when the appointment should be followed up * example: * 2019-08-14 */ due?: string; /** * The unique identifier of a pre-defined follow up response type */ responseId?: string; /** * Free text internal follow up notes to be stored against the appointment */ notes?: string; }; /** * The unique identifier of the property related to the appointment */ propertyId?: string; /** * The unique identifier of the negotiator that organised the appointment */ organiserId?: string; /** * A collection of unique identifiers of negotiators attached to the appointment. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of unique identifiers of offices attached to the appointment. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * An appointment attendee */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee */ type?: string; /** * A collection of contacts relating to the attendee */ contacts?: { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; }[]; }; /** * The attendance status of the appointment (notSet/noShow/attended) */ attended?: string; /** * A flag denoting whether or not the appointment will be accompanied by one or more negotiators */ accompanied?: boolean; /** * A flag denoting whether or not the appointment is a subsequent appointment to a previous one (a repeat appointment for the same attendee) */ isRepeat?: boolean; /** * A flag denoting whether or not the appointment is virtual */ virtual?: boolean; /** * A flag denoting whether or not the main negotiator has confirmed their attendance */ negotiatorConfirmed?: boolean; /** * A flag denoting whether or not the attendee has confirmed their attendance */ attendeeConfirmed?: boolean; /** * A flag denoting whether or not the property and/or property's vendor has confirmed their attendance */ propertyConfirmed?: boolean; /** * A flag determining whether or not the appointment is archived */ fromArchive?: boolean; /** * The unique identifier of the external company either carrying out or attending the appointment with the agent */ otherAgentId?: string; /** * A view of the documents associated to the appointment */ documents?: { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; }; /** * App specific metadata that has been set against the appointment */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the appointment. Used for managing update concurrency */ readonly _eTag?: string; } interface AppointmentModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the appointment */ id?: string; /** * The date and time when the appointment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the appointment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date and time when the appointment will start * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The date and time when the appointment will end * example: * 2019-08-14T12:30:02Z */ end?: string; /** * The unique identifier of the appointment type */ typeId?: string; /** * A free text description about the appointment */ description?: string; /** * A flag denoting whether or not the appointment recurs */ recurring?: boolean; /** * Representation of an appointments recurrence details */ recurrence?: { /** * The recurrence interval */ interval?: number; /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The date the appointment recurs until * example: * 2019-08-14T12:30:02Z */ until?: string; }; /** * A flag denoting whether or not the appointment has been cancelled */ cancelled?: boolean; /** * Follow up information relating to an appointment */ followUp?: { /** * The date when the appointment should be followed up * example: * 2019-08-14 */ due?: string; /** * The unique identifier of a pre-defined follow up response type */ responseId?: string; /** * Free text internal follow up notes to be stored against the appointment */ notes?: string; }; /** * The unique identifier of the property related to the appointment */ propertyId?: string; /** * The unique identifier of the negotiator that organised the appointment */ organiserId?: string; /** * A collection of unique identifiers of negotiators attached to the appointment. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of unique identifiers of offices attached to the appointment. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * An appointment attendee */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee */ type?: string; /** * A collection of contacts relating to the attendee */ contacts?: { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; }[]; }; /** * The attendance status of the appointment (notSet/noShow/attended) */ attended?: string; /** * A flag denoting whether or not the appointment will be accompanied by one or more negotiators */ accompanied?: boolean; /** * A flag denoting whether or not the appointment is a subsequent appointment to a previous one (a repeat appointment for the same attendee) */ isRepeat?: boolean; /** * A flag denoting whether or not the appointment is virtual */ virtual?: boolean; /** * A flag denoting whether or not the main negotiator has confirmed their attendance */ negotiatorConfirmed?: boolean; /** * A flag denoting whether or not the attendee has confirmed their attendance */ attendeeConfirmed?: boolean; /** * A flag denoting whether or not the property and/or property's vendor has confirmed their attendance */ propertyConfirmed?: boolean; /** * A flag determining whether or not the appointment is archived */ fromArchive?: boolean; /** * The unique identifier of the external company either carrying out or attending the appointment with the agent */ otherAgentId?: string; /** * A view of the documents associated to the appointment */ documents?: { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; }; /** * App specific metadata that has been set against the appointment */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the appointment. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Appointments { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('negotiators' | 'offices' | 'organiser' | 'property' | 'type')[]; id?: string[]; typeId?: string[]; negotiatorId?: string[]; officeId?: string[]; propertyId?: string[]; attendeeId?: string[]; attendeeType?: ('applicant' | 'contact' | 'landlord' | 'tenancy')[]; start?: string; end?: string; includeCancelled?: boolean; includeUnconfirmed?: boolean; fromArchive?: boolean; followUpFrom?: string; followUpTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; extrasField?: string[]; metadata?: string[]; } /** * Representation of an area that properties reside in, or applicants are looking to buy/rent in */ interface AreaModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the area */ id?: string; /** * The date and time when the area was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the area was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the area */ name?: string; /** * A flag denoting whether the area can currently be selected against properties and applicants */ active?: boolean; /** * The type of area (postcodes/polygon/group) */ type?: string; /** * The location details (comma delimited list of postcodes, group ids or lat/long coordinate groups) */ area?: string[]; /** * A collection of unique identifiers of departments associated to the area */ departmentIds?: string[]; /** * A collection of unique identifiers of offices attached to the area. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of parent area groups that this area is part of * This information can be used to understand the area hierarchy in a customer's system */ parentIds?: string[]; /** * The ETag for the current version of the area. Used for managing update concurrency */ readonly _eTag?: string; } interface AreaModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the area */ id?: string; /** * The date and time when the area was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the area was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the area */ name?: string; /** * A flag denoting whether the area can currently be selected against properties and applicants */ active?: boolean; /** * The type of area (postcodes/polygon/group) */ type?: string; /** * The location details (comma delimited list of postcodes, group ids or lat/long coordinate groups) */ area?: string[]; /** * A collection of unique identifiers of departments associated to the area */ departmentIds?: string[]; /** * A collection of unique identifiers of offices attached to the area. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of parent area groups that this area is part of * This information can be used to understand the area hierarchy in a customer's system */ parentIds?: string[]; /** * The ETag for the current version of the area. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Areas { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; departmentId?: string[]; officeId?: string[]; name?: string; active?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Model for exposing error details to API consumers */ interface CertificateApiErrorModel { statusCode?: 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511; /** * The date and time that this error event occurred * example: * 2019-08-14T12:30:02Z */ dateTime?: string; /** * The detailed information regarding this error event */ description?: string; } interface CertificateModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the certificate. */ id?: string; /** * The date and time when the certificate was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the certificate was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property associated with this certificate. */ propertyId?: string; /** * The unique identifier of the estate associated with this certificate. */ estateId?: string; /** * The unique identifier of the block associated with this certificate. */ blockId?: string; /** * The unique identifier of the company which provides this certificate. */ companyId?: string; /** * The cartificate category. */ category?: string; /** * The type of certificate. */ type?: string; /** * The status ID of the certificate. */ statusId?: string; /** * General notes relating to the certificate. */ notes?: string; /** * The start date. * example: * 2019-08-14T12:30:02Z */ startDate?: string; /** * The end date. * example: * 2019-08-14T12:30:02Z */ endDate?: string; } interface CertificateModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the certificate. */ id?: string; /** * The date and time when the certificate was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the certificate was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property associated with this certificate. */ propertyId?: string; /** * The unique identifier of the estate associated with this certificate. */ estateId?: string; /** * The unique identifier of the block associated with this certificate. */ blockId?: string; /** * The unique identifier of the company which provides this certificate. */ companyId?: string; /** * The cartificate category. */ category?: string; /** * The type of certificate. */ type?: string; /** * The status ID of the certificate. */ statusId?: string; /** * General notes relating to the certificate. */ notes?: string; /** * The start date. * example: * 2019-08-14T12:30:02Z */ startDate?: string; /** * The end date. * example: * 2019-08-14T12:30:02Z */ endDate?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Record describing the responsible party for a given type of certificate within a property entry */ interface CertificateResponsiblePartyModel { /** * Identifier for the type of certificate for which the party is responsible */ typeId?: string; /** * The party responsible for the specified certificate type (landlord/agent/notRequired/notSet) */ responsibleParty?: string; } /** * Representation of a certificate type */ interface CertificateTypeModel { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; /** * The configurable statuses associated to the certificate type */ statuses?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; } interface Certificates { pageNumber?: number; pageSize?: number; sortBy?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Representation of an invoice charge */ interface ChargeModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the charge */ id?: string; /** * The date and time when the charge was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the charge was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of charge (charge/advertising) */ type?: string; /** * The unique identifier of the invoice with which this charge is associated */ invoiceId?: string; /** * The unique identifier of the property with which this charge is associated */ propertyId?: string; /** * The unique identifier of the negotiator with which this charge is associated */ negotiatorId?: string; /** * The code representing the VAT applied to this charge */ vatCode?: string; /** * Description of the charge */ description?: string; /** * The net amount */ netAmount?: number; /** * The VAT amount */ vatAmount?: number; } interface ChargeModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the charge */ id?: string; /** * The date and time when the charge was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the charge was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of charge (charge/advertising) */ type?: string; /** * The unique identifier of the invoice with which this charge is associated */ invoiceId?: string; /** * The unique identifier of the property with which this charge is associated */ propertyId?: string; /** * The unique identifier of the negotiator with which this charge is associated */ negotiatorId?: string; /** * The code representing the VAT applied to this charge */ vatCode?: string; /** * Description of the charge */ description?: string; /** * The net amount */ netAmount?: number; /** * The VAT amount */ vatAmount?: number; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Request body used for checking in a key * example: * [object Object] */ interface CheckInKeyModel { /** * The unique identifier of the negotiator who performed the key check in */ checkInNegotiatorId?: string; } /** * Representation of a check list item */ interface CheckListItemModel { /** * The name of the check list item */ name?: string; /** * A flag to determine if the item is completed */ completed?: boolean; /** * The date when the item was completed * example: * 2019-08-14 */ completedDate?: string; } interface Companies { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('companyTypes' | 'relationships')[]; id?: string[]; address?: string; branch?: string; name?: string; typeId?: string; negotiatorId?: string[]; officeId?: string[]; contactDetail?: string[]; fromArchive?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; } /** * Representation of the physical address of a building or premise */ interface CompanyAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ country?: string; } /** * Representation of a company */ interface CompanyModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the company */ id?: string; /** * The date and time when the company was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the company was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the company */ name?: string; /** * The branch name of the company */ branch?: string; /** * A free text field containing notes that describe the company's business or service offering */ notes?: string; /** * A flag determining whether or not the company is currently active */ active?: boolean; /** * The marketing consent status of the company (deny/notAsked) */ marketingConsent?: string; /** * A flag determining whether or not the company is VAT registered */ vatRegistered?: boolean; /** * A collection of unique identifiers of company types that categorise the type of business the company operates */ typeIds?: string[]; /** * The unique identifier of a supplier type, if the company is a supplier */ supplierTypeId?: string; /** * The work phone number of the company */ workPhone?: string; /** * The mobile phone number of the company */ mobilePhone?: string; /** * The email address of the company */ email?: string; /** * The date and time the company was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the company is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ country?: string; }; /** * Representation of the payments and terms configuration for a company */ payments?: { /** * The identifier of the nominal code selected in the payments and terms configuration */ nominalAccountId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * A collection of unique identifiers of offices attached to the company. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the company. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A flag determining whether or not the company is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the company is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the company is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the company is happy to receive communications by SMS */ communicationPreferenceSms?: boolean; /** * App specific metadata that has been set against the company */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the company. Used for managing update concurrency */ readonly _eTag?: string; /** * A list of relationships belonging to the company. This is later removed from the response */ relationships?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related company */ companyId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; } interface CompanyModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the company */ id?: string; /** * The date and time when the company was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the company was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the company */ name?: string; /** * The branch name of the company */ branch?: string; /** * A free text field containing notes that describe the company's business or service offering */ notes?: string; /** * A flag determining whether or not the company is currently active */ active?: boolean; /** * The marketing consent status of the company (deny/notAsked) */ marketingConsent?: string; /** * A flag determining whether or not the company is VAT registered */ vatRegistered?: boolean; /** * A collection of unique identifiers of company types that categorise the type of business the company operates */ typeIds?: string[]; /** * The unique identifier of a supplier type, if the company is a supplier */ supplierTypeId?: string; /** * The work phone number of the company */ workPhone?: string; /** * The mobile phone number of the company */ mobilePhone?: string; /** * The email address of the company */ email?: string; /** * The date and time the company was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the company is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ country?: string; }; /** * Representation of the payments and terms configuration for a company */ payments?: { /** * The identifier of the nominal code selected in the payments and terms configuration */ nominalAccountId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * A collection of unique identifiers of offices attached to the company. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the company. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A flag determining whether or not the company is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the company is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the company is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the company is happy to receive communications by SMS */ communicationPreferenceSms?: boolean; /** * App specific metadata that has been set against the company */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the company. Used for managing update concurrency */ readonly _eTag?: string; /** * A list of relationships belonging to the company. This is later removed from the response */ relationships?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related company */ companyId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the payments and terms configuration for a company */ interface CompanyPaymentsModel { /** * The identifier of the nominal code selected in the payments and terms configuration */ nominalAccountId?: string; } /** * Representation of the roles that an individual companies possesses */ interface CompanyRoleModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related company */ companyId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; } interface CompanyRoleModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related company */ companyId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface ConfigurationApplicantStatuses { id?: string[]; } interface ConfigurationCompanyTypes { id?: string[]; } interface ConfigurationContactCategories { id?: string[]; } interface ConfigurationPortalTypes { id?: string[]; } interface ConfigurationPreTenancyCheckTypes { active?: boolean; officeId?: string[]; } interface ConfigurationRenewalCheckTypes { active?: boolean; officeId?: string[]; } interface ConfigurationTenancyRenewalOptionConditions { id?: string[]; } interface ConfigurationTenancyRenewalOptions { id?: string[]; } interface ConfigurationTypes { type?: ('agencyTypes' | 'appointmentTypes' | 'applicantStatuses' | 'boardStatuses' | 'buyingPositions' | 'buyingReasons' | 'certificateTypes' | 'companyTypes' | 'contactCategories' | 'identityDocumentTypes' | 'documentTypes' | 'journalEntryTypes' | 'keyTypes' | 'followUpResponses' | 'sellingReasons' | 'rentInsuranceCancellationReasons' | 'rentingPositions' | 'supplierTypes' | 'taskTypes' | 'tenancyLegalStatuses' | 'tenancyTypes' | 'vendorTypes' | 'worksOrderTypes')[]; } /** * Representation of the physical address of a building or premise */ interface ContactAddressModel { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; } /** * Representation of an individual contact */ interface ContactModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the contact */ id?: string; /** * The date and time when the contact was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the contact was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The contact's date of birth * example: * 2019-08-14 */ dateOfBirth?: string; /** * A flag determining whether or not the contact is currently active */ active?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * The status of the last identity check performed against the contact (pass/fail/pending/cancelled/warnings/unchecked) */ identityCheck?: string; /** * Representation of a contact's source */ source?: { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The date and time the contact was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the contact is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Representation of the physical address of a building or premise */ secondaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Representation of the physical address of a building or premise */ workAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A collection of unique identifiers of offices attached to the contact. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the contact. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of categories associated to the contact. */ categoryIds?: string[]; /** * A flag determining whether or not the contact is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by SMS */ communicationPreferenceSMS?: boolean; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * App specific metadata that has been set against the contact */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the contact. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * A list of relationships belonging to the contact. This is later removed from the response */ relationships?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related contact */ contactId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; } interface ContactModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the contact */ id?: string; /** * The date and time when the contact was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the contact was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The contact's date of birth * example: * 2019-08-14 */ dateOfBirth?: string; /** * A flag determining whether or not the contact is currently active */ active?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * The status of the last identity check performed against the contact (pass/fail/pending/cancelled/warnings/unchecked) */ identityCheck?: string; /** * Representation of a contact's source */ source?: { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The date and time the contact was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the contact is archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Representation of the physical address of a building or premise */ secondaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Representation of the physical address of a building or premise */ workAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A collection of unique identifiers of offices attached to the contact. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the contact. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of categories associated to the contact. */ categoryIds?: string[]; /** * A flag determining whether or not the contact is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by SMS */ communicationPreferenceSMS?: boolean; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * App specific metadata that has been set against the contact */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the contact. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * A list of relationships belonging to the contact. This is later removed from the response */ relationships?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related contact */ contactId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the roles that an individual contacts possesses */ interface ContactRoleModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related contact */ contactId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; } interface ContactRoleModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the related contact */ contactId?: string; /** * The type of related entity (applicant/landlord/offer/tenancy/vendor) */ associatedType?: string; /** * The unique identifier of the related entity */ associatedId?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a contact's source */ interface ContactSourceModel { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Representation of an individual contact subscription */ interface ContactSubscriptionModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the subscription */ id?: string; /** * The unique identifier of the contact the subscription is associated with */ contactId?: string; /** * The name of the subscription */ name?: string; /** * The name of the group this subscription belongs to, if applicable */ group?: string; /** * The status of the subscription (subscribed/unsubscribed) */ status?: string; /** * The type of subscription (mailing/event) */ type?: string; /** * The date and time when the subscription was started for the associated contact * example: * 2019-08-14T12:30:02Z */ subscribedOn?: string; /** * The date and time when the subscription was terminated for the associated contact * example: * 2019-08-14T12:30:02Z */ unsubscribedOn?: string; } interface ContactSubscriptionModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the subscription */ id?: string; /** * The unique identifier of the contact the subscription is associated with */ contactId?: string; /** * The name of the subscription */ name?: string; /** * The name of the group this subscription belongs to, if applicable */ group?: string; /** * The status of the subscription (subscribed/unsubscribed) */ status?: string; /** * The type of subscription (mailing/event) */ type?: string; /** * The date and time when the subscription was started for the associated contact * example: * 2019-08-14T12:30:02Z */ subscribedOn?: string; /** * The date and time when the subscription was terminated for the associated contact * example: * 2019-08-14T12:30:02Z */ unsubscribedOn?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Contacts { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('documents' | 'identityChecks' | 'negotiators' | 'offices' | 'relationships' | 'source')[]; id?: string[]; contactDetail?: string[]; email?: string[]; negotiatorId?: string[]; officeId?: string[]; address?: string; identityCheck?: ('pass' | 'fail' | 'pending' | 'warnings' | 'unchecked')[]; name?: string; nameType?: string; marketingConsent?: ('grant' | 'deny' | 'notAsked')[]; marketingConsentFilterType?: ('assumedOrExplicit' | 'explicit')[]; active?: boolean; fromArchive?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; extrasField?: string[]; } interface Conveyancing { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; propertyId?: string[]; buyerId?: string[]; embed?: ('buyerSolicitor' | 'offer' | 'property' | 'vendor' | 'vendorSolicitor')[]; metadata?: string[]; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Representation of an offers sales progression information */ interface ConveyancingModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the offer */ id?: string; /** * The date and time when the offer was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the offer was modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Flag set to true if this offer is external */ isExternal?: boolean; /** * The unique identifier of the property that this offer is associated to. Empty if the offer is external and relates to a property not instructed to the agent */ propertyId?: string; /** * The address of the property that this offer is associated to */ propertyAddress?: string; /** * The full name of the vendor of the property */ vendor?: string; /** * The unique identifier of the vendor that this offer is associated to. Empty if the offer is external and relates to a property not instructed to the agent */ vendorId?: string; /** * The unique identifier of the solicitor / conveyancer that the vendor has instructed */ vendorSolicitorId?: string; /** * The full name of the buyer who has submitted the offer */ buyer?: string; /** * The unique identifier of the contact that represents this buyer. Empty if the offer is external and relates to a property not instructed to the agent */ buyerId?: string; /** * The unique identifier of the solicitor / conveyancer that the buyer has instructed */ buyerSolicitorId?: string; /** * The name of the agent who is marketing the property, where the offer is external and and relates to a property not instructed to the agent */ externalAgent?: string; /** * The unique identifier of the agent company that holds the property instruction */ externalAgentId?: string; /** * The unique identifier of the offer that sits above this one in the chain (where known) */ upwardChainId?: string; /** * The unique identifier of the offer that sits below this one in the chain (where known) */ downwardChainId?: string; /** * The date when the fixtures and fittings form has been completed * example: * 2019-08-14 */ fixturesAndFittingsCompleted?: string; /** * The date when the title deeds were requested from land registry * example: * 2019-08-14 */ deedsRequested?: string; /** * The date when the title deeds were received from land registry * example: * 2019-08-14 */ deedsReceived?: string; /** * The date when the legal enquiries raised by the buyers solicitor were sent * example: * 2019-08-14 */ enquiriesSent?: string; /** * The date when the legal enquiries raised by the buyers solicitor were answered * example: * 2019-08-14 */ enquiriesAnswered?: string; /** * The date when the buyer paid for conveyancing searches * example: * 2019-08-14 */ searchesPaid?: string; /** * The date when conveyancing searches were applied for * example: * 2019-08-14 */ searchesApplied?: string; /** * The date when conveyancing searches were received for * example: * 2019-08-14 */ searchesReceived?: string; /** * The date when the draft contract was sent * example: * 2019-08-14 */ contractSent?: string; /** * The date when the draft contract was received * example: * 2019-08-14 */ contractReceived?: string; /** * The date when the contract was approved * example: * 2019-08-14 */ contractApproved?: string; /** * The date when the vendor signed the approved contract * example: * 2019-08-14 */ contractVendorSigned?: string; /** * The date when the buyer signed the approved contract * example: * 2019-08-14 */ contractBuyerSigned?: string; /** * Indication of whether the buyer will require a mortgage to fund the purchase (yes/no/unknown) */ mortgageRequired?: string; /** * The loan to value percentage of the mortgage required */ mortgageLoanPercentage?: number; /** * The date when the mortgage application was submitted * example: * 2019-08-14 */ mortgageSubmitted?: string; /** * The date when the mortgage offer was received * example: * 2019-08-14 */ mortgageOfferReceived?: string; /** * The unique identifier of the company who will provide the mortgage */ mortgageLenderId?: string; /** * The unique identifier of the company who brokered the mortgage */ mortgageBrokerId?: string; /** * The date of the mortgage valuation/survey * example: * 2019-08-14 */ mortgageSurveyDate?: string; /** * The unique identifier of the company who will perform the mortgage valuation/survey */ mortgageSurveyorId?: string; /** * Indication of whether the buyer requires that an additional survey take place (yes/no/unknown) */ additionalSurveyRequired?: string; /** * The date of the additional survey * example: * 2019-08-14 */ additionalSurveyDate?: string; /** * The unique identifier of the company who will perform the additional survey */ additionalSurveyorId?: string; /** * The date when the vendor conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedVendor?: string; /** * The date when the buyer conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedBuyer?: string; /** * The date when the sale completed * example: * 2019-08-14 */ completion?: string; /** * Check list items to be completed as part of the sales progression process */ checkListItems?: { /** * The name of the check list item */ name?: string; /** * A flag to determine if the item is completed */ completed?: boolean; /** * The date when the item was completed * example: * 2019-08-14 */ completedDate?: string; }[]; /** * The ETag for the current version of this conveyancing record. Used for managing update concurrency */ readonly _eTag?: string; /** * App specific metadata that has been set against this conveyancing record */ metadata?: { [name: string]: any; }; } interface ConveyancingModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the offer */ id?: string; /** * The date and time when the offer was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the offer was modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Flag set to true if this offer is external */ isExternal?: boolean; /** * The unique identifier of the property that this offer is associated to. Empty if the offer is external and relates to a property not instructed to the agent */ propertyId?: string; /** * The address of the property that this offer is associated to */ propertyAddress?: string; /** * The full name of the vendor of the property */ vendor?: string; /** * The unique identifier of the vendor that this offer is associated to. Empty if the offer is external and relates to a property not instructed to the agent */ vendorId?: string; /** * The unique identifier of the solicitor / conveyancer that the vendor has instructed */ vendorSolicitorId?: string; /** * The full name of the buyer who has submitted the offer */ buyer?: string; /** * The unique identifier of the contact that represents this buyer. Empty if the offer is external and relates to a property not instructed to the agent */ buyerId?: string; /** * The unique identifier of the solicitor / conveyancer that the buyer has instructed */ buyerSolicitorId?: string; /** * The name of the agent who is marketing the property, where the offer is external and and relates to a property not instructed to the agent */ externalAgent?: string; /** * The unique identifier of the agent company that holds the property instruction */ externalAgentId?: string; /** * The unique identifier of the offer that sits above this one in the chain (where known) */ upwardChainId?: string; /** * The unique identifier of the offer that sits below this one in the chain (where known) */ downwardChainId?: string; /** * The date when the fixtures and fittings form has been completed * example: * 2019-08-14 */ fixturesAndFittingsCompleted?: string; /** * The date when the title deeds were requested from land registry * example: * 2019-08-14 */ deedsRequested?: string; /** * The date when the title deeds were received from land registry * example: * 2019-08-14 */ deedsReceived?: string; /** * The date when the legal enquiries raised by the buyers solicitor were sent * example: * 2019-08-14 */ enquiriesSent?: string; /** * The date when the legal enquiries raised by the buyers solicitor were answered * example: * 2019-08-14 */ enquiriesAnswered?: string; /** * The date when the buyer paid for conveyancing searches * example: * 2019-08-14 */ searchesPaid?: string; /** * The date when conveyancing searches were applied for * example: * 2019-08-14 */ searchesApplied?: string; /** * The date when conveyancing searches were received for * example: * 2019-08-14 */ searchesReceived?: string; /** * The date when the draft contract was sent * example: * 2019-08-14 */ contractSent?: string; /** * The date when the draft contract was received * example: * 2019-08-14 */ contractReceived?: string; /** * The date when the contract was approved * example: * 2019-08-14 */ contractApproved?: string; /** * The date when the vendor signed the approved contract * example: * 2019-08-14 */ contractVendorSigned?: string; /** * The date when the buyer signed the approved contract * example: * 2019-08-14 */ contractBuyerSigned?: string; /** * Indication of whether the buyer will require a mortgage to fund the purchase (yes/no/unknown) */ mortgageRequired?: string; /** * The loan to value percentage of the mortgage required */ mortgageLoanPercentage?: number; /** * The date when the mortgage application was submitted * example: * 2019-08-14 */ mortgageSubmitted?: string; /** * The date when the mortgage offer was received * example: * 2019-08-14 */ mortgageOfferReceived?: string; /** * The unique identifier of the company who will provide the mortgage */ mortgageLenderId?: string; /** * The unique identifier of the company who brokered the mortgage */ mortgageBrokerId?: string; /** * The date of the mortgage valuation/survey * example: * 2019-08-14 */ mortgageSurveyDate?: string; /** * The unique identifier of the company who will perform the mortgage valuation/survey */ mortgageSurveyorId?: string; /** * Indication of whether the buyer requires that an additional survey take place (yes/no/unknown) */ additionalSurveyRequired?: string; /** * The date of the additional survey * example: * 2019-08-14 */ additionalSurveyDate?: string; /** * The unique identifier of the company who will perform the additional survey */ additionalSurveyorId?: string; /** * The date when the vendor conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedVendor?: string; /** * The date when the buyer conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedBuyer?: string; /** * The date when the sale completed * example: * 2019-08-14 */ completion?: string; /** * Check list items to be completed as part of the sales progression process */ checkListItems?: { /** * The name of the check list item */ name?: string; /** * A flag to determine if the item is completed */ completed?: boolean; /** * The date when the item was completed * example: * 2019-08-14 */ completedDate?: string; }[]; /** * The ETag for the current version of this conveyancing record. Used for managing update concurrency */ readonly _eTag?: string; /** * App specific metadata that has been set against this conveyancing record */ metadata?: { [name: string]: any; }; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * The model containing data for creating an alarm. * example: * [object Object] */ interface CreateAlarmModel { /** * The unique identifier of the category of the alarm. */ categoryId?: string; /** * The unique identifier of the type of the alarm. */ typeId?: string; /** * The location of the alarm. */ location?: string; /** * The date that the alarm was checked. * example: * 2019-08-14T12:30:02Z */ checkedDate?: string; /** * The base model for reading, creating or updating the entity that checked an alarm. */ checkedBy?: { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; }; /** * The date that the alarm is due to be serviced/reviewed. * example: * 2019-08-14T12:30:02Z */ serviceDate?: string; /** * The expiry date of the alarm. * example: * 2019-08-14T12:30:02Z */ expiryDate?: string; /** * Flag to determine whether this alarm has been removed. */ removed?: boolean; } /** * The details specific to applicants with a marketingMode of buying */ interface CreateApplicantBuyingModel { /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * The lower bound of the applicant's budget. (Required when 'marketingMode' is 'buying' and 'priceTo' is not provided) */ priceFrom?: number; /** * The upper bound of the applicant's budget. (Required when 'marketingMode' is 'buying' and 'priceFrom' is not provided) */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14T12:30:02Z */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; } /** * Request body used to create a relationship between an applicant and a contact or company */ interface CreateApplicantContactRelationshipModel { /** * The unique identifier of the contact or company to create a relationship with */ associatedId: string; /** * The type of relationship to create (contact/company) */ associatedType?: string; } /** * The applicant's outdoor space requirements */ interface CreateApplicantExternalAreaModel { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; } /** * Details of regional information specific to Guernsey */ interface CreateApplicantGuernseyModel { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; } /** * The applicant's indoor space requirements */ interface CreateApplicantInternalAreaModel { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; } /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ interface CreateApplicantLeaseRemaining { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; } /** * Request body used to create a new applicant * example: * [object Object] */ interface CreateApplicantModel { /** * Indicates whether the applicant is look to buy or rent a property (buying/renting) */ marketingMode: string; /** * The ISO-4217 currency code that relates to monetary amounts specified by the applicant * Where not specified this will default to the customer's base currency */ currency?: string; /** * A flag determining whether or not the applicant is actively looking for a property */ active?: boolean; /** * A free text field describing any adhoc buying or renting requirements */ notes?: string; /** * The status id of the applicant */ statusId?: string; /** * The applicant's selling status (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ sellingStatus?: string; /** * The applicant's selling position (nothingToSell/renting/sellingWithUs/sellingWithOtherAgent/sellingPrivately/notYetOnMarket) */ sellingPosition?: string; /** * The date when the applicant was last contacted * example: * 2019-08-14 */ lastCall?: string; /** * The date when the applicant is next due to be contacted * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the department the applicant is associated with. The applicant will only match to properties with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId: string; /** * The unique identifier of the solicitor associated to the applicant */ solicitorId?: string; /** * A flag determining whether or not the applicant is a potential client */ potentialClient?: boolean; /** * The applicant's property type requirements (eg house, bungalow, land), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ type?: string[]; /** * The applicant's property style requirements (eg detached, semiDetached), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ style?: string[]; /** * The applicant's requirements for other aspects of prospective properties - such as outside space - as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ situation?: string[]; /** * The applicant's parking requirements (eg garage), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parking?: string[]; /** * The applicant's property age requirements (eg new, period), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ age?: string[]; /** * The applicant's general property location requirements (eg rural, townCity), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ locality?: string[]; /** * The applicant's special feature property requirements (eg Swimming Pool, Tennis Court), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The minimum number of bedrooms the applicant requires */ bedroomsMin?: number; /** * The maximum number of bedrooms the applicant requires */ bedroomsMax?: number; /** * The minimum number of reception rooms the applicant requires */ receptionsMin?: number; /** * The maximum number of reception rooms the applicant requires */ receptionsMax?: number; /** * The minimum number of bathrooms the applicant requires */ bathroomsMin?: number; /** * The maximum number of bathrooms the applicant requires */ bathroomsMax?: number; /** * The minimum number of parking spaces the applicant requires */ parkingSpacesMin?: number; /** * The maximum number of parking spaces the applicant requires */ parkingSpacesMax?: number; /** * The applicant's location type (areas/addresses/none) */ locationType?: string; /** * The applicant's location options */ locationOptions?: string[]; /** * The details specific to applicants with a marketingMode of buying */ buying?: { /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * The lower bound of the applicant's budget. (Required when 'marketingMode' is 'buying' and 'priceTo' is not provided) */ priceFrom?: number; /** * The upper bound of the applicant's budget. (Required when 'marketingMode' is 'buying' and 'priceFrom' is not provided) */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14T12:30:02Z */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; }; /** * The details specific to applicants with a marketingMode of renting */ renting?: { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget. (Required when 'marketingMode' is 'renting' and 'rentTo' is 0) */ rentFrom?: number; /** * The upper bound of the applicant's budget. (Required when 'marketingMode' is 'renting' and 'rentFrom' is 0) */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually/fourWeekly). */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; }; /** * The applicant's outdoor space requirements */ externalArea?: { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; }; /** * The applicant's indoor space requirements */ internalArea?: { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; }; /** * An applicant's source of enquiry */ source?: { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; }; /** * A collection of unique identifiers of offices attached to the applicant. The first item in the collection is considered the primary office */ officeIds: string[]; /** * A collection of unique identifiers of negotiators attached to the applicant. The first item in the collection is considered the primary negotiator */ negotiatorIds: string[]; /** * A collection of contacts and/or companies associated to the applicant. The first item in the collection is considered the primary relationship */ related: { /** * The unique identifier of the contact or company to create a relationship with */ associatedId: string; /** * The type of relationship to create (contact/company) */ associatedType?: string; }[]; /** * App specific metadata to set against the applicant */ metadata?: { [name: string]: any; }; } /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface CreateApplicantRegionalModel { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; } /** * The details specific to applicants with a marketingMode of renting */ interface CreateApplicantRentingModel { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget. (Required when 'marketingMode' is 'renting' and 'rentTo' is 0) */ rentFrom?: number; /** * The upper bound of the applicant's budget. (Required when 'marketingMode' is 'renting' and 'rentFrom' is 0) */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually/fourWeekly). */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; } /** * An applicant's source of enquiry */ interface CreateApplicantSourceModel { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Represents an external attendee on an appointment */ interface CreateAppointmentAttendeeModel { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee (applicant/contact/landlord/tenant) */ type?: string; } /** * A view of the documents associated to the appointment */ interface CreateAppointmentDocumentModel { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; } /** * Request body used to create a new calendar appointment * example: * [object Object] */ interface CreateAppointmentModel { /** * The date and time when the appointment will start * example: * 2019-08-14T12:30:02Z */ start: string; /** * The date and time when the appointment will end * example: * 2019-08-14T12:30:02Z */ end: string; /** * The date when the appointment should be followed up * example: * 2019-08-14 */ followUpOn?: string; /** * The unique identifier of the appointment type */ typeId: string; /** * A free text description about the appointment */ description?: string; /** * The unique identifier of the negotiator that organised the appointment */ organiserId?: string; /** * A collection of unique identifiers of negotiators attached to the appointment. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of unique identifiers of offices attached to the appointment. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * Represents an external attendee on an appointment */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee (applicant/contact/landlord/tenant) */ type?: string; }; /** * The unique identifier of the property related to the appointment */ propertyId?: string; /** * The unique identifier of the external company either carrying out or attending the appointment with the agent */ otherAgentId?: string; /** * A flag denoting whether or not the appointment will be accompanied by one or more negotiators */ accompanied?: boolean; /** * A flag denoting whether or not the main negotiator has confirmed their attendance */ negotiatorConfirmed?: boolean; /** * A flag denoting whether or not the attendee has confirmed their attendance */ attendeeConfirmed?: boolean; /** * A flag denoting whether or not the property and/or property's vendor has confirmed their attendance */ propertyConfirmed?: boolean; /** * A flag denoting whether or not the appointment is virtual */ virtual?: boolean; /** * A flag denoting whether or not the appointment is a subsequent appointment to a previous one (a repeat appointment for the same attendee) */ isRepeat?: boolean; /** * The attendance status of the appointment (notSet/noShow/attended) */ attended?: string; /** * Details of an appointment's recurrence pattern */ recurrence?: { /** * The numeric value denoting how often the appointment will recur */ interval?: number; /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The date and time when the recurrence will stop. (Required if 'type' is provided) * example: * 2019-08-14T12:30:02Z */ until?: string; }; /** * A view of the documents associated to the appointment */ documents?: { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; }; /** * App specific metadata to set against the appointment */ metadata?: { [name: string]: any; }; } /** * Details of an appointment's recurrence pattern */ interface CreateAppointmentRecurrenceModel { /** * The numeric value denoting how often the appointment will recur */ interval?: number; /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The date and time when the recurrence will stop. (Required if 'type' is provided) * example: * 2019-08-14T12:30:02Z */ until?: string; } /** * Request body used to create a new area * example: * [object Object] */ interface CreateAreaModel { /** * The name of the area */ name: string; /** * The type of area (postcodes/polygon/group) */ type: string; /** * The location details (comma delimited list of postcodes, group ids or lat/long coordinate groups) */ area: string[]; /** * A collection of unique identifiers of departments associated to the area */ departmentIds?: string[]; /** * A collection of unique identifiers of offices attached to the area. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The unique identifier of the parent area, if the area should be registered as a child area/group in an existing area group */ parentId?: string; } /** * Request body to create bulk journal entry * example: * [object Object] */ interface CreateBulkJournalEntryModel { /** * Collection of journal entries */ createJournalEntry?: { /** * The unique identifier of the type the journal entry is related to. * Default value set to MI */ typeId?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type (Required when 'associatedId' is not given) */ propertyId?: string; /** * The entity type the journal entry has been raised against (applicant/contact/company/enquiry/landlord/tenancy/worksOrder) (Required when 'associatedId' is given) * TypeId must be set to WO when passing worksOrder */ associatedType?: string; /** * The unique identifier of the entity the journal entry has been raised against. Can additionally be associated to a property (Required when 'propertyId' is not given) */ associatedId?: string; /** * The textual description of the journal entry event */ description: string; /** * The identifier of the negotiator recording the journal entry */ negotiatorId?: string; }[]; } /** * Request body used to create a new certificate. * example: * [object Object] */ interface CreateCertificateModel { /** * The certificate's category (safetyCertificate/insurancePolicy/warranty). */ category?: string; /** * The unique identifier of the certificate's type. */ typeId?: string; /** * The certificate's start date. * example: * 2019-08-14 */ start?: string; /** * The certificate's expiry date. * example: * 2019-08-14 */ expiry?: string; /** * The unique identifier of the company that supplied, or is supplying, the certificate. */ companyId?: string; /** * Any general notes regarding the certificate. */ notes?: string; /** * The certificate's reference number. */ referenceNumber?: string; /** * The unique identifier of the certificate's status. */ statusId?: string; } /** * Request body to set the address of a new company */ interface CreateCompanyAddressModel { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Request body used to create a new company * example: * [object Object] */ interface CreateCompanyModel { /** * The name of the company */ name: string; /** * The branch name of the company */ branch?: string; /** * A free text field containing notes that describe the company's business or service offering */ notes?: string; /** * A flag determining whether or not the company is currently active */ active?: boolean; /** * The marketing consent status of the company (deny/notAsked) */ marketingConsent?: string; /** * A flag determining whether or not the company is VAT registered */ vatRegistered?: boolean; /** * A collection of unique identifiers of company types that categorise the type of business the company operates */ typeIds: string[]; /** * The unique identifier of a supplier type, if the company is a supplier */ supplierTypeId?: string; /** * The work phone number of the company. (Required when no other company or address details are provided) */ workPhone?: string; /** * The mobile phone number of the company. (Required when no other company or address details are provided) */ mobilePhone?: string; /** * The email address of the company. (Required when no other company or address details are provided) */ email?: string; /** * Request body to set the address of a new company */ address?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A flag determining whether or not the company is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the company is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the company is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the company is happy to receive communications by SMS */ communicationPreferenceSms?: boolean; /** * App specific metadata to set against the company */ metadata?: { [name: string]: any; }; } /** * Request body used to set an address against a new contact */ interface CreateContactAddressModel { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; } /** * Request body used to create a new contact * example: * [object Object] */ interface CreateContactModel { /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname: string; /** * The contact's date of birth * example: * 2019-08-14 */ dateOfBirth?: string; /** * A flag determining whether or not the contact is currently active */ active?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent: string; /** * Request body used to set the source of a new contact */ source?: { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * The home phone number of the contact (Required when no other contact details are provided) */ homePhone?: string; /** * The work phone number of the contact (Required when no other contact details are provided) */ workPhone?: string; /** * The mobile phone number of the contact (Required when no other contact details are provided) */ mobilePhone?: string; /** * The email address of the contact (Required when no other contact details are provided) */ email?: string; /** * A collection of unique identifiers of offices attached to the contact. The first item in the collection is considered the primary office */ officeIds: string[]; /** * A collection of unique identifiers of negotiators attached to the contact. The first item in the collection is considered the primary negotiator */ negotiatorIds: string[]; /** * A collection of categories associated to the contact. */ categoryIds?: string[]; /** * Request body used to set an address against a new contact */ primaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Request body used to set an address against a new contact */ secondaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * Request body used to set an address against a new contact */ workAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A flag determining whether or not the contact is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by SMS */ communicationPreferenceSMS?: boolean; /** * App specific metadata to set against the contact */ metadata?: { [name: string]: any; }; } /** * Request body used to set the source of a new contact */ interface CreateContactSourceModel { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Request body used to create a new development phase. * example: * [object Object] */ interface CreateDevelopmentPhaseModel { /** * The development phase summary. */ phase?: string; /** * The development phase notes. */ notes?: string; /** * The release date of the development phase. * example: * 2019-08-14T12:30:02Z */ releaseDate?: string; /** * The completion date of the development phase. * example: * 2019-08-14T12:30:02Z */ completionDate?: string; /** * A flag to determine if the development phase is complete. */ completed?: boolean; } /** * Request body used to create a new document * example: * [object Object] */ interface CreateDocumentModel { /** * The type of entity that the document is associated with (appliance/applicant/bankStatement/batch/certificate/contact/depositCertificate/estate/estateUnit/idCheck/keySet/landlord/nominalTransaction/property/supplierInvoice/tenancy/tenancyCheck/tenancyRenewal/worksOrder/renewalNegotiation) */ associatedType: string; /** * The unique identifier of the entity that the document is associated with */ associatedId: string; /** * The unique identifier of the type of document */ typeId: string; /** * The filename of the document */ name: string; /** * A flag denoting whether or not the document is private */ isPrivate?: boolean; /** * The base64 encoded document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileUrl?: string; /** * App specific metadata to set against the document */ metadata?: { [name: string]: any; }; } /** * Request body for associating this offer to another one below it in the chain * example: * [object Object] */ interface CreateDownwardLinkModel { /** * The unique identifier of the offer below this one in the chain. Should be left empty if the upward property is external (instructed by another agent) */ offerId?: string; /** * The address of the property below this one in the chain. (Required when 'offerId' is not provided) */ propertyAddress?: string; /** * The name of the agent managing the sale of the property. (Required when 'offerId' is not provided) */ agent?: string; /** * The name of the buyer purchasing the property. (Required when 'offerId' is not provided) */ buyer?: string; /** * The unique identifier of the solicitor / conveyancer that the buyer has instructed. (Required when 'offerId' is not provided) */ buyerSolicitorId?: string; } /** * Request body used to create a enquiries address */ interface CreateEnquiryAddressModel { /** * Sets the building name */ buildingName?: string; /** * Sets the building number */ buildingNumber?: string; /** * Sets the first line of the address */ line1?: string; /** * Sets the second line of the address */ line2?: string; /** * Sets the third line of the address */ line3?: string; /** * Sets the fourth line of the address */ line4?: string; /** * Sets the postcode */ postcode?: string; /** * Sets the ISO-3166 country code that the address resides within */ countryId?: string; } /** * The details specific to a buying enquiry */ interface CreateEnquiryBuyingModel { /** * The lower bound of the prospective buyer's budget */ priceFrom?: number; /** * The upper bound of the prospective buyer's budget */ priceTo?: number; } /** * Request body used to create an enquiry * example: * [object Object] */ interface CreateEnquiryModel { /** * The title of the individual making the enquiry */ title: string; /** * The forename of the individual making the enquiry */ forename: string; /** * The surname of the individual making the enquiry */ surname: string; /** * The selling position of the individual making the enquiry (renting/instructedThisAgent/instructedOtherAgent/privateSale/notOnMarket) */ position?: string; /** * The type of enquiry. Enquiries can created for applicants interested in buying/renting, as well as prospective vendors and landlords (salesApplicant/lettingsApplicant/salesProperty/lettingsProperty) */ enquiryType: string; /** * Textual information about the nature of the enquiry - usually the message text from the individual making the enquiry */ message: string; /** * The unique identifier of the related office */ officeId: string; /** * The marketing consent status of the individual making the enquiry (grant/deny/notAsked) */ marketingConsent: string; /** * The name of the source that the enquiry was generated from */ sourceName: string; /** * The home phone number of the individual making the enquiry (Required when no other contact details are given) */ homePhone?: string; /** * The work phone number of the individual making the enquiry (Required when no other contact details are given) */ workPhone?: string; /** * The mobile phone number of the individual making the enquiry (Required when no other contact details are given) */ mobilePhone?: string; /** * The email of the individual making the enquiry (Required when no other contact details are given) */ email?: string; /** * Request body used to create a enquiries address */ address?: { /** * Sets the building name */ buildingName?: string; /** * Sets the building number */ buildingNumber?: string; /** * Sets the first line of the address */ line1?: string; /** * Sets the second line of the address */ line2?: string; /** * Sets the third line of the address */ line3?: string; /** * Sets the fourth line of the address */ line4?: string; /** * Sets the postcode */ postcode?: string; /** * Sets the ISO-3166 country code that the address resides within */ countryId?: string; }; /** * The details specific to a buying enquiry */ buying?: { /** * The lower bound of the prospective buyer's budget */ priceFrom?: number; /** * The upper bound of the prospective buyer's budget */ priceTo?: number; }; /** * The details specific to renting enquiry. When type is renting. */ renting?: { /** * The lower bound of the prospective tenant's budget */ rentFrom?: number; /** * The upper bound of the prospective tenant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the prospective tenant (weekly/monthly/annually). */ rentFrequency?: string; }; /** * The number of bedrooms the prospective buyer or tenant requires */ bedrooms?: number; /** * A list of unique property identifiers that the enquiry relates to. Used to indicate the properties that a sales or lettings applicant has expressed an interest in */ propertyIds?: string[]; /** * The unique identifier of the lead negotiator who has been assigned to the enquiry */ leadNegotiatorId?: string; } /** * The details specific to renting enquiry. When type is renting. */ interface CreateEnquiryRentingModel { /** * The lower bound of the prospective tenant's budget */ rentFrom?: number; /** * The upper bound of the prospective tenant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the prospective tenant (weekly/monthly/annually). */ rentFrequency?: string; } /** * Request body used to create a new contact identity check * example: * [object Object] */ interface CreateIdentityCheckModel { /** * The unique identifier of the contact associated to the identity check */ contactId: string; /** * The date when the identity check was performed. This may differ to the date when the check was created * example: * 2019-08-14 */ checkDate: string; /** * The current status of the identity check (pass/fail/pending/cancelled/warnings/unchecked) */ status: string; /** * The unique identifier of the negotiator that initiated the identity check */ negotiatorId: string; /** * Request body to attach an identity document to a new contact identity check * A second identity document is not required and can be ignored by being set to null */ identityDocument1?: { /** * The unique identifier of the type of identity document provided */ typeId: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) (Required when 'fileData' is not given) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) (Required when 'details' are not given) * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileUrl?: string; /** * The filename to store the document as (Required when 'details' are not given) */ name?: string; }; /** * Request body to attach an identity document to a new contact identity check * A second identity document is not required and can be ignored by being set to null */ identityDocument2?: { /** * The unique identifier of the type of identity document provided */ typeId: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) (Required when 'fileData' is not given) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) (Required when 'details' are not given) * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileUrl?: string; /** * The filename to store the document as (Required when 'details' are not given) */ name?: string; }; /** * App specific metadata to set against the identity check */ metadata?: { [name: string]: any; }; } /** * Request body to attach an identity document to a new contact identity check * A second identity document is not required and can be ignored by being set to null */ interface CreateIdentityDocumentModel { /** * The unique identifier of the type of identity document provided */ typeId: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) (Required when 'fileData' is not given) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) (Required when 'details' are not given) * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileUrl?: string; /** * The filename to store the document as (Required when 'details' are not given) */ name?: string; } /** * Request body used to create an individual key included in a key set */ interface CreateIndividualKeyModel { /** * The name of the individual key in the set */ name?: string; } /** * Request body used to set the energy performance rating information for properties in Ireland */ interface CreateIrelandPropertyBERModel { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; } /** * Request body used to set the data specific to properties in Ireland */ interface CreateIrelandPropertyModel { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; } /** * Request body to create a journal entry * example: * [object Object] */ interface CreateJournalEntryModel { /** * The unique identifier of the type the journal entry is related to. * Default value set to MI */ typeId?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type (Required when 'associatedId' is not given) */ propertyId?: string; /** * The entity type the journal entry has been raised against (applicant/contact/company/enquiry/landlord/tenancy/worksOrder) (Required when 'associatedId' is given) * TypeId must be set to WO when passing worksOrder */ associatedType?: string; /** * The unique identifier of the entity the journal entry has been raised against. Can additionally be associated to a property (Required when 'propertyId' is not given) */ associatedId?: string; /** * The textual description of the journal entry event */ description: string; /** * The identifier of the negotiator recording the journal entry */ negotiatorId?: string; } /** * Request body used to create a new set of keys * example: * [object Object] */ interface CreateKeyModel { /** * The number assigned to the key - key numbers can only be occupied by a single property within an office concurrently */ number?: string; /** * The unique identifier of the key type */ typeId?: string; /** * The unique identifier of the office responsible for the key */ officeId?: string; /** * A listing of the individual keys included in the set */ keysInSet?: { /** * The name of the individual key in the set */ name?: string; }[]; } /** * Request body used to create a new key movement * example: * [object Object] */ interface CreateKeyMovementModel { /** * Indicates whether the key is expected to be checked back in. Set to true when the key is no longer held (eg. returned to the landlord) */ checkInRequired?: boolean; /** * The unique identifier of the contact or negotiator to check out the key with - this person will be recorded as holding the key */ checkOutToId?: string; /** * The type of entity that checked out the key (contact/negotiator) */ checkOutToType?: string; /** * The unique identifier of the negotiator who performed the key check out */ checkOutNegotiatorId?: string; } /** * Request body used to create a new relationship between a landlord and a contact or company */ interface CreateLandlordContactRelationshipModel { /** * The unique identifier of the contact or company to create a relationship with */ associatedId?: string; /** * The type of relationship to create (contact/company) */ associatedType?: string; } /** * Request body used to create a new landlord * example: * [object Object] */ interface CreateLandlordModel { /** * A flag determining whether or not the landlord is currently active */ active?: boolean; /** * The unique identifier of the company acting as the landlord's solicitor */ solicitorId?: string; /** * The unique identifier of the office that is associated to the landlord */ officeId: string; /** * The delivery preferences for statements (email/post/notSent) */ statementPreferences?: string[]; /** * Request body used to set the source of a new landlord */ source?: { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A collection of contacts and/or companies associated to the landlord. The first item in the collection is considered the primary relationship */ related: { /** * The unique identifier of the contact or company to create a relationship with */ associatedId?: string; /** * The type of relationship to create (contact/company) */ associatedType?: string; }[]; /** * App specific metadata that to set against the landlord */ metadata?: { [name: string]: any; }; } /** * Request body used to set the source of a new landlord */ interface CreateLandlordSourceModel { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Request body used to create a tenancy renewals letting fee */ interface CreateLettingFeeRenewalModel { /** * The letting fee type (fixed/perentage) */ type?: string; /** * The letting fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the letting fee is required (monthly/quarterly/halfYearly/yearly/28days/upfront/upfrontOver2Months/other/notApplicable) */ frequency?: string; } /** * Request body used to create a tenancy renewals management fee */ interface CreateManagementFeeRenewalModel { /** * The mangement fee type (fixed/perentage) */ type?: string; /** * The mangement fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the mangement fee is required (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; } /** * Payload to create a metadata record * example: * [object Object] */ interface CreateMetadataRequest { /** * The type of the entity that this metadata is related to. This can represent a Foundations inbuilt type (an entity presented in our APIs) or it can be a custom entity type (a dynamic standalone metadata entity that you create). * * Inbuilt types: applicant, appointment, company, contact, conveyancing, identityCheck, landlord, negotiator, offer, office, property, task, vendor, worksOrder */ entityType: string; /** * The unique identifier of the entity that this metadata is related to. * For custom entities, this can be left blank and an id will be generated for you. */ entityId?: string; /** * The JSON document to store */ metadata: { [name: string]: any; }; } /** * Request body used to create a new negotiator * example: * [object Object] */ interface CreateNegotiatorModel { /** * The name of the negotiator */ name: string; /** * The job title of the negotiator */ jobTitle?: string; /** * A flag determining whether or not the negotiator is active */ active?: boolean; /** * The unique identifier of the office that the negotiator is attached to */ officeId: string; /** * The work phone number of the negotiator */ workPhone?: string; /** * The mobile phone number of the negotiator */ mobilePhone?: string; /** * The email address of the negotiator */ email?: string; /** * The identifiers of other negotiators whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryNegotiatorIds?: string[]; /** * The identifiers of other offices whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryOfficeIds?: string[]; /** * App specific metadata to set against the negotiator */ metadata?: { [name: string]: any; }; } /** * Payload for creating a notification * example: * [object Object] */ interface CreateNotificationModel { /** * The notification type (telephony) */ type?: string; /** * The sub category type (answeredCall/endedCall/incomingCall/missedCall) */ subType?: string; /** * The products the notification is associated to, and will be delivered to */ products?: string[]; /** * Payload for defining notification targets */ targets?: { /** * The identifier of the negotiators whom should receive the notification */ negotiatorId?: string[]; }; /** * The payload to deliver to the specified target(s). Note that the payload must match the expected format * based on the type/subType combination and will be validated accordingly. Please refer to [the documentation](https://foundations-documentation.reapit.cloud/api/notifications) * for more information */ payload?: any; } /** * Payload for defining notification targets */ interface CreateNotificationTargetModel { /** * The identifier of the negotiators whom should receive the notification */ negotiatorId?: string[]; } /** * Request body used to create a new offer * example: * [object Object] */ interface CreateOfferModel { /** * The unique identifier of the applicant associated to the offer */ applicantId: string; /** * The unique identifier of the property associated to the offer */ propertyId: string; /** * The unique identifier of the negotiator associated to the offer */ negotiatorId?: string; /** * The date when the offer was made * example: * 2019-08-14 */ date: string; /** * The monetary amount of the offer */ amount: number; /** * The current status of the offer (pending/withdrawn/rejected/accepted/noteOfInterest) */ status: string; /** * A free text field describing items that should be included in the sale */ inclusions?: string; /** * A free text field describing items that are explicitly excluded from the sale */ exclusions?: string; /** * A free text field describing any other conditions set by either party that relate to the sale */ conditions?: string; /** * App specific metadata to set against the offer */ metadata?: { [name: string]: any; }; } /** * Request body used to set the geolocation coordinates of a new address */ interface CreateOfficeAddressGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; } /** * Request body used to set the address of a new office */ interface CreateOfficeAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of a new address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; } /** * Request body used to create a new office * example: * [object Object] */ interface CreateOfficeModel { /** * The name of the office */ name: string; /** * A flag denoting whether or not this office is active */ active?: boolean; /** * The name of the office manager */ manager?: string; /** * Request body used to set the address of a new office */ address: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of a new address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * The work phone number of the office */ workPhone?: string; /** * The email address of the office */ email?: string; /** * App specific metadata to set against the office */ metadata?: { [name: string]: any; }; } /** * Request body used to create a new open house attendee * example: * [object Object] */ interface CreateOpenHouseAttendeeModel { /** * The interest level of the open house attendee (veryInterested/mightBeInterested/notInterested/notSet) */ interestLevel?: string; /** * Notes on this open house attendee */ notes?: string; /** * Represents an external attendee on an appointment */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee (applicant/contact/landlord/tenant) */ type?: string; }; } /** * Request body used to create pre signed urls to upload files between 6MB and 30MB * example: * [object Object] */ interface CreatePreSignedUrlsModel { /** * The number of pre signed urls to create */ amount: number; } /** * Request body used to set the address of a new property */ interface CreatePropertyAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of a new property's address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude: number; /** * The longitude coordinate of the coordinate pair */ longitude: number; }; } /** * Model for the creation of a new property appraisal * example: * [object Object] */ interface CreatePropertyAppraisalModel { /** * Unique identifier of the appraising company */ companyId?: string; /** * The date of the appraisal * example: * 2019-08-14 */ date?: string; /** * The appraisal value */ price?: number; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Free-text notes associated with the appraisal */ notes?: string; } /** * Request body used to create a new check * example: * [object Object] */ interface CreatePropertyCheckModel { /** * Short, descriptive text describing the purpose of the check */ description: string; /** * The type of the check (preInstruction) */ type: string; /** * The status of the check (needed/notNeeded/arranging/completed) */ status: string; } /** * Request body used to create the commission fee details for a property. */ interface CreatePropertyCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; } /** * Request body used to create a reduction of the commission fee for a property. */ interface CreatePropertyCommissionFeeReductionModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; } /** * Request body used to set the EPC statistic of a new property */ interface CreatePropertyEpcModel { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The current environmental impact rating */ eir?: number; /** * The potential environmental impact rating */ eirPotential?: number; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; } /** * Request body to set the plot size of a new property */ interface CreatePropertyExternalAreaModel { /** * The unit of area (acres/hectares). (This will be converted and returned as acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; } /** * Request body to set a properties flood erosion */ interface CreatePropertyFloodErosionModel { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; } /** * Request body used to set the geolocation coordinates of a new property's address */ interface CreatePropertyGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude: number; /** * The longitude coordinate of the coordinate pair */ longitude: number; } /** * Request body used to create a new property image * example: * [object Object] */ interface CreatePropertyImageModel { /** * The base64 encoded file content, prefixed with the content type (eg. data:image/jpeg;base64,VGVzdCBmaWxl) */ data?: string; /** * The presigned s3 url which a property image has been uploaded to * See [documentation](https://foundations-documentation.reapit.cloud/api/api-documentation#uploading-files) about file size limits */ fileUrl?: string; /** * The unique identifier of the property attached to the image */ propertyId: string; /** * The image caption */ caption: string; /** * The type of image (photograph/floorPlan/epc/map) */ type: string; } /** * Request body to set the internal dimensions of a new property */ interface CreatePropertyInternalAreaModel { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; } /** * Request body used to create the commission fee details for a lettings property. */ interface CreatePropertyLettingCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to create a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to create a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; } /** * Request body used to set details specific to lettings marketing on a new property */ interface CreatePropertyLettingModel { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * Sets the minimum number of months the property can be let out for */ minimumTerm?: number; /** * Request body used to create the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Request body used to create the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to create a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to create a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; }; } /** * Representation of a property details related to deposit */ interface CreatePropertyLettingsDepositModel { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; } /** * Request body used to create a new property * example: * [object Object] */ interface CreatePropertyModel { /** * The date the owner of the property was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the owner of the property is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The marketing mode of the property (selling/letting/sellingAndLetting) */ marketingMode: string; /** * The unique identifier of the department the property is associated with. The property will only match to applicants with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId: string; /** * The strapline description containing a short summary about the property */ strapline?: string; /** * The brief description of the property */ description?: string; /** * The summary of accommodation, typically short phrases or bullet points describing the key features of the property */ summary?: string; /** * An optional alternative identifier specified for this property */ alternateId?: string; /** * The property's special feature property requirements (eg Swimming Pool, Tennis Court), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * Request body used to set the address of a new property */ address: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of a new property's address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude: number; /** * The longitude coordinate of the coordinate pair */ longitude: number; }; }; /** * The total number of bedrooms in the property */ bedrooms?: number; /** * The maximum number of bedrooms in the property */ bedroomsMax?: number; /** * The number of units offered on the market. This is typically used when marketing development sites. */ numberOfUnits?: number; /** * The total number of reception rooms in the property */ receptions?: number; /** * The maximum number of reception rooms in the property */ receptionsMax?: number; /** * The total number of bathrooms in the property */ bathrooms?: number; /** * The maximum number of bathrooms in the property */ bathroomsMax?: number; /** * The total number of parking spaces the property has. This is only supported by some departments. Please refer to the glossary for support [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parkingSpaces?: number; /** * The council tax banding of the property (A/B/C/D/E/F/G/H/I/notYetAvailable) */ councilTax?: string; /** * A flag denoting whether or not this property can be advertised on the internet */ internetAdvertising?: boolean; /** * The arrangements regarding viewing the property */ viewingArrangements?: string; /** * The url of a video associated with this property, such as a virtual tour */ videoUrl?: string; /** * The caption for the video url associated with this property */ videoCaption?: string; /** * The url of a second video associated with this property, such as a virtual tour */ video2Url?: string; /** * The caption for the second video url associated with this property */ video2Caption?: string; /** * Any general notes regarding the property. These are not usually exposed to end users and may contain sensitive information about a sale */ notes?: string; /** * The long description of the property */ longDescription?: string; /** * The floor level the property is on. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ floorLevel?: number; /** * The number of internal floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ internalFloors?: number; /** * The total number of floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ totalFloors?: number; /** * The status of the advertising board sited outside or near to the property */ boardStatus?: string; /** * Any notes relevant to the advertising board sited outside or near to the property */ boardNotes?: string; /** * The date the advertising board was last updated (or should be updated when the date is in the future) * example: * 2019-08-14 */ boardUpdated?: string; /** * The date on which the property was valued. Note that this can differ to physical appointment dates in some cases * example: * 2019-08-14 */ valuation?: string; /** * Request body used to set the EPC statistic of a new property */ epc?: { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The current environmental impact rating */ eir?: number; /** * The potential environmental impact rating */ eirPotential?: number; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; }; /** * Request body to set a properties rights restrictions */ rightsRestrictions?: { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; }; /** * Request body to set a properties flood erosion */ floodErosion?: { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; }; /** * A list of accesibility options provided by the property (unsuitableForWheelchairs/levelAccess/liftAccess/rampedAccess/wetRoom/wideDoorways/stepFreeAccess/levelAccessShower/lateralLiving) */ accessibility?: string[]; /** * Request body to set the plot size of a new property */ externalArea?: { /** * The unit of area (acres/hectares). (This will be converted and returned as acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; }; /** * Request body to set the internal dimensions of a new property */ internalArea?: { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; }; /** * Request body used to set details specific to rural properties */ rural?: { /** * Details of the buildings associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; }; /** * Request body used to set details specific to sales marketing on a new property. When creating a new sales property, a vendor record is automatically created. Please refer to the [Platform Glossary](http://foundations.link/glossary#vendor) for full details */ selling?: { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Request body used to set the tenure of a new property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ sellingAgency?: string; /** * The unique identifier of the custom selling agency type - only applicable when SellingAgency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Request body used to create the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; }; /** * Request body used to set details specific to lettings marketing on a new property */ letting?: { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * Sets the minimum number of months the property can be let out for */ minimumTerm?: number; /** * Request body used to create the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Request body used to create the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to create a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to create a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; }; }; /** * Request body used to set region specific property details. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Request body used to set the data specific to properties in Ireland */ irl?: { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; }; /** * The attributes describing the overall type of the property (eg house, bungalow, land), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ type?: string[]; /** * The attributes describing the style of property (eg detached, semiDetached), defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ style?: string[]; /** * The attributes describing other aspects of the property - such as outside space - as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ situation?: string[]; /** * The attributes describing the parking available at the property (eg garage), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parking?: string[]; /** * The attributes describing the age of the property (eg new, period), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ age?: string[]; /** * The attributes describing the general location of the property (eg rural, townCity), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ locality?: string[]; /** * Details of each room in the property */ rooms?: { /** * The name of the room */ name?: string; /** * Details about the dimensions of the room */ dimensions?: string; /** * Short description of the room */ description?: string; }[]; /** * A flag determining whether or not the property's room details have been approved by the vendor or landlord */ roomDetailsApproved?: boolean; /** * The unique identifier of the negotiator managing the property */ negotiatorId: string; /** * A collection of unique identifiers of offices attached to the property. The first item in the collection is considered the primary office */ officeIds: string[]; /** * The unique identifier of the area that the property resides in */ areaId?: string; /** * The url to the property on an external website */ url?: string; /** * The caption to accompany the url to the property on an external website */ urlCaption?: string; /** * Any ground rent payment that applies to the property */ groundRent?: number; /** * Comments regarding the ground rent of the property */ groundRentComment?: string; /** * The date when the ground rent payable on the property should be reviewed * example: * 2019-08-14T12:30:02Z */ groundRentReviewDate?: string; /** * The annual percentage increase of the ground rent after being reviewed */ groundRentIncrease?: number; /** * Any service charge payment that applies to the property */ serviceCharge?: number; /** * Comments regarding the service charge of the property */ serviceChargeComment?: string; /** * The keywords associated with the property. */ keywords?: string[]; /** * App specific metadata to set against the property */ metadata?: { [name: string]: any; }; } /** * Request body used to set region specific property details. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface CreatePropertyRegionalModel { /** * Request body used to set the data specific to properties in Ireland */ irl?: { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; } /** * Request body to set a properties rights restrictions */ interface CreatePropertyRightsRestrictionsModel { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; } /** * Request body to create a room in the Rooms collection of a new property */ interface CreatePropertyRoomModel { /** * The name of the room */ name?: string; /** * Details about the dimensions of the room */ dimensions?: string; /** * Short description of the room */ description?: string; } /** * Request body used to set details specific to rural properties */ interface CreatePropertyRuralModel { /** * Details of the buildings associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; } /** * Request body used to set details specific to sales marketing on a new property. When creating a new sales property, a vendor record is automatically created. Please refer to the [Platform Glossary](http://foundations.link/glossary#vendor) for full details */ interface CreatePropertySellingModel { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Request body used to set the tenure of a new property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ sellingAgency?: string; /** * The unique identifier of the custom selling agency type - only applicable when SellingAgency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Request body used to create the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; } /** * Details relating to the shared ownership of the property */ interface CreatePropertySharedOwnershipModel { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; } /** * Request body used to set the tenure of a new property */ interface CreatePropertyTenureModel { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; } /** * Create Referral Model * example: * [object Object] */ interface CreateReferralModel { /** * The unique identifier of the referral type */ referralTypeId: string; /** * The unique identifier of the negotiator creating the referral */ negotiatorId?: string; /** * The unique identifier of the property */ propertyId?: string; /** * The unique identifier of the applicant */ applicantId?: string; /** * The unique identifier of the contact that has been referred */ contactId: string; /** * The amount paid to the agent for the referral */ amount?: number; /** * The information of the referral */ information?: string; } /** * Payload to create a JSON schema for metadata validation * example: * [object Object] */ interface CreateSchemaRequest { /** * The name of the entity type that this schema is related to */ entityType: string; /** * The JSON schema used to validate entities of this type */ schema: string; } /** * Request body used to create a new source of business * example: * [object Object] */ interface CreateSourceModel { /** * The name of the source or advertising publication */ name: string; /** * The type of the source (source/advertisement) */ type: string; /** * A collection of the unique identifiers of offices that regularly get business from the source */ officeIds?: string[]; /** * A collection of unique identifiers of departments that regularly get business from the source */ departmentIds?: string[]; } /** * Request body used to create a new supplier invoice * example: * [object Object] */ interface CreateSupplierInvoiceModel { /** * The unique identifier of the works order the supplier invoice is associated with, where applicable * Must be provided if propertyId/companyId/tenancyId are not present */ worksOrderId?: string; /** * The unique identifier of the property the supplier invoice is associated with, where applicable * When providing a propertyId along with a worksOrderId, the id will be validated against the works order to check they match */ propertyId?: string; /** * The unique identifier of the contractor (company) the supplier invoice is associated with, where applicable * When providing a companyId along with a worksOrderId, the id will be validated against the works order to check they match */ companyId?: string; /** * The unique identifier of the tenancy the supplier invoice is associated with, where applicable * When providing a tenancyId along with a worksOrderId, the id will be validated against the works order to check they match */ tenancyId?: string; /** * The supplier invoice work description */ description: string; /** * The identifier of the nominal account the supplier invoice should be attributed to */ accountId: string; /** * The invoice reference */ invoiceRef: string; /** * The unique identifier of the negotiator the invoice should be attributed to (normally the person creating it on the system) */ negotiatorId: string; /** * The invoice date * example: * 2019-08-14 */ invoiceDate: string; /** * The date the invoice should be paid by * example: * 2019-08-14 */ dueDate?: string; /** * The invoice net amount */ netAmount: number; /** * The invoice tax amount */ taxAmount: number; } /** * Request body used to create a new task, which can also be an internal message * example: * [object Object] */ interface CreateTaskModel { /** * The date the task becomes active (Required when 'TypeId' is given) * example: * 2019-08-14 */ activates?: string; /** * The date the task was completed * example: * 2019-08-14 */ completed?: string; /** * The unique identifier of the task type */ typeId?: string; /** * The unique identifer of the negotiator that created the task */ senderId: string; /** * The textual contents of the task or message */ text: string; /** * The unique identifier of the landlord the task is associated to */ landlordId?: string; /** * The unique identifier of the property the task is associated to */ propertyId?: string; /** * The unique identifier of the applicant the task is associated to */ applicantId?: string; /** * The unique identifier of the tenancy the task is associated to */ tenancyId?: string; /** * The unique identifier of the contact the task is associated to */ contactId?: string; /** * The unique identifier of the negotiator or office the task is being sent to */ recipientId: string; /** * The type of the recipient (office/negotiator) */ recipientType: string; /** * App specific metadata that has been set against the task */ metadata?: { [name: string]: any; }; } /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ interface CreateTenancyAgreementModel { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; } /** * Request body used to set a tenancy allowance * example: * [object Object] */ interface CreateTenancyAllowanceModel { /** * The identifier of the associated to the allowance */ typeId?: string; /** * The state of the allowance (allowed/notAllowed) */ state?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; } /** * Request body used to set the arrears of a new tenancy. */ interface CreateTenancyArrearsModel { /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; } /** * Request body used to update tenancy break clause * example: * [object Object] */ interface CreateTenancyBreakClauseModel { /** * The identifier of the associated to the break clause */ typeId?: string; /** * The date the break clause becomes/became active * example: * 2019-08-14 */ active?: string; /** * The responsible party (landlord/tenant/mutual) */ appliesTo?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Request body used to set a break clauses break from details */ breakFrom?: { /** * The date the break from clause can be used * example: * 2019-08-14 */ date?: string; /** * The minimum number of months until the break clause can be used */ minTermMonths?: number; }; /** * Request body used to set a break clauses notice required details */ noticeRequired?: { /** * The date a break clauses notice is required by * example: * 2019-08-14 */ date?: string; /** * The number of months the notice is required before the break clause */ beforeBreakMonths?: number; }; } /** * Request body used to set a break clauses break from details */ interface CreateTenancyBreakFromModel { /** * The date the break from clause can be used * example: * 2019-08-14 */ date?: string; /** * The minimum number of months until the break clause can be used */ minTermMonths?: number; } /** * Request body used to create a new tenancy check * example: * [object Object] */ interface CreateTenancyCheckModel { /** * Short, descriptive text describing the purpose of the check. This should be populated * when creating a custom tenancy check that does not match any of the existing pre-configured * tenancy check options. * Description and CheckTypeId must not be supplied in the same payload, but at least one must be provided */ description?: string; /** * The type of the tenancy check (preTenancy/postTenancy) */ type: string; /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status: string; /** * The identifier of the pre-configured tenancy check. This should be populated * when an existing tenancy check configuration is desired, rather than a custom one * CheckTypeId and Description must not be supplied in the same payload, but at least one must be provided */ checkTypeId?: string; /** * App specific metadata to set against the tenancy check */ metadata?: { [name: string]: any; }; } /** * Request body used to set the deposit of a new tenancy */ interface CreateTenancyDepositModel { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; } /** * Request body used to set letting fees on a new tenancy */ interface CreateTenancyLettingFeeModel { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; } /** * Request body used to set management fees on a new tenancy */ interface CreateTenancyManagementFeeModel { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; } /** * Request body used to create a new tenancy * example: * [object Object] */ interface CreateTenancyModel { /** * The start date of the tenancy * example: * 2019-08-14 */ startDate?: string; /** * The end date of the tenancy * example: * 2019-08-14 */ endDate?: string; /** * The current status of the tenancy (offerPending/offerWithdrawn/offerRejected/arranging) */ status?: string; /** * The role that the agent is performing for the tenancy (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole: string; /** * The amount of rent required, returned in relation to the collection frequency */ rent: number; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency: string; /** * The frequency of rental instalment payments (weekly/fortnightly/monthly/quarterly/halfYearly/yearly/every28Days/other) */ rentInstalmentsFrequency?: string; /** * The amount due for each rent instalment (where specified) */ rentInstalmentsAmount?: number; /** * The date that the first instalment is due * example: * 2019-08-14 */ rentInstalmentsStart?: string; /** * The recorded utility reading for the gas meter */ meterReadingGas?: string; /** * Date of when the reading of gas utility was last recorded * example: * 2019-08-14 */ meterReadingGasLastRead?: string; /** * The recorded utility reading for the electricity meter */ meterReadingElectricity?: string; /** * Date of when the reading of electricity utility was last recorded * example: * 2019-08-14 */ meterReadingElectricityLastRead?: string; /** * The recorded utility reading for the water meter */ meterReadingWater?: string; /** * Date of when the reading of water utility was last recorded * example: * 2019-08-14 */ meterReadingWaterLastRead?: string; /** * A flag determining whether or not the tenancy has been extended indefinitely */ isPeriodic?: boolean; /** * The unique identifier of the type of tenancy */ typeId: string; /** * The unique identifier of the negotiator who is managing the tenancy */ negotiatorId: string; /** * The unique identifier of the property that relates to the tenancy */ propertyId: string; /** * The unique identifier of the applicant who has applied to be a tenant */ applicantId: string; /** * Financial notes set against the tenancy */ feeNotes?: string; /** * The identifier of the pre-tenancy checklist status for the tenancy */ preTenancyCheckStatusId?: string; /** * Request body used to set letting fees on a new tenancy */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Request body used to set management fees on a new tenancy */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * Request body used to set the deposit of a new tenancy */ deposit?: { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; }; /** * Request body used to set the arrears of a new tenancy. */ arrears?: { /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; }; /** * Request body used to set the source of a new tenancy */ source?: { /** * The unique identifier of the source for the tenancy */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * App specific metadata to set against the tenancy */ metadata?: { [name: string]: any; }; } /** * Request body used to set a break clauses notice required details */ interface CreateTenancyNoticeRequiredModel { /** * The date a break clauses notice is required by * example: * 2019-08-14 */ date?: string; /** * The number of months the notice is required before the break clause */ beforeBreakMonths?: number; } /** * Request body used to create a new tenancy renewal check * example: * [object Object] */ interface CreateTenancyRenewalCheckModel { /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status: string; /** * The identifier of the pre-configured tenancy check. This will only be populated * for pre-configured tenancy checks, and not for custom/ad-hoc checks added to individual tenancies */ checkTypeId?: string; /** * The name of this tenancy check */ description?: string; /** * App specific metadata to set against the tenancy renewal check */ metadata?: { [name: string]: any; }; } /** * Request body used to create a tenancy renewal negotiation * example: * [object Object] */ interface CreateTenancyRenewalModel { /** * The proposed start date of the tenancy renewal * example: * 2019-08-14T12:30:02Z */ startDate?: string; /** * The proposed end date of the tenancy renewal * example: * 2019-08-14T12:30:02Z */ endDate?: string; /** * The unique identifier of the negotiator who is managing this tenancy renewal */ negotiatorId?: string; /** * The amount of rent required, returned in relation to the collection frequency */ rent?: number; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency?: string; /** * Request body used to create a tenancy renewals letting fee */ lettingFee?: { /** * The letting fee type (fixed/perentage) */ type?: string; /** * The letting fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the letting fee is required (monthly/quarterly/halfYearly/yearly/28days/upfront/upfrontOver2Months/other/notApplicable) */ frequency?: string; }; /** * Request body used to create a tenancy renewals management fee */ managementFee?: { /** * The mangement fee type (fixed/perentage) */ type?: string; /** * The mangement fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the mangement fee is required (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; } /** * Request body used to set a tenancy responsibility * example: * [object Object] */ interface CreateTenancyResponsibilityModel { /** * The identifier of the associated to the responsibility */ typeId?: string; /** * The responsible party (landlord/tenant) */ appliesTo?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; } /** * Request body used to set the source of a new tenancy */ interface CreateTenancySourceModel { /** * The unique identifier of the source for the tenancy */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Request body for associating this offer to another one above it in the chain * example: * [object Object] */ interface CreateUpwardLinkModel { /** * The unique identifier of the offer above this one in the chain. Should be left empty if the upward property is external (instructed by another agent) */ offerId?: string; /** * The address of the property above this one in the chain. (Required when 'offerId' is not provided) */ propertyAddress?: string; /** * The name of the agent managing the sale of the property. (Required when 'offerId' is not provided) */ agent?: string; /** * The name of the vendor selling the property. (Required when 'offerId' is not provided) */ vendor?: string; /** * The unique identifier of the solicitor / conveyancer that the vendor has instructed. (Required when 'offerId' is not provided) */ vendorSolicitorId?: string; } /** * Representation of property details specific to utilities */ interface CreateUtilityModel { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; } /** * Request body used to create a new webhook subscription * example: * [object Object] */ interface CreateWebhookModel { /** * The url where the payload associated with the webhook should be sent to */ url: string; /** * A short description associated with the webhook (ie a friendly name or label) */ description?: string; /** * The identifiers of the topics the subscription is associated with */ topicIds?: string[]; /** * Flag denoting whether or not the webhook is active and ready to receive data */ active?: boolean; /** * Flag denoting whether or events that only contain changes to etags and/or modified dates are emitted * Pass true to disable emitting of these events */ ignoreEtagOnlyChanges?: boolean; } /** * Representation of a works order item * example: * [object Object] */ interface CreateWorksOrderItemModel { /** * The notes attached to the works order item */ notes: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The cost of the vat associated with the work */ vatAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; } /** * Request body used to create a new works order * example: * [object Object] */ interface CreateWorksOrderModel { /** * The unique identifier of the company that has been selected to perform the work */ companyId?: string; /** * The unique identifier of the property where the work is to be carried out */ propertyId: string; /** * The unique identifier of the tenancy that the works order originated from */ tenancyId?: string; /** * The unique identifier of the negotiator that booked the works order */ negotiatorId: string; /** * The unique id of the type of work that needs to be carried out */ typeId?: string; /** * The current status of the works order (pendingApproval/pendingQuote/raised/raisedToChase/landlordToComplete/complete/cancelled/quoteAccepted) */ status: string; /** * A free text description of the work required */ description: string; /** * The party requesting the work to be carried out (landlord/tenant/other) */ reporter: string; /** * The priority level of the works order (low/medium/high) */ priority?: string; /** * The date when the works order was booked * example: * 2019-08-14 */ booked?: string; /** * The date when the work is required to be completed by * example: * 2019-08-14 */ required?: string; /** * The date when the work was completed * example: * 2019-08-14 */ completed?: string; /** * Individual work items to attach to the works order */ items: { /** * The notes attached to the works order item */ notes: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The cost of the vat associated with the work */ vatAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; }[]; /** * App specific metadata to set against the works order */ metadata?: { [name: string]: any; }; } /** * Representation of an individual credit */ interface CreditModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the credit */ id?: string; /** * The date and time when the credit was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the credit was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the credit */ negotiatorId?: string; /** * Unique identifier of the property associated with the credit */ propertyId?: string; /** * Unique identifier of the invoice associated with the credit */ invoiceId?: string; /** * Description of the credit */ description?: string; /** * The date of the credit * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the credit in the system base currency */ netAmount?: number; /** * The amount of VAT due for the credit in the system base currency */ vatAmount?: number; } interface CreditModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the credit */ id?: string; /** * The date and time when the credit was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the credit was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the credit */ negotiatorId?: string; /** * Unique identifier of the property associated with the credit */ propertyId?: string; /** * Unique identifier of the invoice associated with the credit */ invoiceId?: string; /** * Description of the credit */ description?: string; /** * The date of the credit * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the credit in the system base currency */ netAmount?: number; /** * The amount of VAT due for the credit in the system base currency */ vatAmount?: number; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a department */ interface DepartmentModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the department */ id?: string; /** * The date and time when the department was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the department was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the department */ name?: string; /** * A collection of property type values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ typeOptions?: string[]; /** * A collection of property style values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ styleOptions?: string[]; /** * A collection of property situation values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situationOptions?: string[]; /** * A collection of property parking values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parkingOptions?: string[]; /** * A collection of property age values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ ageOptions?: string[]; /** * A collection of property locality values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ localityOptions?: string[]; /** * A collection of special property feature values that will be presented by other services */ specialFeaturesOptions?: string[]; /** * A collection of commercial use class values that will be accepted by other services */ commercialUseClassOptions?: string[]; /** * A collection of commercial floor level values that will be accepted by other services */ commercialFloorLevelOptions?: string[]; /** * A collection of keyword values that will be accepted by other services */ keywords?: string[]; /** * A flag to determing if the department has bedrooms configured */ hasBedrooms?: boolean; /** * A flag to determing if the department has bathrooms configured */ hasBathrooms?: boolean; /** * A flag to determing if the department has reception rooms configured */ hasReceptionRooms?: boolean; /** * A flag to determing if the department has parking spaces configured */ hasParkingSpaces?: boolean; /** * A flag to determing if the department allows the floor level property to be set */ hasFloorLevelEnabled?: boolean; /** * A flag to determing if the department allows the internal floors property to be set */ hasInternalFloorsEnabled?: boolean; /** * A flag to determing if the department allows the total floors property to be set */ hasTotalFloorsEnabled?: boolean; /** * The ETag for the current version of the department. Used for managing update concurrency */ readonly _eTag?: string; } interface DepartmentModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the department */ id?: string; /** * The date and time when the department was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the department was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the department */ name?: string; /** * A collection of property type values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ typeOptions?: string[]; /** * A collection of property style values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ styleOptions?: string[]; /** * A collection of property situation values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situationOptions?: string[]; /** * A collection of property parking values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parkingOptions?: string[]; /** * A collection of property age values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ ageOptions?: string[]; /** * A collection of property locality values that will be accepted by other services * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ localityOptions?: string[]; /** * A collection of special property feature values that will be presented by other services */ specialFeaturesOptions?: string[]; /** * A collection of commercial use class values that will be accepted by other services */ commercialUseClassOptions?: string[]; /** * A collection of commercial floor level values that will be accepted by other services */ commercialFloorLevelOptions?: string[]; /** * A collection of keyword values that will be accepted by other services */ keywords?: string[]; /** * A flag to determing if the department has bedrooms configured */ hasBedrooms?: boolean; /** * A flag to determing if the department has bathrooms configured */ hasBathrooms?: boolean; /** * A flag to determing if the department has reception rooms configured */ hasReceptionRooms?: boolean; /** * A flag to determing if the department has parking spaces configured */ hasParkingSpaces?: boolean; /** * A flag to determing if the department allows the floor level property to be set */ hasFloorLevelEnabled?: boolean; /** * A flag to determing if the department allows the internal floors property to be set */ hasInternalFloorsEnabled?: boolean; /** * A flag to determing if the department allows the total floors property to be set */ hasTotalFloorsEnabled?: boolean; /** * The ETag for the current version of the department. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Departments { pageSize?: number; pageNumber?: number; id?: string[]; name?: string; } /** * Representation of the extra description set to the property */ interface DescriptionModel { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; } /** * Representation of a property's development phase. */ interface DevelopmentPhaseModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the development phase. */ id?: string; /** * The unique identifier of the property */ propertyId?: string; /** * The development phase summary. */ phase?: string; /** * The development phase notes. */ notes?: string; /** * The release date of the development phase. * example: * 2019-08-14T12:30:02Z */ releaseDate?: string; /** * The completion date of the development phase. * example: * 2019-08-14T12:30:02Z */ completionDate?: string; /** * A flag to determine if the development phase is complete. */ completed?: boolean; /** * The date and time when the development phase was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the development phase was last modified. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The ETag for the current version of the development phase. Used for managing update * concurrency. */ readonly _eTag?: string; } interface DevelopmentPhaseModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the development phase. */ id?: string; /** * The unique identifier of the property */ propertyId?: string; /** * The development phase summary. */ phase?: string; /** * The development phase notes. */ notes?: string; /** * The release date of the development phase. * example: * 2019-08-14T12:30:02Z */ releaseDate?: string; /** * The completion date of the development phase. * example: * 2019-08-14T12:30:02Z */ completionDate?: string; /** * A flag to determine if the development phase is complete. */ completed?: boolean; /** * The date and time when the development phase was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the development phase was last modified. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The ETag for the current version of the development phase. Used for managing update * concurrency. */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a document */ interface DocumentModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the document */ id?: string; /** * The date and time when the document was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the document was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of entity that the document is associated with */ associatedType?: string; /** * A flag denoting whether or not the document is private */ isPrivate?: boolean; /** * The unique identifier of the entity that the document is associated with */ associatedId?: string; /** * The unique identifier of the type of document */ typeId?: string; /** * The filename of the document */ name?: string; /** * The identifier of the negotiator who added the document */ addedBy?: string; /** * App specific metadata that has been set against the document */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the document. Used for managing update concurrency */ readonly _eTag?: string; } interface DocumentModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the document */ id?: string; /** * The date and time when the document was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the document was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of entity that the document is associated with */ associatedType?: string; /** * A flag denoting whether or not the document is private */ isPrivate?: boolean; /** * The unique identifier of the entity that the document is associated with */ associatedId?: string; /** * The unique identifier of the type of document */ typeId?: string; /** * The filename of the document */ name?: string; /** * The identifier of the negotiator who added the document */ addedBy?: string; /** * App specific metadata that has been set against the document */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the document. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Documents { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: 'documentType'[]; id?: string[]; associatedId?: string[]; associatedType?: ('appliance' | 'applicant' | 'bankStatement' | 'batch' | 'certificate' | 'contact' | 'depositCertificate' | 'estate' | 'estateUnit' | 'idCheck' | 'keySet' | 'landlord' | 'nominalTransaction' | 'property' | 'tenancy' | 'tenancyCheck' | 'tenancyRenewal' | 'worksOrder')[]; typeId?: string[]; includeRoleDocuments?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; } interface Enquiries { pageSize?: number; pageNumber?: number; sortBy?: string; enquiryType?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Representation of the physical address of a building or premise */ interface EnquiryAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Request body used to create a buying enquiry */ interface EnquiryBuyingModel { /** * The lower bound of the prospective buyer's budget */ priceFrom?: number; /** * The upper bound of the prospective buyer's budget */ priceTo?: number; } /** * Representation of an enquiry */ interface EnquiryModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the enquiry */ id?: number; /** * The date and time when the enquiry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the enquiry was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The title of the individual making the enquiry */ title?: string; /** * The forename of the individual making the enquiry */ forename?: string; /** * The surname of the individual making the enquiry */ surname?: string; /** * The type of enquiry. Enquiries can created for applicants interested in buying/renting, as well as prospective vendors and landlords (salesApplicant/lettingsApplicant/salesProperty/lettingsProperty) */ enquiryType?: string; /** * Textual information about the nature of the enquiry - usually the message text from the individual making the enquiry */ message?: string; /** * The status of the enquiry (pending/added/rejected/alreadyExists/duplicateEntry/spam) */ status?: string; /** * The marketing consent status of the individual making the enquiry (grant/deny/notAsked) */ marketingConsent?: string; /** * The selling position of the individual making the enquiry (renting/instructedThisAgent/instructedOtherAgent/privateSale/notOnMarket) */ position?: string; /** * The unique identifier of the office related to the enquiry */ officeId?: string; /** * The unique identifier of the applicant related to the enquiry */ applicantId?: string; /** * The unique identifier of the negotiator related to the enquiry */ negotiatorId?: string; /** * The unique identifier of the lead negotiator who has been assigned to the enquiry */ leadNegotiatorId?: string; /** * The name of the source that the enquiry was generated by */ sourceName?: string; /** * The home phone number of the individual making the enquiry */ homePhone?: string; /** * The work phone number of the individual making the enquiry */ workPhone?: string; /** * The mobile phone number of the individual making the enquiry */ mobilePhone?: string; /** * The email of the individual making the enquiry */ email?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * Request body used to create a buying enquiry */ buying?: { /** * The lower bound of the prospective buyer's budget */ priceFrom?: number; /** * The upper bound of the prospective buyer's budget */ priceTo?: number; }; /** * The details specific to enquiries with a type of lettingsApplicant */ renting?: { /** * The lower bound of the prospective tenant's budget */ rentFrom?: number; /** * The upper bound of the prospective tenant's budget */ rentTo?: number; /** * How often the tenant would like to pay the rent (weekly/monthly/annually) */ rentFrequency?: string; }; /** * The number of bedrooms the prospective buyer or tenant requires */ bedrooms?: number; /** * A list of unique property identifiers that this enquiry relates to. Used to indicate the properties that a sales or lettings applicant has expressed an interest in */ propertyIds?: string[]; /** * The ETag for the current version of the enquiry. Used for managing update concurrency */ readonly _eTag?: string; } interface EnquiryModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the enquiry */ id?: number; /** * The date and time when the enquiry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the enquiry was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The title of the individual making the enquiry */ title?: string; /** * The forename of the individual making the enquiry */ forename?: string; /** * The surname of the individual making the enquiry */ surname?: string; /** * The type of enquiry. Enquiries can created for applicants interested in buying/renting, as well as prospective vendors and landlords (salesApplicant/lettingsApplicant/salesProperty/lettingsProperty) */ enquiryType?: string; /** * Textual information about the nature of the enquiry - usually the message text from the individual making the enquiry */ message?: string; /** * The status of the enquiry (pending/added/rejected/alreadyExists/duplicateEntry/spam) */ status?: string; /** * The marketing consent status of the individual making the enquiry (grant/deny/notAsked) */ marketingConsent?: string; /** * The selling position of the individual making the enquiry (renting/instructedThisAgent/instructedOtherAgent/privateSale/notOnMarket) */ position?: string; /** * The unique identifier of the office related to the enquiry */ officeId?: string; /** * The unique identifier of the applicant related to the enquiry */ applicantId?: string; /** * The unique identifier of the negotiator related to the enquiry */ negotiatorId?: string; /** * The unique identifier of the lead negotiator who has been assigned to the enquiry */ leadNegotiatorId?: string; /** * The name of the source that the enquiry was generated by */ sourceName?: string; /** * The home phone number of the individual making the enquiry */ homePhone?: string; /** * The work phone number of the individual making the enquiry */ workPhone?: string; /** * The mobile phone number of the individual making the enquiry */ mobilePhone?: string; /** * The email of the individual making the enquiry */ email?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * Request body used to create a buying enquiry */ buying?: { /** * The lower bound of the prospective buyer's budget */ priceFrom?: number; /** * The upper bound of the prospective buyer's budget */ priceTo?: number; }; /** * The details specific to enquiries with a type of lettingsApplicant */ renting?: { /** * The lower bound of the prospective tenant's budget */ rentFrom?: number; /** * The upper bound of the prospective tenant's budget */ rentTo?: number; /** * How often the tenant would like to pay the rent (weekly/monthly/annually) */ rentFrequency?: string; }; /** * The number of bedrooms the prospective buyer or tenant requires */ bedrooms?: number; /** * A list of unique property identifiers that this enquiry relates to. Used to indicate the properties that a sales or lettings applicant has expressed an interest in */ propertyIds?: string[]; /** * The ETag for the current version of the enquiry. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * The details specific to enquiries with a type of lettingsApplicant */ interface EnquiryRentingModel { /** * The lower bound of the prospective tenant's budget */ rentFrom?: number; /** * The upper bound of the prospective tenant's budget */ rentTo?: number; /** * How often the tenant would like to pay the rent (weekly/monthly/annually) */ rentFrequency?: string; } /** * Read model representing a Guarantor */ interface GuarantorModel { /** * The identifier for the guarantor record */ id?: string; /** * The identifier for the contact record associated with the guarantor */ guarantorAssociatedId?: string; /** * Value indicating whether a the referenced guarantor is a person or a company */ type?: string; /** * The status of the reference requested from the guarantor (notSet/requested/received) */ referenceStatus?: string; } /** * Any specific details relating to the marketing of a property in Guernsey */ interface GuernseyModel { /** * Attributes describing which markets the property is available in (local/openA/openB/openC/openD) */ market?: string[]; } type HttpStatusCode = 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511; /** * Representation of a contact identity check */ interface IdentityCheckModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the identity check */ id?: string; /** * The unique identifier of the contact associated to the identity check */ contactId?: string; /** * The date and time when the identity check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the identity check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date when the identity check was performed. This may differ to the date when the check was created * example: * 2019-08-14 */ checkDate?: string; /** * The current status of the identity check (pass/fail/pending/cancelled/warnings/unchecked) */ status?: string; /** * The unique identifier of the negotiator that initiated the identity check */ negotiatorId?: string; /** * Representation of a single identity document that was provided as part of a contact identity check (eg. passport) */ identityDocument1?: { /** * The unique identifier of the identity document */ documentId?: string; /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; }; /** * Representation of a single identity document that was provided as part of a contact identity check (eg. passport) */ identityDocument2?: { /** * The unique identifier of the identity document */ documentId?: string; /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; }; /** * App specific metadata that has been set against the identity check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the identity check. Used for managing update concurrency */ readonly _eTag?: string; } interface IdentityCheckModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the identity check */ id?: string; /** * The unique identifier of the contact associated to the identity check */ contactId?: string; /** * The date and time when the identity check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the identity check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date when the identity check was performed. This may differ to the date when the check was created * example: * 2019-08-14 */ checkDate?: string; /** * The current status of the identity check (pass/fail/pending/cancelled/warnings/unchecked) */ status?: string; /** * The unique identifier of the negotiator that initiated the identity check */ negotiatorId?: string; /** * Representation of a single identity document that was provided as part of a contact identity check (eg. passport) */ identityDocument1?: { /** * The unique identifier of the identity document */ documentId?: string; /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; }; /** * Representation of a single identity document that was provided as part of a contact identity check (eg. passport) */ identityDocument2?: { /** * The unique identifier of the identity document */ documentId?: string; /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; }; /** * App specific metadata that has been set against the identity check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the identity check. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface IdentityChecks { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('contact' | 'document1' | 'document2' | 'documentType1' | 'documentType2')[]; id?: string[]; contactId?: string[]; negotiatorId?: string[]; status?: ('unknown' | 'unchecked' | 'pending' | 'fail' | 'cancelled' | 'warnings' | 'pass')[]; checkDateFrom?: string; checkDateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; } /** * Representation of a single identity document that was provided as part of a contact identity check (eg. passport) */ interface IdentityDocumentModel { /** * The unique identifier of the identity document */ documentId?: string; /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; } /** * Representation of an individual key included in a key set */ interface IndividualKeyModel { /** * The name of the individual key in the set */ name?: string; } /** * Request body used to create or update a relationship between an applicant and a contact or company * example: * [object Object] */ interface InsertApplicantContactRelationshipModel { /** * The unique identifier of the contact or company to create a relationship with */ associatedId?: string; /** * The type of relationship to create (contact/company) */ associatedType?: string; /** * Flag denoting whether or not this relationship should be considered to be the main/primary relationship. Setting to true will automatically demote the existing primary relationship */ isMain?: boolean; } /** * Request body used to create or update a relationship between a landlord and a contact or company * example: * [object Object] */ interface InsertLandlordContactRelationshipModel { /** * The unique identifier of the contact or company to create a relationship with */ associatedId: string; /** * The type of relationship to create (contact/company) */ associatedType: string; /** * Flag denoting whether or not this relationship should be considered to be the main/primary relationship. Setting to true will automatically demote the existing primary relationship */ isMain: boolean; } /** * Request body used to create or update a relationship between a vendor and a contact or company * example: * [object Object] */ interface InsertVendorContactRelationshipModel { /** * The unique identifier of the contact or company to create a relationship with */ associatedId: string; /** * The type of relationship to create (contact/company) */ associatedType: string; /** * Flag denoting whether or not this relationship should be considered to be the main/primary relationship. Setting to true will automatically demote the existing primary relationship */ isMain: boolean; } /** * Detailed representation of an individual invoice */ interface InvoiceDetailModel { /** * Unique identifier of the invoice */ id?: string; /** * The date and time when the invoice was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the invoice was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The invoice reference */ reference?: string; /** * Unique identifier of the negotiator associated with the invoice */ negotiatorId?: string; /** * Unique identifier of the property associated with the invoice */ propertyId?: string; /** * Description of the invoice */ description?: string; /** * The status of the invoice */ status?: string; /** * The date of the invoice * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The due date of the invoice * example: * 2019-08-14T12:30:02Z */ dueDate?: string; /** * Flag indicating whether the invoice has been raised */ isRaised?: boolean; /** * The net amount due for the invoice in the system base currency */ netAmount?: number; /** * The amount of VAT due for the invoice in the system base currency */ vatAmount?: number; /** * The value of the invoice outstanding in the system base currency */ outstandingAmount?: number; /** * Collection of charges associated with the invoice */ charges?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the charge */ id?: string; /** * The date and time when the charge was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the charge was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of charge (charge/advertising) */ type?: string; /** * The unique identifier of the invoice with which this charge is associated */ invoiceId?: string; /** * The unique identifier of the property with which this charge is associated */ propertyId?: string; /** * The unique identifier of the negotiator with which this charge is associated */ negotiatorId?: string; /** * The code representing the VAT applied to this charge */ vatCode?: string; /** * Description of the charge */ description?: string; /** * The net amount */ netAmount?: number; /** * The VAT amount */ vatAmount?: number; }[]; /** * Collection of credits associated with the invoice */ credits?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the credit */ id?: string; /** * The date and time when the credit was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the credit was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the credit */ negotiatorId?: string; /** * Unique identifier of the property associated with the credit */ propertyId?: string; /** * Unique identifier of the invoice associated with the credit */ invoiceId?: string; /** * Description of the credit */ description?: string; /** * The date of the credit * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the credit in the system base currency */ netAmount?: number; /** * The amount of VAT due for the credit in the system base currency */ vatAmount?: number; }[]; /** * Collection of payments associated with the invoice */ payments?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the payment */ id?: string; /** * The date and time when the payment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the payment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the payment */ negotiatorId?: string; /** * Unique identifier of the property associated with the payment */ propertyId?: string; /** * Unique identifier of the invoice associated with the payment */ invoiceId?: string; /** * Description of the payment */ description?: string; /** * The type of payment */ type?: string; /** * The date of the payment * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the payment in the system base currency */ netAmount?: number; /** * The amount of VAT due for the payment in the system base currency */ vatAmount?: number; }[]; readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; } /** * Representation of an individual invoice */ interface InvoiceModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the invoice */ id?: string; /** * The date and time when the invoice was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the invoice was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The invoice reference */ reference?: string; /** * Unique identifier of the negotiator associated with the invoice */ negotiatorId?: string; /** * Unique identifier of the property associated with the invoice */ propertyId?: string; /** * Description of the invoice */ description?: string; /** * The status of the invoice */ status?: string; /** * The date of the invoice * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The due date of the invoice * example: * 2019-08-14T12:30:02Z */ dueDate?: string; /** * Flag indicating whether the invoice has been raised */ isRaised?: boolean; /** * The net amount due for the invoice in the system base currency */ netAmount?: number; /** * The amount of VAT due for the invoice in the system base currency */ vatAmount?: number; /** * The value of the invoice outstanding in the system base currency */ outstandingAmount?: number; } interface InvoiceModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the invoice */ id?: string; /** * The date and time when the invoice was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the invoice was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The invoice reference */ reference?: string; /** * Unique identifier of the negotiator associated with the invoice */ negotiatorId?: string; /** * Unique identifier of the property associated with the invoice */ propertyId?: string; /** * Description of the invoice */ description?: string; /** * The status of the invoice */ status?: string; /** * The date of the invoice * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The due date of the invoice * example: * 2019-08-14T12:30:02Z */ dueDate?: string; /** * Flag indicating whether the invoice has been raised */ isRaised?: boolean; /** * The net amount due for the invoice in the system base currency */ netAmount?: number; /** * The amount of VAT due for the invoice in the system base currency */ vatAmount?: number; /** * The value of the invoice outstanding in the system base currency */ outstandingAmount?: number; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Invoices { pageNumber?: number; pageSize?: number; sortBy?: string; negotiatorId?: string[]; propertyId?: string[]; status?: ('pending' | 'raised' | 'partPaid' | 'partCredited' | 'credited' | 'paid')[]; dateFrom?: string; dateTo?: string; dueDateFrom?: string; dueDateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } interface InvoicesCharges { pageNumber?: number; pageSize?: number; sortBy?: string; negotiatorId?: string[]; propertyId?: string[]; invoiceId?: string[]; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } interface InvoicesCredits { pageNumber?: number; pageSize?: number; sortBy?: string; negotiatorId?: string[]; propertyId?: string[]; invoiceId?: string[]; dateFrom?: string; dateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } interface InvoicesPayments { pageNumber?: number; pageSize?: number; sortBy?: string; negotiatorId?: string[]; propertyId?: string[]; invoiceId?: string[]; type?: ('payment' | 'accountPayment' | 'advertisingPayment' | 'buyerDeposit')[]; dateFrom?: string; dateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Any specific details relating to energy performance ratings for properties marketed in Ireland */ interface IrelandPropertyBERModel { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; } /** * Any specific details relating to the marketing of a property in Ireland */ interface IrelandPropertyModel { /** * Any specific details relating to energy performance ratings for properties marketed in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; } interface JournalEntries { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('property' | 'negotiator' | 'type')[]; associatedType?: string; associatedId?: string[]; negotiatorId?: string[]; propertyId?: string[]; typeId?: string[]; createdFrom?: string; createdTo?: string; } interface JournalEntriesLandlords { pageSize?: number; pageNumber?: number; sortBy?: string; landlordId?: string[]; negotiatorId?: string[]; propertyId?: string[]; type?: string; createdFrom?: string; createdTo?: string; } /** * Representation of a journal entry */ interface JournalEntryModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The date and time when the journal entry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type */ propertyId?: string; /** * The entity type the journal entry has been raised against (applicant/contact/company/enquiry/landlord/tenancy/worksOrder) */ associatedType?: string; /** * The unique identifier of the entity the journal entry has been raised against. Can additionally be associated to a property */ associatedId?: string; /** * The type of journal entry */ typeId?: string; /** * The unique identifier of the negotiator that created the entry */ negotiatorId?: string; /** * The textual description of the journal entry event */ description?: string; } interface JournalEntryModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The date and time when the journal entry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type */ propertyId?: string; /** * The entity type the journal entry has been raised against (applicant/contact/company/enquiry/landlord/tenancy/worksOrder) */ associatedType?: string; /** * The unique identifier of the entity the journal entry has been raised against. Can additionally be associated to a property */ associatedId?: string; /** * The type of journal entry */ typeId?: string; /** * The unique identifier of the negotiator that created the entry */ negotiatorId?: string; /** * The textual description of the journal entry event */ description?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a key movement */ interface KeyMovementModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the key movement */ id?: string; /** * The date and time when the key movement was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the key movement was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the key set this movement belongs to */ keyId?: string; /** * The unique identifier of the property that the key set belongs to */ propertyId?: string; /** * The unique identifier of the contact/negotiator that the key is checked out with */ checkOutToId?: string; /** * The type of entity that checked out the key (contact/negotiator) */ checkOutToType?: string; /** * The date and time of when the key set was checked out * example: * 2019-08-14T12:30:02Z */ checkOutAt?: string; /** * The unique identifier of the negotiator who performed the key check out */ checkOutNegotiatorId?: string; /** * The date and time of when the key set was checked in * example: * 2019-08-14T12:30:02Z */ checkInAt?: string; /** * The unique identifier of the negotiator who performed the key check in */ checkInNegotiatorId?: string; /** * The ETag for the current version of the key movement. Used for managing update concurrency */ readonly _eTag?: string; } interface KeyMovementModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the key movement */ id?: string; /** * The date and time when the key movement was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the key movement was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the key set this movement belongs to */ keyId?: string; /** * The unique identifier of the property that the key set belongs to */ propertyId?: string; /** * The unique identifier of the contact/negotiator that the key is checked out with */ checkOutToId?: string; /** * The type of entity that checked out the key (contact/negotiator) */ checkOutToType?: string; /** * The date and time of when the key set was checked out * example: * 2019-08-14T12:30:02Z */ checkOutAt?: string; /** * The unique identifier of the negotiator who performed the key check out */ checkOutNegotiatorId?: string; /** * The date and time of when the key set was checked in * example: * 2019-08-14T12:30:02Z */ checkInAt?: string; /** * The unique identifier of the negotiator who performed the key check in */ checkInNegotiatorId?: string; /** * The ETag for the current version of the key movement. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a set of keys */ interface KeysModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the key */ id?: string; /** * The date and time when the key was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the key was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The number assigned to the key - key numbers can only be occupied by a single property within an office concurrently */ number?: string; /** * The unique identifier of the key type */ typeId?: string; /** * The unique identifier of the office responsible for the key */ officeId?: string; /** * The unique identifier of the property that the key belongs to */ propertyId?: string; /** * The status of the key (checkedIn/checkedOut/noLongerHeld) */ status?: string; /** * A listing of the individual keys included in the set */ keysInSet?: { /** * The name of the individual key in the set */ name?: string; }[]; /** * The ETag for the current version of the keys. Used for managing update concurrency */ readonly _eTag?: string; } interface KeysModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the key */ id?: string; /** * The date and time when the key was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the key was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The number assigned to the key - key numbers can only be occupied by a single property within an office concurrently */ number?: string; /** * The unique identifier of the key type */ typeId?: string; /** * The unique identifier of the office responsible for the key */ officeId?: string; /** * The unique identifier of the property that the key belongs to */ propertyId?: string; /** * The status of the key (checkedIn/checkedOut/noLongerHeld) */ status?: string; /** * A listing of the individual keys included in the set */ keysInSet?: { /** * The name of the individual key in the set */ name?: string; }[]; /** * The ETag for the current version of the keys. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the physical address of a building or premise */ interface LandlordContactAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * A summarised view of the details of a contact associated to a landlord */ interface LandlordContactModel { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; } /** * Representation of relationship between a landlord and a contact or company */ interface LandlordContactRelationshipModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the landlord relationship */ id?: string; /** * The unique identifier of the landlord */ landlordId?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not the relationship should be regarded as the main relationship for the parent landlord entity */ isMain?: boolean; } interface LandlordContactRelationshipModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the landlord relationship */ id?: string; /** * The unique identifier of the landlord */ landlordId?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not the relationship should be regarded as the main relationship for the parent landlord entity */ isMain?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a landlord related journal entry */ interface LandlordJournalEntryModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The date and time when the journal entry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type */ propertyId?: string; /** * The unique identifier of the landlord the journal entry is related to. */ landlordId?: string; /** * The type of journal entry */ type?: string; /** * The unique identifier of the negotiator that created the entry */ negotiatorId?: string; /** * The textual description of the journal entry event */ description?: string; } interface LandlordJournalEntryModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The date and time when the journal entry was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The unique identifier of the property the journal entry is related to. Can additionally be associated to another type */ propertyId?: string; /** * The unique identifier of the landlord the journal entry is related to. */ landlordId?: string; /** * The type of journal entry */ type?: string; /** * The unique identifier of the negotiator that created the entry */ negotiatorId?: string; /** * The textual description of the journal entry event */ description?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a landlord */ interface LandlordModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the landlord */ id?: string; /** * The date and time when the landlord was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the landlord was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * A flag determining whether or not the landlord is currently active */ active?: boolean; /** * The unique identifier of the company acting as the landlord's solicitor */ solicitorId?: string; /** * The unique identifier of the office that is associated to the landlord */ officeId?: string; /** * The delivery preferences for statements (email/post/notSent) */ statementPreferences?: string[]; /** * Representation of a landlord's source */ source?: { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A collection of contacts and/or companies associated to the landlord. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the landlord */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the landlord. Used for managing update concurrency */ readonly _eTag?: string; } interface LandlordModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the landlord */ id?: string; /** * The date and time when the landlord was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the landlord was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * A flag determining whether or not the landlord is currently active */ active?: boolean; /** * The unique identifier of the company acting as the landlord's solicitor */ solicitorId?: string; /** * The unique identifier of the office that is associated to the landlord */ officeId?: string; /** * The delivery preferences for statements (email/post/notSent) */ statementPreferences?: string[]; /** * Representation of a landlord's source */ source?: { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A collection of contacts and/or companies associated to the landlord. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the landlord */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the landlord. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a landlord's source */ interface LandlordSourceModel { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; } interface Landlords { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('appointments' | 'documents' | 'office' | 'properties' | 'solicitor' | 'source')[]; id?: string[]; email?: string[]; officeId?: string[]; extrasField?: string[]; active?: boolean; address?: string; name?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; } interface LinkModel { href?: string; } /** * Representation of detail properties configuration item * configuration */ interface ListItemDetailModel { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; /** * A flag determining the status */ active?: boolean; /** * A collection of unique identifiers of offices associated */ officeIds?: string[]; } /** * Representation of a configuration item */ interface ListItemModel { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; } /** * Representation of heirarchical category configuration items with a type. */ interface ListItemTypeModel { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; /** * The category type. */ type?: string; } interface Metadata { pageSize?: number; pageNumber?: number; entityType?: string; id?: string[]; entityId?: string[]; filter?: string[]; useTokenBasedPaging?: boolean; nextPageToken?: string; } interface MetadataMetadataSchema { pageSize?: number; pageNumber?: number; entityType?: string; } /** * Model representing the state of a metadata record for a given entity */ interface MetadataModel { /** * The unique identifier of this metadata record */ id?: string; /** * The date and time of when this metadata record was last updated * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the entity type that this metadata record is associated to */ entityType?: string; /** * The unique identifier of the the entity that this metadata is associated to */ entityId?: string; /** * The JSON document content */ metadata?: { [name: string]: any; }; } interface MetadataModelPagedResult { _embedded?: { /** * The unique identifier of this metadata record */ id?: string; /** * The date and time of when this metadata record was last updated * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the entity type that this metadata record is associated to */ entityType?: string; /** * The unique identifier of the the entity that this metadata is associated to */ entityId?: string; /** * The JSON document content */ metadata?: { [name: string]: any; }; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a negotiator */ interface NegotiatorModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the negotiator */ id?: string; /** * The date and time when the negotiator was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the negotiator was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the negotiator */ name?: string; /** * The job title of the negotiator */ jobTitle?: string; /** * The unique identifier of the office that the negotiator is attached to */ officeId?: string; /** * The work phone number of the negotiator */ workPhone?: string; /** * The mobile phone number of the negotiator */ mobilePhone?: string; /** * The email address of the negotiator */ email?: string; /** * The URL of the optional negotiator profile image */ profileImageUrl?: string; /** * A flag determining whether or not the negotiator is active */ active?: boolean; /** * The identifiers of other negotiators whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryNegotiatorIds?: string[]; /** * The identifiers of other offices whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryOfficeIds?: string[]; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * App specific metadata that has been set against the negotiator */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the negotiator. Used for managing update concurrency */ readonly _eTag?: string; } interface NegotiatorModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the negotiator */ id?: string; /** * The date and time when the negotiator was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the negotiator was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the negotiator */ name?: string; /** * The job title of the negotiator */ jobTitle?: string; /** * The unique identifier of the office that the negotiator is attached to */ officeId?: string; /** * The work phone number of the negotiator */ workPhone?: string; /** * The mobile phone number of the negotiator */ mobilePhone?: string; /** * The email address of the negotiator */ email?: string; /** * The URL of the optional negotiator profile image */ profileImageUrl?: string; /** * A flag determining whether or not the negotiator is active */ active?: boolean; /** * The identifiers of other negotiators whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryNegotiatorIds?: string[]; /** * The identifiers of other offices whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryOfficeIds?: string[]; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * App specific metadata that has been set against the negotiator */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the negotiator. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Negotiators { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: 'office'[]; id?: string[]; officeId?: string[]; email?: string; name?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; active?: boolean; metadata?: string[]; } /** * Model representing a nominal account */ interface NominalAccountModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the nominal account */ id?: string; /** * The date and time when the nominal account was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the nominal account was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The nominal account name */ name?: string; /** * Flag indicating whether or not the nominal account can be associated with works orders */ appliesToWorksOrders?: boolean; } interface NominalAccountModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the nominal account */ id?: string; /** * The date and time when the nominal account was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the nominal account was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The nominal account name */ name?: string; /** * Flag indicating whether or not the nominal account can be associated with works orders */ appliesToWorksOrders?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the physical address of a building or premise */ interface OfferContactAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; } /** * A summarised view of the details of a contact associated to an offer */ interface OfferContactModel { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; } /** * Representation of an offer */ interface OfferModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the offer */ id?: string; /** * The the date and time when the offer was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the offer was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The currency that applies to monetary amounts exposed in the model */ currency?: string; /** * The unique identifier of the applicant associated to the offer */ applicantId?: string; /** * The unique identifier of the company associated to the offer */ companyId?: string; /** * The unique identifier of the contact associated to the offer */ contactId?: string; /** * The unique identifier of the property associated to the offer */ propertyId?: string; /** * The unique identifier of the negotiator associated to the offer */ negotiatorId?: string; /** * The date when the offer was made * example: * 2019-08-14 */ date?: string; /** * The monetary amount of the offer */ amount?: number; /** * The current status of the offer (pending/withdrawn/rejected/accepted/noteOfInterest) */ status?: string; /** * A free text field describing items that should be included in the sale */ inclusions?: string; /** * A free text field describing items that are explicitly excluded from the sale */ exclusions?: string; /** * A free text field describing any other conditions set by either party that relate to the sale */ conditions?: string; /** * A collection of contacts associated to the offer */ related?: { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the offer */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the offer. Used for managing update concurrency */ readonly _eTag?: string; } interface OfferModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the offer */ id?: string; /** * The the date and time when the offer was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the offer was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The currency that applies to monetary amounts exposed in the model */ currency?: string; /** * The unique identifier of the applicant associated to the offer */ applicantId?: string; /** * The unique identifier of the company associated to the offer */ companyId?: string; /** * The unique identifier of the contact associated to the offer */ contactId?: string; /** * The unique identifier of the property associated to the offer */ propertyId?: string; /** * The unique identifier of the negotiator associated to the offer */ negotiatorId?: string; /** * The date when the offer was made * example: * 2019-08-14 */ date?: string; /** * The monetary amount of the offer */ amount?: number; /** * The current status of the offer (pending/withdrawn/rejected/accepted/noteOfInterest) */ status?: string; /** * A free text field describing items that should be included in the sale */ inclusions?: string; /** * A free text field describing items that are explicitly excluded from the sale */ exclusions?: string; /** * A free text field describing any other conditions set by either party that relate to the sale */ conditions?: string; /** * A collection of contacts associated to the offer */ related?: { /** * The unique identifier of the contact */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (contact/company) */ type?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides in */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * App specific metadata that has been set against the offer */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the offer. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Offers { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('applicant' | 'conveyancing' | 'property' | 'negotiator')[]; id?: string[]; applicantId?: string[]; propertyId?: string[]; status?: ('pending' | 'withdrawn' | 'rejected' | 'accepted' | 'noteOfInterest' | 'noteOfInterestWithdrawn')[]; address?: string; name?: string; amountFrom?: number; amountTo?: number; dateFrom?: string; dateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; } /** * Representation of the geographical location of an address using coordinates */ interface OfficeAddressGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; } /** * Representation of the physical address of a building or premise */ interface OfficeAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; } /** * Representation of an office */ interface OfficeModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the office */ id?: string; /** * The date and time when the office was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the office was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the office */ name?: string; /** * The name of the office manager */ manager?: string; /** * A flag denoting whether or not this office is active */ active?: boolean; /** * The region that the office is in */ region?: string; /** * The referral postcodes. */ referTo?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * The work phone number of the office */ workPhone?: string; /** * The email address of the office */ email?: string; /** * App specific metadata that has been set against the office */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the office. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; } interface OfficeModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the office */ id?: string; /** * The date and time when the office was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the office was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the office */ name?: string; /** * The name of the office manager */ manager?: string; /** * A flag denoting whether or not this office is active */ active?: boolean; /** * The region that the office is in */ region?: string; /** * The referral postcodes. */ referTo?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; /** * The work phone number of the office */ workPhone?: string; /** * The email address of the office */ email?: string; /** * App specific metadata that has been set against the office */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the office. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Offices { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: 'negotiators'[]; id?: string[]; address?: string; name?: string; region?: string; active?: boolean; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; extrasField?: string[]; } /** * Representation of a calendar appointment */ interface OpenHouseAttendeeModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the open house attendee */ id?: string; /** * The unique identifier of the open house appointment */ openHouseId?: string; /** * The date and time when the open house attendee was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the open house attendee was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes taken regarding the open house attendee */ notes?: string; /** * The open house attendees interest level (veryInterested/notInterested/possibleInterest) */ interestLevel?: string; /** * An appointment attendee */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee */ type?: string; /** * A collection of contacts relating to the attendee */ contacts?: { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; }[]; }; /** * The ETag for the current version of the open house attendee. Used for managing update concurrency */ readonly _eTag?: string; } interface OpenHouseAttendeeModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the open house attendee */ id?: string; /** * The unique identifier of the open house appointment */ openHouseId?: string; /** * The date and time when the open house attendee was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the open house attendee was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes taken regarding the open house attendee */ notes?: string; /** * The open house attendees interest level (veryInterested/notInterested/possibleInterest) */ interestLevel?: string; /** * An appointment attendee */ attendee?: { /** * The unique identifier of the attendee */ id?: string; /** * The type of attendee */ type?: string; /** * A collection of contacts relating to the attendee */ contacts?: { /** * The unique identifier of the contact */ id?: string; /** * The name of the contact */ name?: string; /** * The title of the contact (e.g. Ms, Mr, Mrs, Dr) */ title?: string; /** * The forename of the contact */ forename?: string; /** * The surname of the contact */ surname?: string; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A flag determining if the related contact is archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; }[]; }; /** * The ETag for the current version of the open house attendee. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * example: * [object Object] */ interface Operation { operationType?: 0 | 1 | 2 | 3 | 4 | 5 | 6; path?: string; op?: string; from?: string; value?: any; } type OperationType = 0 | 1 | 2 | 3 | 4 | 5 | 6; interface PagingLinkModel { href?: string; } /** * Representation of an individual payment */ interface PaymentModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the payment */ id?: string; /** * The date and time when the payment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the payment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the payment */ negotiatorId?: string; /** * Unique identifier of the property associated with the payment */ propertyId?: string; /** * Unique identifier of the invoice associated with the payment */ invoiceId?: string; /** * Description of the payment */ description?: string; /** * The type of payment */ type?: string; /** * The date of the payment * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the payment in the system base currency */ netAmount?: number; /** * The amount of VAT due for the payment in the system base currency */ vatAmount?: number; } interface PaymentModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * Unique identifier of the payment */ id?: string; /** * The date and time when the payment was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the payment was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the negotiator associated with the payment */ negotiatorId?: string; /** * Unique identifier of the property associated with the payment */ propertyId?: string; /** * Unique identifier of the invoice associated with the payment */ invoiceId?: string; /** * Description of the payment */ description?: string; /** * The type of payment */ type?: string; /** * The date of the payment * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The net amount due for the payment in the system base currency */ netAmount?: number; /** * The amount of VAT due for the payment in the system base currency */ vatAmount?: number; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the preferred supplier details to lettings marketing. */ interface PreferredSupplierModel { /** * Unique identifier of the supplier. */ id?: string; /** * Name of the supplier. */ name?: string; } interface Properties { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('appointments' | 'area' | 'certificates' | 'department' | 'documents' | 'images' | 'keys' | 'landlord' | 'negotiator' | 'offers' | 'offices' | 'tenancies' | 'vendor')[]; id?: string[]; age?: ('period' | 'new' | 'modern' | 'old')[]; agentRole?: ('managed' | 'rentCollection' | 'collectFirstPayment' | 'collectRentToDate' | 'lettingOnly' | 'introducingTenant')[]; areaId?: string[]; excludeAreaId?: string[]; landlordId?: string[]; lettingStatus?: ('valuation' | 'toLet' | 'toLetUnavailable' | 'underOffer' | 'underOfferUnavailable' | 'arrangingTenancyUnavailable' | 'arrangingTenancy' | 'tenancyCurrentUnavailable' | 'tenancyCurrent' | 'tenancyFinished' | 'tenancyCancelled' | 'sold' | 'letByOtherAgent' | 'letPrivately' | 'provisional' | 'withdrawn')[]; locality?: ('rural' | 'village' | 'townCity')[]; marketingMode?: ('selling' | 'letting' | 'sellingAndLetting')[]; masterId?: string[]; negotiatorId?: string[]; officeId?: string[]; parking?: ('residents' | 'offStreet' | 'secure' | 'underground' | 'garage' | 'doubleGarage' | 'tripleGarage' | 'carport')[]; sellingStatus?: ('preAppraisal' | 'valuation' | 'paidValuation' | 'forSale' | 'forSaleUnavailable' | 'underOffer' | 'underOfferUnavailable' | 'reserved' | 'exchanged' | 'completed' | 'soldExternally' | 'withdrawn')[]; situation?: ('garden' | 'land' | 'patio' | 'roofTerrace' | 'conservatory' | 'balcony' | 'communalGardens' | 'outsideSpace')[]; style?: ('terraced' | 'endTerrace' | 'detached' | 'semiDetached' | 'linkDetached' | 'mews' | 'basement' | 'lowerGroundFloor' | 'groundFloor' | 'firstFloor' | 'upperFloor' | 'upperFloorWithLift' | 'penthouse' | 'duplex')[]; type?: ('house' | 'bungalow' | 'flatApartment' | 'maisonette' | 'land' | 'farm' | 'cottage' | 'studio' | 'townhouse' | 'developmentPlot')[]; market?: ('local' | 'openA' | 'openB' | 'openC' | 'openD')[]; address?: string; countryId?: string; departmentId?: string; bedroomsFrom?: number; bedroomsTo?: number; priceFrom?: number; priceTo?: number; priceFiltersCurrency?: string; rentFrom?: number; rentTo?: number; rentFrequency?: ('weekly' | 'monthly' | 'annually')[]; internetAdvertising?: boolean; isExternal?: boolean; fromArchive?: boolean; availableFrom?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; metadata?: string[]; extrasField?: string[]; } interface PropertiesCertificates { pageNumber?: number; pageSize?: number; sortBy?: string; expiryDateFrom?: string; expiryDateTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; categories?: string[]; typeIds?: string[]; propertyIds?: string[]; embed?: 'property'[]; } /** * Representation of the physical address of a building or premise */ interface PropertyAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * The local timezone for the address, based on the Geolocation coordinates */ localTimeZone?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; } /** * Representation of a property appraisal */ interface PropertyAppraisalModel { /** * Unique identifier of the appraisal */ id?: string; /** * The date and time on which the property appraisal was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time on which the property appraisal was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the appraising company */ companyId?: string; /** * Flag indicating whether the appraisal is internal or external */ isExternal?: boolean; /** * The date of the appraisal * example: * 2019-08-14 */ date?: string; /** * The appraisal value */ price?: number; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Free-text notes associated with the appraisal */ notes?: string; readonly _eTag?: string; } interface PropertyAppraisalModelPagedResult { _embedded?: { /** * Unique identifier of the appraisal */ id?: string; /** * The date and time on which the property appraisal was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time on which the property appraisal was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Unique identifier of the appraising company */ companyId?: string; /** * Flag indicating whether the appraisal is internal or external */ isExternal?: boolean; /** * The date of the appraisal * example: * 2019-08-14 */ date?: string; /** * The appraisal value */ price?: number; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Free-text notes associated with the appraisal */ notes?: string; readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a cerificate */ interface PropertyCertificateModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the certificate */ id?: string; /** * The date and time when the certificate was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the certificate was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The certificate's category (safetyCertificate/insurancePolicy/warranty) */ category?: string; /** * The certificate's type */ typeId?: string; /** * The certificate's start date * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The certificate's expiry date * example: * 2019-08-14T12:30:02Z */ expiry?: string; /** * The unique identifier of the property */ propertyId?: string; /** * The unique identifier of the company */ companyId?: string; /** * The unique identifier of the certificates status */ statusId?: string; /** * Any general notes regarding the certificate */ notes?: string; /** * The certificate's reference number */ referenceNumber?: string; /** * The party responsible for the certificate, as defined in property configuration (agent/landlord/notRequired/notSet) */ responsibleParty?: string; /** * The ETag for the current version of the certificate. Used for managing update concurrency */ readonly _eTag?: string; } interface PropertyCertificateModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the certificate */ id?: string; /** * The date and time when the certificate was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the certificate was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The certificate's category (safetyCertificate/insurancePolicy/warranty) */ category?: string; /** * The certificate's type */ typeId?: string; /** * The certificate's start date * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The certificate's expiry date * example: * 2019-08-14T12:30:02Z */ expiry?: string; /** * The unique identifier of the property */ propertyId?: string; /** * The unique identifier of the company */ companyId?: string; /** * The unique identifier of the certificates status */ statusId?: string; /** * Any general notes regarding the certificate */ notes?: string; /** * The certificate's reference number */ referenceNumber?: string; /** * The party responsible for the certificate, as defined in property configuration (agent/landlord/notRequired/notSet) */ responsibleParty?: string; /** * The ETag for the current version of the certificate. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of certificate responsibilities configured for a property */ interface PropertyCertificateResponsibilitiesModel { /** * The id of the property to which the configured certificate responsibilities apply */ id?: string; /** * The date and time on which the property was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time on which the property was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The configured certificate responsibilities */ responsibleParties?: { /** * Identifier for the type of certificate for which the party is responsible */ typeId?: string; /** * The party responsible for the specified certificate type (landlord/agent/notRequired/notSet) */ responsibleParty?: string; }[]; /** * The ETag for the current version of the property. Used for managing update concurrency */ readonly _eTag?: string; } /** * Representation of a check */ interface PropertyCheckModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the check */ id?: string; /** * The date and time when the check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Textual description of what the check relates to */ description?: string; /** * The status of the check (needed/notNeeded/arranging/completed) */ status?: string; /** * The type of the check (preInstruction) */ type?: string; /** * The unique identifier of the property that this check relates to */ propertyId?: string; /** * The ETag for the current version of the check. Used for managing update concurrency */ readonly _eTag?: string; } interface PropertyCheckModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the check */ id?: string; /** * The date and time when the check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Textual description of what the check relates to */ description?: string; /** * The status of the check (needed/notNeeded/arranging/completed) */ status?: string; /** * The type of the check (preInstruction) */ type?: string; /** * The unique identifier of the property that this check relates to */ propertyId?: string; /** * The ETag for the current version of the check. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Represents a check in a property checklist. */ interface PropertyChecklistItemModel { /** * The unique identifier of the check, should it exist. */ readonly id?: string; /** * The label of the check. */ readonly label?: string; /** * The type of the check (string/integer/double/decimal/datetime/boolean) */ readonly type?: string; /** * The value of the check, should it exist. */ readonly value?: any; /** * Flag to determine if this check is applicable for the associated property. */ readonly notApplicable?: boolean; } /** * Represents a property checklist. */ interface PropertyChecklistModel { /** * The name of the checklist. */ readonly name?: string; /** * The collection of checks on the list. */ readonly checks?: { /** * The unique identifier of the check, should it exist. */ readonly id?: string; /** * The label of the check. */ readonly label?: string; /** * The type of the check (string/integer/double/decimal/datetime/boolean) */ readonly type?: string; /** * The value of the check, should it exist. */ readonly value?: any; /** * Flag to determine if this check is applicable for the associated property. */ readonly notApplicable?: boolean; }[]; } /** * Represents a collection of property checklists. */ interface PropertyChecklistsModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the property this checklist is associated with. */ readonly propertyId?: string; /** * The collection of property checklists. */ readonly checklists?: { /** * The name of the checklist. */ readonly name?: string; /** * The collection of checks on the list. */ readonly checks?: { /** * The unique identifier of the check, should it exist. */ readonly id?: string; /** * The label of the check. */ readonly label?: string; /** * The type of the check (string/integer/double/decimal/datetime/boolean) */ readonly type?: string; /** * The value of the check, should it exist. */ readonly value?: any; /** * Flag to determine if this check is applicable for the associated property. */ readonly notApplicable?: boolean; }[]; }[]; } /** * An properties commercial details */ interface PropertyCommercialModel { /** * The commercial use attributes (eg a1, a2, b1), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; } /** * Representation of the commission fee details for a property. */ interface PropertyCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; } /** * Representation of a reduction of the commission fee for a property. */ interface PropertyCommissionFeeReductionModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; } interface PropertyDescriptionsModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of property associated to the utilities */ propertyId?: string; /** * The summary of accommodation, typically short phrases or bullet points describing the key features of the property */ summary?: string; /** * The brief description of the property */ description?: string; /** * The strapline description containing a short summary about the property */ strapLine?: string; /** * Representation of the extra description set to the property */ description1?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; /** * Representation of the extra description set to the property */ description2?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; /** * Representation of the extra description set to the property */ description3?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; /** * Representation of the extra description set to the property */ description4?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; /** * Representation of the extra description set to the property */ description5?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; /** * Representation of the extra description set to the property */ description6?: { /** * The name of the description field */ name?: string; /** * The associated description */ text?: string; }; } /** * Representation of EPC statistics */ interface PropertyEpcModel { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The current energy efficiency letter rating (A-G). This is generated from the `eer` value * for systems that do not have an explicit EPC Rating component */ eerRating?: string; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The potential energy efficiency letter rating (A-G). This is generated from the `eerPotential` value */ eerPotentialRating?: string; /** * The current environmental impact rating */ eir?: number; /** * The current environment impact letter rating (A-G). This is generated from the `eir` value */ eirRating?: string; /** * The potential environmental impact rating */ eirPotential?: number; /** * The potential environment impact letter rating (A-G). This is generated from the `eirPotential` value */ eirPotentialRating?: string; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; } /** * Representation of the plot size of a property */ interface PropertyExternalAreaModel { /** * The unit of area (acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; } /** * Details specific to a properties flood erosion */ interface PropertyFloodErosionModel { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; } /** * Representation of the geographical location of an address using coordinates */ interface PropertyGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; } /** * Representation of a property image */ interface PropertyImageModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the image, which is also the filename */ id?: string; /** * The date and time when the image was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property image was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property attached to the image */ propertyId?: string; /** * The url where the image can be downloaded from. Please note that physical assets for archived images may no longer be available */ url?: string; /** * The url where the image thumbnail can be downloaded from. Please not that physical assets for archived images may no longer be available */ thumbnailUrl?: string; /** * The image caption */ caption?: string; /** * The type of image (photograph/floorPlan/epc/map) */ type?: string; /** * The display order index of the image which can be used to correctly order the whole collection */ order?: number; /** * A flag determining whether or not the image is archived. Please note that physical assets for archived images may no longer be available */ fromArchive?: boolean; /** * The ETag for the current version of the image. Used for managing update concurrency */ readonly _eTag?: string; } interface PropertyImageModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the image, which is also the filename */ id?: string; /** * The date and time when the image was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property image was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the property attached to the image */ propertyId?: string; /** * The url where the image can be downloaded from. Please note that physical assets for archived images may no longer be available */ url?: string; /** * The url where the image thumbnail can be downloaded from. Please not that physical assets for archived images may no longer be available */ thumbnailUrl?: string; /** * The image caption */ caption?: string; /** * The type of image (photograph/floorPlan/epc/map) */ type?: string; /** * The display order index of the image which can be used to correctly order the whole collection */ order?: number; /** * A flag determining whether or not the image is archived. Please note that physical assets for archived images may no longer be available */ fromArchive?: boolean; /** * The ETag for the current version of the image. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface PropertyImages { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; embed?: 'property'[]; propertyId?: string[]; type?: ('photograph' | 'map' | 'floorPlan' | 'epc')[]; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; fromArchive?: boolean; metadata?: string[]; } /** * Representation of the internal dimensions of a property */ interface PropertyInternalAreaModel { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; } /** * Representation of the commission fee details for a lettings property. */ interface PropertyLettingCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Representation of a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Representation of a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; } /** * Representation of property details specific to property licence application */ interface PropertyLettingLicenceApplicationModel { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14 */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14 */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14 */ expiry?: string; } /** * Representation of property details specific to property Licencing */ interface PropertyLettingLicencingModel { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/notSet/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14 */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14 */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14 */ expiry?: string; }; } /** * Representation of property details specific to lettings marketing */ interface PropertyLettingModel { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is next available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * The minimum number of months the property can be let out for */ minimumTerm?: number; /** * The unique identifier of the negotiator that manages the property */ propertyManagerId?: string; /** * The unique identifiers of the management companies associated to the property */ managementCompanyIds?: string[]; /** * The unique identifier of the document used for the lettings brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * Representation of the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Representation of the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Representation of a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Representation of a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; }; /** * Representation of property details specific to rent insurance associated with a lettings property */ rentInsurance?: { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; }; /** * Representation of property details specific to property Licencing */ licencing?: { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/notSet/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14 */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14 */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14 */ expiry?: string; }; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; /** * Representation of withdrawal details specific to lettings marketing */ withdrawalReason?: { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; }; /** * List of preferred suppliers of the property */ preferredSuppliers?: { /** * Unique identifier of the supplier. */ id?: string; /** * Name of the supplier. */ name?: string; }[]; } /** * Representation of property details specific to rent insurance associated with a lettings property */ interface PropertyLettingRentInsuranceModel { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; } /** * Representation of a property details related to deposit */ interface PropertyLettingsDepositModel { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; } /** * Representation of a property. Properties can be grouped into developments in the source data, functionality that is typically used by New Homes departments. * The _links collection will expose specific links to allow developers to navigate through a particular development, should a property be configured in this manner. Refer to commentary on the _links collection for more details */ interface PropertyModel { readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the property */ id?: string; /** * The date and time when the property was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the owner of the property was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the owner of the property is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The marketing mode of the property (selling/letting/sellingAndLetting) */ marketingMode?: string; /** * The currency that applies to monetary amounts exposed in the model */ currency?: string; /** * An optional alternative identifier specified for this property */ alternateId?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * The local timezone for the address, based on the Geolocation coordinates */ localTimeZone?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * The unique identifier of the area that the property resides in */ areaId?: string; /** * The strapline description containing a short summary about the property */ strapline?: string; /** * The brief description of the property */ description?: string; /** * The long description of the property */ longDescription?: string; /** * The property's local authority */ localAuthorityCompanyId?: string; /** * The name of the property's local authority */ localAuthorityCompanyName?: string; /** * The summary of accommodation, typically short phrases or bullet points describing the key features of the property */ summary?: string; /** * The unique identifier of the department the property is associated with. The property will only match to applicants with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId?: string; /** * The unique identifier of the negotiator managing the property */ negotiatorId?: string; /** * The unique identifier of the client accounts assistant of the property */ clientAccountsAssistantId?: string; /** * The total number of bedrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedrooms?: number; /** * The maximum number of bedrooms in the property or properties. This is typically used when marketing development sites and would be set on the master record. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMax?: number; /** * The total number of reception rooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptions?: number; /** * The maximum number of reception rooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMax?: number; /** * The total number of bathrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathrooms?: number; /** * The maximum number of bathrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMax?: number; /** * The number of units offered on the market. This is typically used when marketing development sites. */ numberOfUnits?: number; /** * The total number of parking spaces the property has. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpaces?: number; /** * The council tax banding of the property (A/B/C/D/E/F/G/H/I/notYetAvailable) */ councilTax?: string; /** * A collection of identifiers of portals that the property should not be displayed on */ disabledPortalIds?: string[]; /** * A flag denoting whether or not this property can be advertised on the internet */ internetAdvertising?: boolean; /** * A flag denoting whether or not the property has been instructed by another estate agent */ isExternal?: boolean; /** * A flag denoting whether or not the property accepts deposit schemes */ depositSchemeAccepted?: boolean; /** * The arrangements regarding viewing the property */ viewingArrangements?: string; /** * The url of a video associated with this property, such as a virtual tour */ videoUrl?: string; /** * The caption for the video url associated with this property */ videoCaption?: string; /** * The url of a second video associated with this property, such as a virtual tour */ video2Url?: string; /** * The caption for the second video url associated with this property */ video2Caption?: string; /** * Any general notes regarding the property. These are not usually exposed to end users and may contain sensitive information about a sale */ notes?: string; /** * The status of the advertising board sited outside or near to the property */ boardStatus?: string; /** * Any notes relevant to the advertising board sited outside or near to the property */ boardNotes?: string; /** * The properties featured image url */ featuredImageUrl?: string; /** * The url to the property on an external website */ url?: string; /** * The caption to accompany the url to the property on an external website */ urlCaption?: string; /** * The What3Words identifier for the property. */ what3Words?: string; /** * Any ground rent payment that applies to the property */ groundRent?: number; /** * Comments regarding the ground rent of the property */ groundRentComment?: string; /** * The date when the ground rent payable on the property should be reviewed * example: * 2019-08-14T12:30:02Z */ groundRentReviewDate?: string; /** * The annual percentage increase of the ground rent after being reviewed */ groundRentIncrease?: number; /** * Any service charge payment that applies to the property */ serviceCharge?: number; /** * Comments regarding the service charge of the property */ serviceChargeComment?: string; /** * The total number of parking spaces the property has. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ floorLevel?: number; /** * The number of internal floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ internalFloors?: number; /** * The total number of floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ totalFloors?: number; /** * The date the advertising board was last updated (or should be updated when the date is in the future) * example: * 2019-08-14 */ boardUpdated?: string; /** * The date on which the property was valued. Note that this can differ to physical appointment dates in some cases * example: * 2019-08-14 */ valuation?: string; /** * The date and time the property was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the property is archived */ fromArchive?: boolean; /** * Details specific to rural properties */ rural?: { /** * Details of the rural tenure associated with the property. */ tenureId?: string; /** * Details of the buildings associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; }; /** * Representation of the plot size of a property */ externalArea?: { /** * The unit of area (acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; }; /** * Representation of the internal dimensions of a property */ internalArea?: { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; }; /** * Representation of EPC statistics */ epc?: { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The current energy efficiency letter rating (A-G). This is generated from the `eer` value * for systems that do not have an explicit EPC Rating component */ eerRating?: string; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The potential energy efficiency letter rating (A-G). This is generated from the `eerPotential` value */ eerPotentialRating?: string; /** * The current environmental impact rating */ eir?: number; /** * The current environment impact letter rating (A-G). This is generated from the `eir` value */ eirRating?: string; /** * The potential environmental impact rating */ eirPotential?: number; /** * The potential environment impact letter rating (A-G). This is generated from the `eirPotential` value */ eirPotentialRating?: string; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; }; /** * Details specific to a properties rights restrictions */ rightsRestrictions?: { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; }; /** * Details specific to a properties flood erosion */ floodErosion?: { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; }; /** * A list of accesibility options provided by the property (unsuitableForWheelchairs/levelAccess/liftAccess/rampedAccess/wetRoom/wideDoorways/stepFreeAccess/levelAccessShower/lateralLiving) */ accessibility?: string[]; /** * Representation of property details specific to sales marketing */ selling?: { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The maximum price of a property on the development plot */ priceTo?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Representation of the tenure of a property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The unique identifier of the vendor selling the property */ vendorId?: string; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ agency?: string; /** * The unique identifier of the custom selling agency type - only applicable when Agency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The actual fee amount to be collected by the agent - often based on the exchange price of the property */ exchangedCompanyFee?: number; /** * The estimated monthly retail amount */ estimatedMonthlyRetailValue?: number; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The unique identifier of the document used for the sales brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * The price the property exchanged/sold for */ exchangedPrice?: number; /** * The unique identifier of the office that sold the property */ exchangedOfficeId?: string; /** * The gross yield amount */ grossYieldPercentage?: number; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; }; /** * Representation of property details specific to lettings marketing */ letting?: { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is next available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * The minimum number of months the property can be let out for */ minimumTerm?: number; /** * The unique identifier of the negotiator that manages the property */ propertyManagerId?: string; /** * The unique identifiers of the management companies associated to the property */ managementCompanyIds?: string[]; /** * The unique identifier of the document used for the lettings brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * Representation of the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Representation of the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Representation of a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Representation of a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; }; /** * Representation of property details specific to rent insurance associated with a lettings property */ rentInsurance?: { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; }; /** * Representation of property details specific to property Licencing */ licencing?: { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/notSet/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14 */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14 */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14 */ expiry?: string; }; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; /** * Representation of withdrawal details specific to lettings marketing */ withdrawalReason?: { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; }; /** * List of preferred suppliers of the property */ preferredSuppliers?: { /** * Unique identifier of the supplier. */ id?: string; /** * Name of the supplier. */ name?: string; }[]; }; /** * An properties commercial details */ commercial?: { /** * The commercial use attributes (eg a1, a2, b1), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Any specific details relating to the marketing of a property in Guernsey */ ggy?: { /** * Attributes describing which markets the property is available in (local/openA/openB/openC/openD) */ market?: string[]; }; /** * Any specific details relating to the marketing of a property in Ireland */ irl?: { /** * Any specific details relating to energy performance ratings for properties marketed in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; }; /** * The attributes describing the overall type of the property (eg house, bungalow, land), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ type?: string[]; /** * The attributes describing the style of property (eg detached, semiDetached), defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ style?: string[]; /** * The attributes describing other aspects of the property - such as outside space - as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situation?: string[]; /** * The attributes describing the parking available at the property (eg garage), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parking?: string[]; /** * The attributes describing the age of the property (eg new, period), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ age?: string[]; /** * The attributes describing the general location of the property (eg rural, townCity), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ locality?: string[]; /** * The attributes describing the property's special features (eg swimmingPool, tennisCourt), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The attributes associated to the property which are not currently mapped. These are defined the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ unmappedAttributes?: { /** * The type of unmapped attribute (style/type/situation/parking/age/locality/special) */ type?: string; /** * The value associated to the unmapped type */ value?: string; }[]; /** * Identifiers of any services connected at the property */ availableServicesIds?: string[]; /** * Details of each room in the property */ rooms?: { /** * The name of the room */ name?: string; /** * Details about the dimensions of the room */ dimensions?: string; /** * Details about the alternate dimensions of the room */ dimensionsAlt?: string; /** * Short description of the room */ description?: string; }[]; /** * A flag determining whether or not the property's room details have been approved by the vendor or landlord */ roomDetailsApproved?: boolean; /** * A collection of unique identifiers of offices attached to the property. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The date that this property became a lost instruction * example: * 2019-08-14T12:30:02Z */ lostInstructionDate?: string; /** * The notes regarding the lost instruction */ lostInstructionNote?: string; /** * The type of development */ developmentSiteType?: string; /** * App specific metadata that has been set against the property */ metadata?: { [name: string]: any; }; /** * The keywords associated with property */ keywords?: string[]; /** * The completion status of the property (notSet/completed/offPlan/completedPrimary/offPlanPrimary) */ completionStatus?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the property. Used for managing update concurrency */ readonly _eTag?: string; /** * Collection containing relative URLs to data associated with the property. * In the case of a development - where a property is grouped with, or associated to another property by way of a parent/child relationship, * the collection will contain a _master_ or _subPlot_ link depending on the property type. Where the property is the master record in a development (the parent), * a _subPlots_ link will be included in the collection giving you access to all the plots (the children) within the development. Where the property is a sub plot that forms part of a * development, a _master_ link will be included in the collection giving you access to the master record. */ readonly _links?: { [name: string]: { href?: string; }; }; } interface PropertyModelPagedResult { _embedded?: { readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the property */ id?: string; /** * The date and time when the property was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the owner of the property was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the owner of the property is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The marketing mode of the property (selling/letting/sellingAndLetting) */ marketingMode?: string; /** * The currency that applies to monetary amounts exposed in the model */ currency?: string; /** * An optional alternative identifier specified for this property */ alternateId?: string; /** * Representation of the physical address of a building or premise */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * The local timezone for the address, based on the Geolocation coordinates */ localTimeZone?: string; /** * Representation of the geographical location of an address using coordinates */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * The unique identifier of the area that the property resides in */ areaId?: string; /** * The strapline description containing a short summary about the property */ strapline?: string; /** * The brief description of the property */ description?: string; /** * The long description of the property */ longDescription?: string; /** * The property's local authority */ localAuthorityCompanyId?: string; /** * The name of the property's local authority */ localAuthorityCompanyName?: string; /** * The summary of accommodation, typically short phrases or bullet points describing the key features of the property */ summary?: string; /** * The unique identifier of the department the property is associated with. The property will only match to applicants with the same values set. See the [Platform Glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information about departments */ departmentId?: string; /** * The unique identifier of the negotiator managing the property */ negotiatorId?: string; /** * The unique identifier of the client accounts assistant of the property */ clientAccountsAssistantId?: string; /** * The total number of bedrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedrooms?: number; /** * The maximum number of bedrooms in the property or properties. This is typically used when marketing development sites and would be set on the master record. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bedroomsMax?: number; /** * The total number of reception rooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptions?: number; /** * The maximum number of reception rooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ receptionsMax?: number; /** * The total number of bathrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathrooms?: number; /** * The maximum number of bathrooms in the property. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ bathroomsMax?: number; /** * The number of units offered on the market. This is typically used when marketing development sites. */ numberOfUnits?: number; /** * The total number of parking spaces the property has. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ parkingSpaces?: number; /** * The council tax banding of the property (A/B/C/D/E/F/G/H/I/notYetAvailable) */ councilTax?: string; /** * A collection of identifiers of portals that the property should not be displayed on */ disabledPortalIds?: string[]; /** * A flag denoting whether or not this property can be advertised on the internet */ internetAdvertising?: boolean; /** * A flag denoting whether or not the property has been instructed by another estate agent */ isExternal?: boolean; /** * A flag denoting whether or not the property accepts deposit schemes */ depositSchemeAccepted?: boolean; /** * The arrangements regarding viewing the property */ viewingArrangements?: string; /** * The url of a video associated with this property, such as a virtual tour */ videoUrl?: string; /** * The caption for the video url associated with this property */ videoCaption?: string; /** * The url of a second video associated with this property, such as a virtual tour */ video2Url?: string; /** * The caption for the second video url associated with this property */ video2Caption?: string; /** * Any general notes regarding the property. These are not usually exposed to end users and may contain sensitive information about a sale */ notes?: string; /** * The status of the advertising board sited outside or near to the property */ boardStatus?: string; /** * Any notes relevant to the advertising board sited outside or near to the property */ boardNotes?: string; /** * The properties featured image url */ featuredImageUrl?: string; /** * The url to the property on an external website */ url?: string; /** * The caption to accompany the url to the property on an external website */ urlCaption?: string; /** * The What3Words identifier for the property. */ what3Words?: string; /** * Any ground rent payment that applies to the property */ groundRent?: number; /** * Comments regarding the ground rent of the property */ groundRentComment?: string; /** * The date when the ground rent payable on the property should be reviewed * example: * 2019-08-14T12:30:02Z */ groundRentReviewDate?: string; /** * The annual percentage increase of the ground rent after being reviewed */ groundRentIncrease?: number; /** * Any service charge payment that applies to the property */ serviceCharge?: number; /** * Comments regarding the service charge of the property */ serviceChargeComment?: string; /** * The total number of parking spaces the property has. This is only supported by some departments. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ floorLevel?: number; /** * The number of internal floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ internalFloors?: number; /** * The total number of floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ totalFloors?: number; /** * The date the advertising board was last updated (or should be updated when the date is in the future) * example: * 2019-08-14 */ boardUpdated?: string; /** * The date on which the property was valued. Note that this can differ to physical appointment dates in some cases * example: * 2019-08-14 */ valuation?: string; /** * The date and time the property was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the property is archived */ fromArchive?: boolean; /** * Details specific to rural properties */ rural?: { /** * Details of the rural tenure associated with the property. */ tenureId?: string; /** * Details of the buildings associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; }; /** * Representation of the plot size of a property */ externalArea?: { /** * The unit of area (acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; }; /** * Representation of the internal dimensions of a property */ internalArea?: { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; }; /** * Representation of EPC statistics */ epc?: { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The current energy efficiency letter rating (A-G). This is generated from the `eer` value * for systems that do not have an explicit EPC Rating component */ eerRating?: string; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The potential energy efficiency letter rating (A-G). This is generated from the `eerPotential` value */ eerPotentialRating?: string; /** * The current environmental impact rating */ eir?: number; /** * The current environment impact letter rating (A-G). This is generated from the `eir` value */ eirRating?: string; /** * The potential environmental impact rating */ eirPotential?: number; /** * The potential environment impact letter rating (A-G). This is generated from the `eirPotential` value */ eirPotentialRating?: string; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; }; /** * Details specific to a properties rights restrictions */ rightsRestrictions?: { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; }; /** * Details specific to a properties flood erosion */ floodErosion?: { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; }; /** * A list of accesibility options provided by the property (unsuitableForWheelchairs/levelAccess/liftAccess/rampedAccess/wetRoom/wideDoorways/stepFreeAccess/levelAccessShower/lateralLiving) */ accessibility?: string[]; /** * Representation of property details specific to sales marketing */ selling?: { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The maximum price of a property on the development plot */ priceTo?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Representation of the tenure of a property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The unique identifier of the vendor selling the property */ vendorId?: string; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ agency?: string; /** * The unique identifier of the custom selling agency type - only applicable when Agency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The actual fee amount to be collected by the agent - often based on the exchange price of the property */ exchangedCompanyFee?: number; /** * The estimated monthly retail amount */ estimatedMonthlyRetailValue?: number; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The unique identifier of the document used for the sales brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * The price the property exchanged/sold for */ exchangedPrice?: number; /** * The unique identifier of the office that sold the property */ exchangedOfficeId?: string; /** * The gross yield amount */ grossYieldPercentage?: number; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; }; /** * Representation of property details specific to lettings marketing */ letting?: { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is next available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * The minimum number of months the property can be let out for */ minimumTerm?: number; /** * The unique identifier of the negotiator that manages the property */ propertyManagerId?: string; /** * The unique identifiers of the management companies associated to the property */ managementCompanyIds?: string[]; /** * The unique identifier of the document used for the lettings brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * Representation of the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Representation of the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Representation of a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Representation of a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetary amount based on the `type` */ amount?: number; }; /** * Representation of property details specific to rent insurance associated with a lettings property */ rentInsurance?: { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; }; /** * Representation of property details specific to property Licencing */ licencing?: { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/notSet/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14 */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14 */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14 */ expiry?: string; }; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; /** * Representation of withdrawal details specific to lettings marketing */ withdrawalReason?: { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; }; /** * List of preferred suppliers of the property */ preferredSuppliers?: { /** * Unique identifier of the supplier. */ id?: string; /** * Name of the supplier. */ name?: string; }[]; }; /** * An properties commercial details */ commercial?: { /** * The commercial use attributes (eg a1, a2, b1), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ useClass?: string[]; /** * The commercial floor level attributes (eg basement, subGround, ground, upperFloor), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ floorLevel?: string[]; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Any specific details relating to the marketing of a property in Guernsey */ ggy?: { /** * Attributes describing which markets the property is available in (local/openA/openB/openC/openD) */ market?: string[]; }; /** * Any specific details relating to the marketing of a property in Ireland */ irl?: { /** * Any specific details relating to energy performance ratings for properties marketed in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; }; /** * The attributes describing the overall type of the property (eg house, bungalow, land), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ type?: string[]; /** * The attributes describing the style of property (eg detached, semiDetached), defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ style?: string[]; /** * The attributes describing other aspects of the property - such as outside space - as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ situation?: string[]; /** * The attributes describing the parking available at the property (eg garage), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ parking?: string[]; /** * The attributes describing the age of the property (eg new, period), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ age?: string[]; /** * The attributes describing the general location of the property (eg rural, townCity), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) * For information about how to interpret this data and how it maps back to AgencyCloud, please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#interpreting-department-data) */ locality?: string[]; /** * The attributes describing the property's special features (eg swimmingPool, tennisCourt), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The attributes associated to the property which are not currently mapped. These are defined the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ unmappedAttributes?: { /** * The type of unmapped attribute (style/type/situation/parking/age/locality/special) */ type?: string; /** * The value associated to the unmapped type */ value?: string; }[]; /** * Identifiers of any services connected at the property */ availableServicesIds?: string[]; /** * Details of each room in the property */ rooms?: { /** * The name of the room */ name?: string; /** * Details about the dimensions of the room */ dimensions?: string; /** * Details about the alternate dimensions of the room */ dimensionsAlt?: string; /** * Short description of the room */ description?: string; }[]; /** * A flag determining whether or not the property's room details have been approved by the vendor or landlord */ roomDetailsApproved?: boolean; /** * A collection of unique identifiers of offices attached to the property. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The date that this property became a lost instruction * example: * 2019-08-14T12:30:02Z */ lostInstructionDate?: string; /** * The notes regarding the lost instruction */ lostInstructionNote?: string; /** * The type of development */ developmentSiteType?: string; /** * App specific metadata that has been set against the property */ metadata?: { [name: string]: any; }; /** * The keywords associated with property */ keywords?: string[]; /** * The completion status of the property (notSet/completed/offPlan/completedPrimary/offPlanPrimary) */ completionStatus?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the property. Used for managing update concurrency */ readonly _eTag?: string; /** * Collection containing relative URLs to data associated with the property. * In the case of a development - where a property is grouped with, or associated to another property by way of a parent/child relationship, * the collection will contain a _master_ or _subPlot_ link depending on the property type. Where the property is the master record in a development (the parent), * a _subPlots_ link will be included in the collection giving you access to all the plots (the children) within the development. Where the property is a sub plot that forms part of a * development, a _master_ link will be included in the collection giving you access to the master record. */ readonly _links?: { [name: string]: { href?: string; }; }; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a property-negotiator relationship. */ interface PropertyNegotiatorModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the property negotiator. */ id?: string; /** * The date and time when the property negotiator was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property negotiator was last modified. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the negotiator. */ name?: string; /** * The type of relationship between the property and the negotiator. List of available types: * - propertyManager * - propertyAdministrator * - clientAccountAssistant * - salesProgressor * - salesPropertyAdministrator */ type?: string; /** * The unique identifier of the property. */ propertyId?: string; /** * The unique identifier of the negotiator. */ negotiatorId?: string; /** * The ETag for the current version of the property negotiator. Used for managing update * concurrency. */ readonly _eTag?: string; } interface PropertyNegotiatorModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the property negotiator. */ id?: string; /** * The date and time when the property negotiator was created. * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the property negotiator was last modified. * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the negotiator. */ name?: string; /** * The type of relationship between the property and the negotiator. List of available types: * - propertyManager * - propertyAdministrator * - clientAccountAssistant * - salesProgressor * - salesPropertyAdministrator */ type?: string; /** * The unique identifier of the property. */ propertyId?: string; /** * The unique identifier of the negotiator. */ negotiatorId?: string; /** * The ETag for the current version of the property negotiator. Used for managing update * concurrency. */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface PropertyRegionalModel { /** * Any specific details relating to the marketing of a property in Guernsey */ ggy?: { /** * Attributes describing which markets the property is available in (local/openA/openB/openC/openD) */ market?: string[]; }; /** * Any specific details relating to the marketing of a property in Ireland */ irl?: { /** * Any specific details relating to energy performance ratings for properties marketed in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; } /** * Details specific to a properties rights restrictions */ interface PropertyRightsRestrictionsModel { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; } /** * Representation of a single room in a property */ interface PropertyRoomModel { /** * The name of the room */ name?: string; /** * Details about the dimensions of the room */ dimensions?: string; /** * Details about the alternate dimensions of the room */ dimensionsAlt?: string; /** * Short description of the room */ description?: string; } /** * Details specific to rural properties */ interface PropertyRuralModel { /** * Details of the rural tenure associated with the property. */ tenureId?: string; /** * Details of the buildings associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; } /** * Representation of property details specific to sales marketing */ interface PropertySellingModel { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The maximum price of a property on the development plot */ priceTo?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Representation of the tenure of a property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The unique identifier of the vendor selling the property */ vendorId?: string; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ agency?: string; /** * The unique identifier of the custom selling agency type - only applicable when Agency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The actual fee amount to be collected by the agent - often based on the exchange price of the property */ exchangedCompanyFee?: number; /** * The estimated monthly retail amount */ estimatedMonthlyRetailValue?: number; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The unique identifier of the document used for the sales brochure */ brochureId?: string; /** * The URL at which the brochure can be publicly accessed when the * property is being actively marketed */ publicBrochureUrl?: string; /** * The price the property exchanged/sold for */ exchangedPrice?: number; /** * The unique identifier of the office that sold the property */ exchangedOfficeId?: string; /** * The gross yield amount */ grossYieldPercentage?: number; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; /** * Representation of the sub agent terms */ subAgentTerms?: { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; }; } /** * Details relating to the shared ownership of the property */ interface PropertySharedOwnershipModel { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; } /** * Representation of the sub agent terms */ interface PropertySubAgentTermsModel { /** * A flag denoting whether or not fee is available */ feeAvailable?: boolean; /** * The type of fee (percent/fixed/callForFees) */ type?: string; /** * The fee amount */ amount?: number; } /** * Representation of the tenure of a property */ interface PropertyTenureModel { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; } /** * Terminologies associated with the properties */ interface PropertyTerminologyModel { /** * A flag denoting whether the agent's CRM is configured to use "Sold STC/SSTC" terminology instead of "Under Offer" */ useSoldStc?: boolean; /** * A flag denoting whether the agent's CRM is configured to use "Market Appraisal" terminology instead of "Valuation" */ useMarketAppraisal?: boolean; } /** * Representation of a properties electricity details */ interface PropertyUtilitiesElectricityModel { /** * The type of electricity supplied (windTurbine/mainsSupply/privateSupply/solar/other) */ type?: string; /** * The unique identifier of the company providing the electricity */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; } /** * Representation of a properties gas details */ interface PropertyUtilitiesGasModel { /** * A flag to determine if the property has gas */ hasGas?: boolean; /** * The unique identifier of the company providing the gas */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; } /** * Representation of a properties internet details */ interface PropertyUtilitiesInternetModel { /** * The types of internet supplied (none/adsl/fttc/fttp/cable/other) */ type?: string[]; /** * The unique identifier of the company providing the internet */ internetCompanyId?: string; } /** * Representation of a properties utilities */ interface PropertyUtilitiesModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the utilities */ id?: string; /** * The unique identifier of property associated to the utilities */ propertyId?: string; /** * The date and time when the utilities were created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the utilities were last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Representation of a properties electricity details */ electricity?: { /** * The type of electricity supplied (windTurbine/mainsSupply/privateSupply/solar/other) */ type?: string; /** * The unique identifier of the company providing the electricity */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; }; /** * Representation of a properties gas details */ gas?: { /** * A flag to determine if the property has gas */ hasGas?: boolean; /** * The unique identifier of the company providing the gas */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; }; /** * Representation of a properties water details */ water?: { /** * The type of water supplied (mainsSupply/privateSupply/other) */ type?: string; /** * The unique identifier of company providing the water */ waterCompanyId?: string; /** * The water meter point */ waterMeterPoint?: string; /** * The type of sewerage supplied (mainsSupply/privateSupply/other) */ sewerage?: string; }; /** * Representation of a properties internet details */ internet?: { /** * The types of internet supplied (none/adsl/fttc/fttp/cable/other) */ type?: string[]; /** * The unique identifier of the company providing the internet */ internetCompanyId?: string; }; /** * The unique identifier of company providing the telephone lines */ telephoneCompanyId?: string; /** * The unique identifier of company providing cable tv */ cableTvCompanyId?: string; /** * The type of heating supplied to the property (airConditioning/centralHeating/doubleGlazing/ecoFriendly/electric/gas/gasCentral/nightStorage/oil/solar/solarWater/underFloor/woodBurner/openFire/biomassBoiler/groundSourceHeatPump/airSourceHeatPump/solarPvThermal/underFloorHeating/solarThermal/other) */ heating?: string[]; /** * The main type of heating supplied (independent/communal/independentChilled/communalChilled) */ mainHeating?: string[]; /** * Information relating the mobile signal */ mobileSignal?: string; /** * The ETag for the current version of the keys. Used for managing update concurrency */ readonly _eTag?: string; } /** * Representation of a properties water details */ interface PropertyUtilitiesWaterModel { /** * The type of water supplied (mainsSupply/privateSupply/other) */ type?: string; /** * The unique identifier of company providing the water */ waterCompanyId?: string; /** * The water meter point */ waterMeterPoint?: string; /** * The type of sewerage supplied (mainsSupply/privateSupply/other) */ sewerage?: string; } /** * Representation of withdrawal details specific to lettings marketing */ interface PropertyWithdrawalReasonModel { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; } /** * Representation of an appointments recurrence details */ interface RecurrenceModel { /** * The recurrence interval */ interval?: number; /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The date the appointment recurs until * example: * 2019-08-14T12:30:02Z */ until?: string; } /** * Read model representing a tenant/applicant reference */ interface ReferenceModel { /** * The identifier for the reference record */ id?: string; /** * The identifier for the contact/company record associated with the reference */ referenceAssociatedId?: string; /** * Value indicating whether a referenced contact is a person or a company */ type?: string; /** * The status of the reference (notSet/requested/received) */ referenceStatus?: string; /** * The type of reference (notSet/accountant/characterReference/employer/previousLandlord) */ referenceType?: string; } /** * Representation of a contact */ interface ReferralContactModel { id?: string; /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; } /** * Representation of a referral */ interface ReferralModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the referral */ id?: string; /** * The date and time when the referral was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the referral was amended * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the referralTypeId the referral is associated with, where applicable */ referralTypeId?: string; /** * The type of referral (referral/lead). Please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#referral) for further information */ type?: string; /** * The unique identifier of the negotiator the referral is associated with, where applicable */ negotiatorId?: string; /** * The unique identifier of the property the referral is associated with, where applicable */ propertyId?: string; /** * The unique identifier of the applicant the referral is associated with, where applicable */ applicantId?: string; /** * The unique identifier of the applicant the referral is associated with, where applicable */ contactId?: string; /** * The status of the referral (sent/succeeded/cancelled/failed/paid/declined/inProgress) */ status?: string; /** * The information of the referral */ information?: string; /** * The amount paid to the agent for the referral */ amount?: number; /** * The date and time when the referral was paid * example: * 2019-08-14T12:30:02Z */ paid?: string; /** * The date and time when the referral was accepted * example: * 2019-08-14T12:30:02Z */ accepted?: string; /** * Representation of a contact */ related?: { id?: string; /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; }; /** * App specific metadata that has been set against the referral */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the referral. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; } interface ReferralModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the referral */ id?: string; /** * The date and time when the referral was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the referral was amended * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the referralTypeId the referral is associated with, where applicable */ referralTypeId?: string; /** * The type of referral (referral/lead). Please [see the documentation](https://foundations-documentation.reapit.cloud/platform-glossary#referral) for further information */ type?: string; /** * The unique identifier of the negotiator the referral is associated with, where applicable */ negotiatorId?: string; /** * The unique identifier of the property the referral is associated with, where applicable */ propertyId?: string; /** * The unique identifier of the applicant the referral is associated with, where applicable */ applicantId?: string; /** * The unique identifier of the applicant the referral is associated with, where applicable */ contactId?: string; /** * The status of the referral (sent/succeeded/cancelled/failed/paid/declined/inProgress) */ status?: string; /** * The information of the referral */ information?: string; /** * The amount paid to the agent for the referral */ amount?: number; /** * The date and time when the referral was paid * example: * 2019-08-14T12:30:02Z */ paid?: string; /** * The date and time when the referral was accepted * example: * 2019-08-14T12:30:02Z */ accepted?: string; /** * Representation of a contact */ related?: { id?: string; /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; }; /** * App specific metadata that has been set against the referral */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the referral. Used for managing update concurrency */ readonly _eTag?: string; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a referral type */ interface ReferralTypeModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; id?: string; /** * The name of the referral type */ name?: string; } interface ReferralTypeModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; id?: string; /** * The name of the referral type */ name?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Referrals { id?: string[]; propertyId?: string[]; applicantId?: string[]; contactId?: string[]; negotiatorId?: string[]; referralTypeId?: string[]; status?: ('sent' | 'inProgress' | 'succeeded' | 'cancelled' | 'failed' | 'paid' | 'declined')[]; embed?: ('applicant' | 'contact' | 'negotiator' | 'property' | 'type')[]; pageSize?: number; pageNumber?: number; sortBy?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; extrasField?: string[]; } interface ReferralsTypes { id?: string[]; pageSize?: number; pageNumber?: number; sortBy?: string; } /** * Request body used to reindex property images * example: * [object Object] */ interface ReindexPropertyImagesModel { /** * The unique identifier of the property to update */ propertyId?: string; /** * Ordered collection of image identifiers for the property. * The first image in the collection will be set as the properties primary image. */ imageOrder?: string[]; } /** * Representation of renewal options in a tenancy */ interface RenewalOptionsModel { /** * The unique identifier of the renewal option */ optionId?: string; /** * The associated renewal option text */ optionText?: string; /** * The renewal option expiry date * example: * 2019-08-14 */ expiry?: string; /** * The renewal options associated condition Ids */ conditionIds?: string[]; } interface Resthooks { pageSize?: number; pageNumber?: number; sortBy?: string; active?: boolean; } /** * Model representing a JSON schema used to validate a specific entity type */ interface SchemaModel { /** * The unique identifier of this JSON schema */ id?: string; /** * The date and time of when this JSON schema was last updated * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The JSON schema document */ schema?: string; } interface SchemaModelPagedResult { _embedded?: { /** * The unique identifier of this JSON schema */ id?: string; /** * The date and time of when this JSON schema was last updated * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The JSON schema document */ schema?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a source of business */ interface SourceModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the source */ id?: string; /** * The date and time when the source was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the source was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the source or advertising publication */ name?: string; /** * The type of the source (source/advertisement) */ type?: string; /** * A collection of the unique identifiers of offices that regularly get business from the source */ officeIds?: string[]; /** * A collection of unique identifiers of departments that regularly get business from the source */ departmentIds?: string[]; /** * The ETag for the current version of the source. Used for managing update concurrency */ readonly _eTag?: string; } interface SourceModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the source */ id?: string; /** * The date and time when the source was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the source was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The name of the source or advertising publication */ name?: string; /** * The type of the source (source/advertisement) */ type?: string; /** * A collection of the unique identifiers of offices that regularly get business from the source */ officeIds?: string[]; /** * A collection of unique identifiers of departments that regularly get business from the source */ departmentIds?: string[]; /** * The ETag for the current version of the source. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Sources { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; officeId?: string[]; departmentId?: string[]; name?: string; type?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; } /** * Representation of a staff member */ interface StaffModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the contact. */ id?: string; /** * The staff member's name */ name?: string; /** * A flag determining whether or not the staff member is currently active */ active?: boolean; /** * The staff member's job title */ jobTitle?: string; /** * The staff member's work phone */ workPhone?: string; /** * The staff member's mobile phone */ mobilePhone?: string; /** * The staff member's email */ email?: string; /** * The staff member's preferred salutation */ salutation?: string; /** * Flag to determine if this staff member is a full contact. */ isContact?: boolean; /** * Flag to determin if this staff member is a main contact */ isMainContact?: boolean; } interface StaffModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the contact. */ id?: string; /** * The staff member's name */ name?: string; /** * A flag determining whether or not the staff member is currently active */ active?: boolean; /** * The staff member's job title */ jobTitle?: string; /** * The staff member's work phone */ workPhone?: string; /** * The staff member's mobile phone */ mobilePhone?: string; /** * The staff member's email */ email?: string; /** * The staff member's preferred salutation */ salutation?: string; /** * Flag to determine if this staff member is a full contact. */ isContact?: boolean; /** * Flag to determin if this staff member is a main contact */ isMainContact?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a task, which can also be an internal message */ interface TaskModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the task */ id?: string; /** * The date and time when the task was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the task was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the task becomes active * example: * 2019-08-14 */ activates?: string; /** * The date the task was completed * example: * 2019-08-14 */ completed?: string; /** * The unique identifier of the task type */ typeId?: string; /** * The unique identifer of the negotiator that created the task */ senderId?: string; /** * The textual contents of the task or message */ text?: string; /** * The unique identifier of the landlord the task is associated to */ landlordId?: string; /** * The unique identifier of the property the task is associated to */ propertyId?: string; /** * The unique identifier of the applicant the task is associated to */ applicantId?: string; /** * The unique identifier of the tenancy the task is associated to */ tenancyId?: string; /** * The unique identifier of the contact the task is associated to */ contactId?: string; /** * The unique identifier of the negotiator or office the task is being sent to */ recipientId?: string; /** * The type of the recipient (office/negotiator) */ recipientType?: string; /** * App specific metadata that has been set against the task */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the task. Used for managing update concurrency */ readonly _eTag?: string; } interface TaskModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the task */ id?: string; /** * The date and time when the task was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the task was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the task becomes active * example: * 2019-08-14 */ activates?: string; /** * The date the task was completed * example: * 2019-08-14 */ completed?: string; /** * The unique identifier of the task type */ typeId?: string; /** * The unique identifer of the negotiator that created the task */ senderId?: string; /** * The textual contents of the task or message */ text?: string; /** * The unique identifier of the landlord the task is associated to */ landlordId?: string; /** * The unique identifier of the property the task is associated to */ propertyId?: string; /** * The unique identifier of the applicant the task is associated to */ applicantId?: string; /** * The unique identifier of the tenancy the task is associated to */ tenancyId?: string; /** * The unique identifier of the contact the task is associated to */ contactId?: string; /** * The unique identifier of the negotiator or office the task is being sent to */ recipientId?: string; /** * The type of the recipient (office/negotiator) */ recipientType?: string; /** * App specific metadata that has been set against the task */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the task. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Tasks { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('applicant' | 'contact' | 'landlord' | 'property' | 'tenancy' | 'type')[]; id?: string[]; applicantId?: string[]; contactId?: string[]; landlordId?: string[]; officeId?: string[]; propertyId?: string[]; recipientId?: string[]; senderId?: string[]; typeId?: string[]; tenancyId?: string[]; activatesFrom?: string; activatesTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; completedFrom?: string; completedTo?: string; text?: string; metadata?: string[]; } interface Tenancies { pageSize?: number; pageNumber?: number; sortBy?: string; fromArchive?: boolean; embed?: ('appointments' | 'applicant' | 'extensions' | 'documents' | 'negotiator' | 'property' | 'source' | 'tasks' | 'type')[]; id?: string[]; negotiatorId?: string[]; applicantId?: string[]; propertyId?: string[]; name?: string; nameType?: string; status?: ('offerPending' | 'offerWithdrawn' | 'offerRejected' | 'arranging' | 'current' | 'finished' | 'cancelled')[]; email?: string[]; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; endDateFrom?: string; endDateTo?: string; startDateFrom?: string; startDateTo?: string; metadata?: string[]; } /** * Representation of party agreements to a specific clause in a tenancy agreement */ interface TenancyAgreementModel { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; } /** * Representation of a tenancy allowance */ interface TenancyAllowanceModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the allowance */ id?: string; /** * The date and time when the allowance was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the allowance last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated allowance */ typeId?: string; /** * The break clauses description */ description?: string; /** * The state of the allowance (allowed/notAllowed) */ state?: string; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Tenancy agreement text that relates to the allowance */ letterText?: string; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the allowance. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyAllowanceModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the allowance */ id?: string; /** * The date and time when the allowance was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the allowance last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated allowance */ typeId?: string; /** * The break clauses description */ description?: string; /** * The state of the allowance (allowed/notAllowed) */ state?: string; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Tenancy agreement text that relates to the allowance */ letterText?: string; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the allowance. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of tenancy arrears data (populated only when Client Accounts functionality is enabled) */ interface TenancyArrearsModel { /** * A flag determining whether or not tenancy arrears should be chased */ chaseArrears?: boolean; /** * Indicates whether or not a payment plan is set up for a tenancy in arrears (no/yes/negotiating) */ paymentPlan?: string; /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; } /** * Representation of a tenancy break clauses break from details */ interface TenancyBreakClauseBreakFromModel { /** * The earliest date at which the tenant/landlord can end the tenancy agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months from the break clause agreement becoming active at which the tenant/landlord can end the tenancy agreement */ minTermMonths?: number; } /** * Representation of a tenancy break clause */ interface TenancyBreakClauseModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the break clause */ id?: string; /** * The date and time when the break clause was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the break clause last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated break clause */ clauseTypeId?: string; /** * The break clauses description */ description?: string; /** * The date the break clause became (or becomes) active * example: * 2019-08-14 */ active?: string; /** * The parties that the break clause applies to (landlord/tenant/mutual) */ appliesTo?: string; /** * Tenancy agreement text relating to the break clause */ letterText?: string; /** * Representation of a tenancy break clauses break from details */ breakFrom?: { /** * The earliest date at which the tenant/landlord can end the tenancy agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months from the break clause agreement becoming active at which the tenant/landlord can end the tenancy agreement */ minTermMonths?: number; }; /** * Representation of a tenancy break clauses notice requirements */ noticeRequired?: { /** * The latest date at which the tenant/landlord must give notice of their decision to end the agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months before the break clause can be invoked at which the tenant/landlord must give notice of their decision to end the tenancy agreement */ beforeBreakMonths?: number; }; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the break clause. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyBreakClauseModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the break clause */ id?: string; /** * The date and time when the break clause was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the break clause last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated break clause */ clauseTypeId?: string; /** * The break clauses description */ description?: string; /** * The date the break clause became (or becomes) active * example: * 2019-08-14 */ active?: string; /** * The parties that the break clause applies to (landlord/tenant/mutual) */ appliesTo?: string; /** * Tenancy agreement text relating to the break clause */ letterText?: string; /** * Representation of a tenancy break clauses break from details */ breakFrom?: { /** * The earliest date at which the tenant/landlord can end the tenancy agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months from the break clause agreement becoming active at which the tenant/landlord can end the tenancy agreement */ minTermMonths?: number; }; /** * Representation of a tenancy break clauses notice requirements */ noticeRequired?: { /** * The latest date at which the tenant/landlord must give notice of their decision to end the agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months before the break clause can be invoked at which the tenant/landlord must give notice of their decision to end the tenancy agreement */ beforeBreakMonths?: number; }; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the break clause. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a tenancy break clauses notice requirements */ interface TenancyBreakClauseNoticeRequiredModel { /** * The latest date at which the tenant/landlord must give notice of their decision to end the agreement * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The minimum number of months before the break clause can be invoked at which the tenant/landlord must give notice of their decision to end the tenancy agreement */ beforeBreakMonths?: number; } /** * Representation of a tenancy check - a process that needs to happen before a tenancy can commence or ends */ interface TenancyCheckModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy check */ id?: string; /** * The date and time when the tenancy check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Textual description of what the tenancy check relates to */ description?: string; /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status?: string; /** * The type of the tenancy check (preTenancy/postTenancy) */ type?: string; /** * The identifier of the pre-configured tenancy check. This will only be populated * for pre-configured tenancy checks, and not for custom/ad-hoc checks added to individual tenancies */ checkTypeId?: string; /** * The unique identifier of the tenancy that this check relates to */ tenancyId?: string; /** * App specific metadata that has been set against the tenancy check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the teanncy check. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyCheckModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy check */ id?: string; /** * The date and time when the tenancy check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * Textual description of what the tenancy check relates to */ description?: string; /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status?: string; /** * The type of the tenancy check (preTenancy/postTenancy) */ type?: string; /** * The identifier of the pre-configured tenancy check. This will only be populated * for pre-configured tenancy checks, and not for custom/ad-hoc checks added to individual tenancies */ checkTypeId?: string; /** * The unique identifier of the tenancy that this check relates to */ tenancyId?: string; /** * App specific metadata that has been set against the tenancy check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the teanncy check. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the physical address of a building or premise */ interface TenancyContactAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * A summarised view of the details of a contact or company associated to a tenancy */ interface TenancyContactModel { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * An optional payment reference to be used for transactions related to this tenancy associated with this tenant */ paymentReference?: string; /** * A flag denoting whether or not this roie on the system is now archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * The date the tenant moved in (or will move in) to the property * example: * 2019-08-14 */ occupyOn?: string; /** * The date the tenant vacated (or is due to vacate) the property * example: * 2019-08-14 */ vacateOn?: string; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; } /** * Representation of a relationship between a tenancy and a contact or company */ interface TenancyContactRelationshipModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the tenancy */ tenancyId?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this contact or company should be regarded as the main tenant */ isMain?: boolean; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; /** * Collection of guarantors recorded for this relationship */ guarantors?: { /** * The identifier for the guarantor record */ id?: string; /** * The identifier for the contact record associated with the guarantor */ guarantorAssociatedId?: string; /** * Value indicating whether a the referenced guarantor is a person or a company */ type?: string; /** * The status of the reference requested from the guarantor (notSet/requested/received) */ referenceStatus?: string; }[]; /** * Collection of references recorded for this relationship */ references?: { /** * The identifier for the reference record */ id?: string; /** * The identifier for the contact/company record associated with the reference */ referenceAssociatedId?: string; /** * Value indicating whether a referenced contact is a person or a company */ type?: string; /** * The status of the reference (notSet/requested/received) */ referenceStatus?: string; /** * The type of reference (notSet/accountant/characterReference/employer/previousLandlord) */ referenceType?: string; }[]; } interface TenancyContactRelationshipModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy relationship */ id?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the tenancy */ tenancyId?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this contact or company should be regarded as the main tenant */ isMain?: boolean; /** * A flag denoting whether or not this relationship is archived */ fromArchive?: boolean; /** * Collection of guarantors recorded for this relationship */ guarantors?: { /** * The identifier for the guarantor record */ id?: string; /** * The identifier for the contact record associated with the guarantor */ guarantorAssociatedId?: string; /** * Value indicating whether a the referenced guarantor is a person or a company */ type?: string; /** * The status of the reference requested from the guarantor (notSet/requested/received) */ referenceStatus?: string; }[]; /** * Collection of references recorded for this relationship */ references?: { /** * The identifier for the reference record */ id?: string; /** * The identifier for the contact/company record associated with the reference */ referenceAssociatedId?: string; /** * Value indicating whether a referenced contact is a person or a company */ type?: string; /** * The status of the reference (notSet/requested/received) */ referenceStatus?: string; /** * The type of reference (notSet/accountant/characterReference/employer/previousLandlord) */ referenceType?: string; }[]; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * A tenancy deposit model */ interface TenancyDepositModel { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; } /** * A tenancy deposit protection model */ interface TenancyDepositProtectionModel { /** * The unique identifier of the deposit protection */ scheme?: string; /** * The date when deposit protection is registered * example: * 2019-08-14T12:30:02Z */ registeredDate?: string; /** * The registration number of the deposit protection */ registrationNumber?: string; /** * The notified date of the deposit protection * example: * 2019-08-14T12:30:02Z */ notifiedDate?: string; } /** * Represents a one off fee associated with tenancy extension or alteration */ interface TenancyExtensionAlterationFeeModel { /** * The one fee amount */ amount?: number; /** * The one of fee summary text */ summary?: string; /** * The fee type */ type?: string; } /** * Represents a tenancy extension or alteration */ interface TenancyExtensionAlterationModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the extension or alteration */ id?: string; /** * The date and time when the extension or alteration was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the extension or alteration was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The start date of the extension or alteration * example: * 2019-08-14 */ startDate?: string; /** * The end date of the extension (alterations do not have an end date) * example: * 2019-08-14 */ endDate?: string; /** * The type of entry (extension|alteration) */ type?: string; /** * The unique identifier of the negotiator associated to the extension or alteration */ negotiatorId?: string; /** * The extension or alteration rent amount */ rent?: number; /** * The rent frequency (weekly/monthly/4weeks/annually) */ rentFrequency?: string; /** * The unique identifier of the tenancy associated to the extension or alteration */ tenancyId?: string; /** * Represents a one off fee associated with tenancy extension or alteration */ fee?: { /** * The one fee amount */ amount?: number; /** * The one of fee summary text */ summary?: string; /** * The fee type */ type?: string; }; /** * The ETag for the current version of the tenancy extension or alteration. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyExtensionAlterationModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the extension or alteration */ id?: string; /** * The date and time when the extension or alteration was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the extension or alteration was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The start date of the extension or alteration * example: * 2019-08-14 */ startDate?: string; /** * The end date of the extension (alterations do not have an end date) * example: * 2019-08-14 */ endDate?: string; /** * The type of entry (extension|alteration) */ type?: string; /** * The unique identifier of the negotiator associated to the extension or alteration */ negotiatorId?: string; /** * The extension or alteration rent amount */ rent?: number; /** * The rent frequency (weekly/monthly/4weeks/annually) */ rentFrequency?: string; /** * The unique identifier of the tenancy associated to the extension or alteration */ tenancyId?: string; /** * Represents a one off fee associated with tenancy extension or alteration */ fee?: { /** * The one fee amount */ amount?: number; /** * The one of fee summary text */ summary?: string; /** * The fee type */ type?: string; }; /** * The ETag for the current version of the tenancy extension or alteration. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of the tenancy letting fee */ interface TenancyLettingFeeModel { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; } /** * Representation of the tenancy management fee */ interface TenancyManagementFeeModel { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; } /** * Representation of a tenancy */ interface TenancyModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy */ id?: string; /** * The date and time when the tenancy was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The start date of the tenancy * example: * 2019-08-14 */ startDate?: string; /** * The end date of the tenancy * example: * 2019-08-14 */ endDate?: string; /** * The current status of the tenancy (offerPending/offerWithdrawn/offerRejected/arranging/current/finished/cancelled) */ status?: string; /** * The role that the agent is performing for this tenancy (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The amount of rent required, returned in relation to the collection frequency * Note that this is the original rent set on the tenancy. For tenancies that have been extended with a rent change you MUST use the extensions endpoint */ rent?: number; /** * The currency set against the tenancy */ currency?: string; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency?: string; /** * A flag determining whether or not the tenancy is confirmed to finish at the end date */ endDateConfirmed?: boolean; /** * A flag determining whether or not the tenancy has been extended indefinitely */ isPeriodic?: boolean; /** * The frequency of rental instalment payments (weekly/fortnightly/monthly/quarterly/halfYearly/yearly/every28Days/other) */ rentInstalmentsFrequency?: string; /** * The amount due for each rent instalment (where specified) */ rentInstalmentsAmount?: number; /** * The date that the first instalment is due * example: * 2019-08-14 */ rentInstalmentsStart?: string; /** * The recorded utility reading for the gas meter */ meterReadingGas?: string; /** * Date of when the reading of gas utility was last recorded * example: * 2019-08-14 */ meterReadingGasLastRead?: string; /** * The recorded utility reading for the electricity meter */ meterReadingElectricity?: string; /** * Date of when the reading of electricity utility was last recorded * example: * 2019-08-14 */ meterReadingElectricityLastRead?: string; /** * The recorded utility reading for the water meter */ meterReadingWater?: string; /** * Date of when the reading of water utility was last recorded * example: * 2019-08-14 */ meterReadingWaterLastRead?: string; /** * One time inspection scheduled a specific number of days after the tenancy start date */ initialInspectionFrequencyInDays?: number; /** * Recurring inspections set to occur at specified intervals */ regularInspectionFrequencyInDays?: number; /** * The reason for the tenancy finishing */ finishedReason?: string; /** * The unique identifier of the type of tenancy */ typeId?: string; /** * The unique identifier of the negotiator who is managing the tenancy */ negotiatorId?: string; /** * The unique identifier of the property that relates to the tenancy */ propertyId?: string; /** * The unique identifier of the applicant who has applied to be a tenant. Whilst the tenancy is an in arranging state, information about the individual such as name and contact details can be obtained from GET /applicants/{id}. Use the link in the _links collection for a relative URI */ applicantId?: string; /** * The unique identifier of the negotiator assigned as the manager of the tenancy */ managerId?: string; /** * An optional payment reference to be used for transactions related to this tenancy associated with all tenants in the property */ groupPaymentReference?: string; /** * Representation of the tenancy letting fee */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Representation of the tenancy management fee */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * A tenancy source of enquiry */ source?: { /** * The unique identifier of the source for this tenancy */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A tenancy deposit model */ deposit?: { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; }; /** * A tenancy deposit protection model */ depositProtection?: { /** * The unique identifier of the deposit protection */ scheme?: string; /** * The date when deposit protection is registered * example: * 2019-08-14T12:30:02Z */ registeredDate?: string; /** * The registration number of the deposit protection */ registrationNumber?: string; /** * The notified date of the deposit protection * example: * 2019-08-14T12:30:02Z */ notifiedDate?: string; }; /** * A flag denoting whether or not the the deposit release has been initiated */ initiateDepositRelease?: boolean; /** * A collection of contact / company tenants associated to the tenancy. The first item in the collection is considered the primary relationship. This collection is only populated once a tenant moves into a property and the tenancy status becomes current */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * An optional payment reference to be used for transactions related to this tenancy associated with this tenant */ paymentReference?: string; /** * A flag denoting whether or not this roie on the system is now archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * The date the tenant moved in (or will move in) to the property * example: * 2019-08-14 */ occupyOn?: string; /** * The date the tenant vacated (or is due to vacate) the property * example: * 2019-08-14 */ vacateOn?: string; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * A flag denoting whether or not this tenancy is archived */ fromArchive?: boolean; /** * App specific metadata that has been set against the tenancy */ metadata?: { [name: string]: any; }; /** * Financial notes set against the tenancy */ feeNotes?: string; /** * The identifier of the legal status to set against the tenancy */ legalStatusId?: string; /** * The identifier of the pre-tenancy checklist status for the tenancy */ preTenancyCheckStatusId?: string; /** * Representation of renewal options in a tenancy */ renewalOptions?: { /** * The unique identifier of the renewal option */ optionId?: string; /** * The associated renewal option text */ optionText?: string; /** * The renewal option expiry date * example: * 2019-08-14 */ expiry?: string; /** * The renewal options associated condition Ids */ conditionIds?: string[]; }; /** * Representation of tenancy arrears data (populated only when Client Accounts functionality is enabled) */ arrears?: { /** * A flag determining whether or not tenancy arrears should be chased */ chaseArrears?: boolean; /** * Indicates whether or not a payment plan is set up for a tenancy in arrears (no/yes/negotiating) */ paymentPlan?: string; /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; }; /** * The ETag for the current version of the tenancy. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy */ id?: string; /** * The date and time when the tenancy was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The start date of the tenancy * example: * 2019-08-14 */ startDate?: string; /** * The end date of the tenancy * example: * 2019-08-14 */ endDate?: string; /** * The current status of the tenancy (offerPending/offerWithdrawn/offerRejected/arranging/current/finished/cancelled) */ status?: string; /** * The role that the agent is performing for this tenancy (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The amount of rent required, returned in relation to the collection frequency * Note that this is the original rent set on the tenancy. For tenancies that have been extended with a rent change you MUST use the extensions endpoint */ rent?: number; /** * The currency set against the tenancy */ currency?: string; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency?: string; /** * A flag determining whether or not the tenancy is confirmed to finish at the end date */ endDateConfirmed?: boolean; /** * A flag determining whether or not the tenancy has been extended indefinitely */ isPeriodic?: boolean; /** * The frequency of rental instalment payments (weekly/fortnightly/monthly/quarterly/halfYearly/yearly/every28Days/other) */ rentInstalmentsFrequency?: string; /** * The amount due for each rent instalment (where specified) */ rentInstalmentsAmount?: number; /** * The date that the first instalment is due * example: * 2019-08-14 */ rentInstalmentsStart?: string; /** * The recorded utility reading for the gas meter */ meterReadingGas?: string; /** * Date of when the reading of gas utility was last recorded * example: * 2019-08-14 */ meterReadingGasLastRead?: string; /** * The recorded utility reading for the electricity meter */ meterReadingElectricity?: string; /** * Date of when the reading of electricity utility was last recorded * example: * 2019-08-14 */ meterReadingElectricityLastRead?: string; /** * The recorded utility reading for the water meter */ meterReadingWater?: string; /** * Date of when the reading of water utility was last recorded * example: * 2019-08-14 */ meterReadingWaterLastRead?: string; /** * One time inspection scheduled a specific number of days after the tenancy start date */ initialInspectionFrequencyInDays?: number; /** * Recurring inspections set to occur at specified intervals */ regularInspectionFrequencyInDays?: number; /** * The reason for the tenancy finishing */ finishedReason?: string; /** * The unique identifier of the type of tenancy */ typeId?: string; /** * The unique identifier of the negotiator who is managing the tenancy */ negotiatorId?: string; /** * The unique identifier of the property that relates to the tenancy */ propertyId?: string; /** * The unique identifier of the applicant who has applied to be a tenant. Whilst the tenancy is an in arranging state, information about the individual such as name and contact details can be obtained from GET /applicants/{id}. Use the link in the _links collection for a relative URI */ applicantId?: string; /** * The unique identifier of the negotiator assigned as the manager of the tenancy */ managerId?: string; /** * An optional payment reference to be used for transactions related to this tenancy associated with all tenants in the property */ groupPaymentReference?: string; /** * Representation of the tenancy letting fee */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Representation of the tenancy management fee */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * A tenancy source of enquiry */ source?: { /** * The unique identifier of the source for this tenancy */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A tenancy deposit model */ deposit?: { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; }; /** * A tenancy deposit protection model */ depositProtection?: { /** * The unique identifier of the deposit protection */ scheme?: string; /** * The date when deposit protection is registered * example: * 2019-08-14T12:30:02Z */ registeredDate?: string; /** * The registration number of the deposit protection */ registrationNumber?: string; /** * The notified date of the deposit protection * example: * 2019-08-14T12:30:02Z */ notifiedDate?: string; }; /** * A flag denoting whether or not the the deposit release has been initiated */ initiateDepositRelease?: boolean; /** * A collection of contact / company tenants associated to the tenancy. The first item in the collection is considered the primary relationship. This collection is only populated once a tenant moves into a property and the tenancy status becomes current */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * An optional payment reference to be used for transactions related to this tenancy associated with this tenant */ paymentReference?: string; /** * A flag denoting whether or not this roie on the system is now archived */ fromArchive?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * The date the tenant moved in (or will move in) to the property * example: * 2019-08-14 */ occupyOn?: string; /** * The date the tenant vacated (or is due to vacate) the property * example: * 2019-08-14 */ vacateOn?: string; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * A flag denoting whether or not this tenancy is archived */ fromArchive?: boolean; /** * App specific metadata that has been set against the tenancy */ metadata?: { [name: string]: any; }; /** * Financial notes set against the tenancy */ feeNotes?: string; /** * The identifier of the legal status to set against the tenancy */ legalStatusId?: string; /** * The identifier of the pre-tenancy checklist status for the tenancy */ preTenancyCheckStatusId?: string; /** * Representation of renewal options in a tenancy */ renewalOptions?: { /** * The unique identifier of the renewal option */ optionId?: string; /** * The associated renewal option text */ optionText?: string; /** * The renewal option expiry date * example: * 2019-08-14 */ expiry?: string; /** * The renewal options associated condition Ids */ conditionIds?: string[]; }; /** * Representation of tenancy arrears data (populated only when Client Accounts functionality is enabled) */ arrears?: { /** * A flag determining whether or not tenancy arrears should be chased */ chaseArrears?: boolean; /** * Indicates whether or not a payment plan is set up for a tenancy in arrears (no/yes/negotiating) */ paymentPlan?: string; /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; }; /** * The ETag for the current version of the tenancy. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a tenancy renewal check */ interface TenancyRenewalCheckModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy renewal check */ id?: string; /** * The date and time when the tenancy renewal check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy renewal check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The status of the tenancy renewal check (needed/notNeeded/arranging/completed) */ status?: string; /** * Textual description of what the tenancy renewal check relates to */ description?: string; /** * The identifier of the pre-configured tenancy check. This will only be populated * for pre-configured tenancy checks, and not for custom/ad-hoc checks added to individual tenancies */ checkTypeId?: string; /** * The unique identifier of the tenancy that this check relates to */ tenancyId?: string; /** * The unique identifier of the renewal that this check relates to */ renewalId?: string; /** * App specific metadata that has been set against the tenancy renewal check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the teanncy check. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyRenewalCheckModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the tenancy renewal check */ id?: string; /** * The date and time when the tenancy renewal check was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the tenancy renewal check was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The status of the tenancy renewal check (needed/notNeeded/arranging/completed) */ status?: string; /** * Textual description of what the tenancy renewal check relates to */ description?: string; /** * The identifier of the pre-configured tenancy check. This will only be populated * for pre-configured tenancy checks, and not for custom/ad-hoc checks added to individual tenancies */ checkTypeId?: string; /** * The unique identifier of the tenancy that this check relates to */ tenancyId?: string; /** * The unique identifier of the renewal that this check relates to */ renewalId?: string; /** * App specific metadata that has been set against the tenancy renewal check */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the teanncy check. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Represents a tenancies renewal negotiation */ interface TenancyRenewalModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the renewal negotiation */ id?: string; /** * The date and time when the renewal was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the renewal was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * example: * 2019-08-14 */ startDate?: string; /** * example: * 2019-08-14 */ endDate?: string; /** * The status of the renewal (notStarted/started/negotiating/renewed/tenantTerminated/landlordTerminated/periodic) */ status?: string; /** * The unique identifier of the negotiator associated to the renewal */ negotiatorId?: string; /** * The tenancies rent amount */ rent?: number; /** * The rent collection frequency (weekly/monthly/4weeks/annually) */ rentFrequency?: string; /** * Represents rent changes in a tenancies renewal */ rentChange?: { /** * The amount the rent has changed in the renewal */ amount?: number; /** * The percentage the rent has changed in the renewal */ percentage?: number; }; /** * The unique identifier of the tenancy associated to the renewal */ tenancyId?: string; /** * Representation of the tenancy letting fee */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Representation of the tenancy management fee */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * The ETag for the current version of the tenancy renewal. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyRenewalModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the renewal negotiation */ id?: string; /** * The date and time when the renewal was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the renewal was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * example: * 2019-08-14 */ startDate?: string; /** * example: * 2019-08-14 */ endDate?: string; /** * The status of the renewal (notStarted/started/negotiating/renewed/tenantTerminated/landlordTerminated/periodic) */ status?: string; /** * The unique identifier of the negotiator associated to the renewal */ negotiatorId?: string; /** * The tenancies rent amount */ rent?: number; /** * The rent collection frequency (weekly/monthly/4weeks/annually) */ rentFrequency?: string; /** * Represents rent changes in a tenancies renewal */ rentChange?: { /** * The amount the rent has changed in the renewal */ amount?: number; /** * The percentage the rent has changed in the renewal */ percentage?: number; }; /** * The unique identifier of the tenancy associated to the renewal */ tenancyId?: string; /** * Representation of the tenancy letting fee */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Representation of the tenancy management fee */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * The ETag for the current version of the tenancy renewal. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Represents rent changes in a tenancies renewal */ interface TenancyRentChangeModel { /** * The amount the rent has changed in the renewal */ amount?: number; /** * The percentage the rent has changed in the renewal */ percentage?: number; } /** * Representation of a tenancies responsibility */ interface TenancyResponsibilityModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the responsibility */ id?: string; /** * The date and time when the responsibility was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the responsibility last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated to the responsibility */ typeId?: string; /** * The responsibilities description */ description?: string; /** * The responsible party (landlord/tenant) */ appliesTo?: string; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Tenancy agreement text that relates to the responsibility */ letterText?: string; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the responsibility. Used for managing update concurrency */ readonly _eTag?: string; } interface TenancyResponsibilityModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the responsibility */ id?: string; /** * The date and time when the responsibility was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the responsibility last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The identifier of the associated to the responsibility */ typeId?: string; /** * The responsibilities description */ description?: string; /** * The responsible party (landlord/tenant) */ appliesTo?: string; /** * Representation of party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Tenancy agreement text that relates to the responsibility */ letterText?: string; /** * The unique identifier of the associated tenancy */ tenancyId?: string; /** * The ETag for the current version of the responsibility. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * A tenancy source of enquiry */ interface TenancySourceModel { /** * The unique identifier of the source for this tenancy */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Representation of the configuration settings for terminology */ interface TerminologyModel { /** * Terminologies associated with the properties */ properties?: { /** * A flag denoting whether the agent's CRM is configured to use "Sold STC/SSTC" terminology instead of "Under Offer" */ useSoldStc?: boolean; /** * A flag denoting whether the agent's CRM is configured to use "Market Appraisal" terminology instead of "Valuation" */ useMarketAppraisal?: boolean; }; } /** * Model representing a transaction */ interface TransactionModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the transaction */ id?: string; /** * The date and time when the transaction was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the transaction was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The transaction category (advertisingCharge,accountTransfer,bankCharges,buyerAdminFee,buyerDeposit,buyerPayment,deposit,depositDeduction,depositRefund,depositTransfer,depositTransferToAgent,depositTransferToLandlord,depositTransferToScheme,estateServiceCharge,estateWorksOrder,estateUnitWorksOrder,externalCredit,externalAgentFee,freeholderPayment,float,groundRent,goodwillPayment,holdingDeposit,introducingTenantFee,landlordAdminFee,landlordTax,landlordPayment,landlordToSupplierPayment,landlordWorksOrder,leaseholderAdminFee,leaseholderPayment,leaseholderRepayment,leaseholderWorksOrder,lettingFee,managementFee,paymentSurcharge,receipt,rent,rentGuarantee,recoveryPayment,reserveFund,tenantAdminFee,tenantPayment,tenantToLandlordPayment,tenantToSupplierPayment,trustAccountingInvoice,tenantWorksOrder,vacantManagementFee,vendorAdminFee,vendorCommission,vendorPayment,vendorToSupplierPayment,worksOrderPayment) */ category?: string; /** * The transaction type (bankersDraft,bankTransfer,cash,cheque,creditCard,debitCard,directDebit,housingBenefit,paymentRequest,standingOrder) */ type?: string; /** * The type of transaction (credit/debit) */ transactionType?: string; /** * The transaction description */ description?: string; /** * The status of the transaction (awaitingAuthorisation/awaitingPosting/posted/rejected) */ status?: string; /** * The ledger the transaction is recorded in */ ledger?: string; /** * The transaction net amount */ netAmount?: number; /** * The transaction tax amount */ taxAmount?: number; /** * The transaction gross amount */ grossAmount?: number; /** * The amount outstanding that remains to be paid */ outstanding?: number; /** * The unique identifier of the company the transaction is associated with, where applicable */ companyId?: string; /** * The unique identifier of the landlord the transaction is associated with, where applicable */ landlordId?: string; /** * The unique identifier of the property the transaction is associated with, where applicable */ propertyId?: string; /** * The unique identifier of the tenancy the transaction is associated with, where applicable */ tenancyId?: string; /** * The unique identifier of the workds order the transaction is associated with, where applicable */ worksOrderId?: string; /** * The reason for rejection of an invoice */ rejectReason?: string; /** * The ETag for the current version of the transaction. Used for managing update concurrency */ readonly _eTag?: string; } interface TransactionModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the transaction */ id?: string; /** * The date and time when the transaction was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the transaction was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The transaction category (advertisingCharge,accountTransfer,bankCharges,buyerAdminFee,buyerDeposit,buyerPayment,deposit,depositDeduction,depositRefund,depositTransfer,depositTransferToAgent,depositTransferToLandlord,depositTransferToScheme,estateServiceCharge,estateWorksOrder,estateUnitWorksOrder,externalCredit,externalAgentFee,freeholderPayment,float,groundRent,goodwillPayment,holdingDeposit,introducingTenantFee,landlordAdminFee,landlordTax,landlordPayment,landlordToSupplierPayment,landlordWorksOrder,leaseholderAdminFee,leaseholderPayment,leaseholderRepayment,leaseholderWorksOrder,lettingFee,managementFee,paymentSurcharge,receipt,rent,rentGuarantee,recoveryPayment,reserveFund,tenantAdminFee,tenantPayment,tenantToLandlordPayment,tenantToSupplierPayment,trustAccountingInvoice,tenantWorksOrder,vacantManagementFee,vendorAdminFee,vendorCommission,vendorPayment,vendorToSupplierPayment,worksOrderPayment) */ category?: string; /** * The transaction type (bankersDraft,bankTransfer,cash,cheque,creditCard,debitCard,directDebit,housingBenefit,paymentRequest,standingOrder) */ type?: string; /** * The type of transaction (credit/debit) */ transactionType?: string; /** * The transaction description */ description?: string; /** * The status of the transaction (awaitingAuthorisation/awaitingPosting/posted/rejected) */ status?: string; /** * The ledger the transaction is recorded in */ ledger?: string; /** * The transaction net amount */ netAmount?: number; /** * The transaction tax amount */ taxAmount?: number; /** * The transaction gross amount */ grossAmount?: number; /** * The amount outstanding that remains to be paid */ outstanding?: number; /** * The unique identifier of the company the transaction is associated with, where applicable */ companyId?: string; /** * The unique identifier of the landlord the transaction is associated with, where applicable */ landlordId?: string; /** * The unique identifier of the property the transaction is associated with, where applicable */ propertyId?: string; /** * The unique identifier of the tenancy the transaction is associated with, where applicable */ tenancyId?: string; /** * The unique identifier of the workds order the transaction is associated with, where applicable */ worksOrderId?: string; /** * The reason for rejection of an invoice */ rejectReason?: string; /** * The ETag for the current version of the transaction. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface Transactions { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; propertyId?: string[]; landlordId?: string[]; tenancyId?: string[]; status?: ('awaitingAuthorisation' | 'awaitingPosting' | 'posted' | 'rejected')[]; type?: ('creditAdjustment' | 'creditNoteCorrection' | 'creditNoteGoodwillPayment' | 'creditNoteRefund' | 'creditNoteRepayment' | 'creditNoteWriteOff' | 'debitAdjustment' | 'deposit' | 'float' | 'invoice' | 'journal' | 'openingBalanceDr' | 'openingBalancingCr' | 'payment' | 'reserveFunds' | 'transfer')[]; ledger?: ('landlord' | 'tenant' | 'vendor')[]; category?: ('advertisingCharge' | 'accountTransfer' | 'bankCharges' | 'buyerAdminFee' | 'buyerDeposit' | 'buyerPayment' | 'deposit' | 'depositDeduction' | 'depositRefund' | 'depositTransfer' | 'depositTransferToAgent' | 'depositTransferToLandlord' | 'depositTransferToScheme' | 'estateServiceCharge' | 'estateWorksOrder' | 'estateUnitWorksOrder' | 'externalCredit' | 'externalAgentFee' | 'freeholderPayment' | 'float' | 'groundRent' | 'goodwillPayment' | 'holdingDeposit' | 'introducingTenantFee' | 'landlordAdminFee' | 'landlordTax' | 'landlordPayment' | 'landlordToSupplierPayment' | 'landlordWorksOrder' | 'leaseholderAdminFee' | 'leaseholderPayment' | 'leaseholderRepayment' | 'leaseholderWorksOrder' | 'lettingFee' | 'managementFee' | 'paymentSurcharge' | 'receipt' | 'rent' | 'rentGuarantee' | 'rentInsurance' | 'recoveryPayment' | 'reserveFund' | 'tenantAdminFee' | 'tenantPayment' | 'tenantToLandlordPayment' | 'tenantToSupplierPayment' | 'trustAccountingInvoice' | 'tenantWorksOrder' | 'vacantManagementFee' | 'vendorAdminFee' | 'vendorCommission' | 'vendorPayment' | 'vendorToSupplierPayment' | 'worksOrderPayment')[]; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; outstandingFrom?: number; outstandingTo?: number; } interface TransactionsNominalAccounts { pageSize?: number; pageNumber?: number; sortBy?: string; id?: string[]; appliesToWorksOrders?: boolean; } /** * Representation of all of the available configurable items */ interface TypeModel { /** * A list of configurable agency types */ agencyTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable appointment types */ appointmentTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable applicant statuses */ applicantStatuses?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable board statuses */ boardStatuses?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable buying positions */ buyingPositions?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable buying reasons */ buyingReasons?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable certificate types */ certificateTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable company types */ companyTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable contact categories */ contactCategories?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; /** * The category type. */ type?: string; }[]; /** * A list of configurable document types */ documentTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable identity document types */ identityDocumentTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable journal entry types */ journalEntryTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable key types */ keyTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable follow up responses */ followUpResponses?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable selling reasons */ sellingReasons?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable rent insurance cancellation reasons */ rentInsuranceCancellationReasons?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable renting positions */ rentingPositions?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable supplier types */ supplierTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable task types */ taskTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable tenancy legal status */ tenancyLegalStatuses?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable tenancy types */ tenancyTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable vendor types */ vendorTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; /** * A list of configurable works order types */ worksOrderTypes?: { /** * The unique identifier of the list item */ id?: string; /** * The textual value for the list item */ value?: string; }[]; } /** * Represents an unmapped attribute type */ interface UnmappedAttributeModel { /** * The type of unmapped attribute (style/type/situation/parking/age/locality/special) */ type?: string; /** * The value associated to the unmapped type */ value?: string; } /** * Represents an unmapped requirement type */ interface UnmappedRequirementModel { /** * The type of unmapped requirement */ type?: string; /** * The value associated to the unmapped type */ value?: string; } /** * The model containing data for updating an alarm. * example: * [object Object] */ interface UpdateAlarmModel { /** * The unique identifier of the category of the alarm. */ categoryId?: string; /** * The unique identifier of the type of the alarm. */ typeId?: string; /** * The location of the alarm. */ location?: string; /** * The date that the alarm was checked. * example: * 2019-08-14T12:30:02Z */ checkedDate?: string; /** * The base model for reading, creating or updating the entity that checked an alarm. */ checkedBy?: { /** * The type of the entity that checked the alarm (negotiator/contact/external). */ type?: string; /** * The entity that checked the alarm. When Reapit.Services.Properties.Application.Models.Base.AlarmCheckedByModelBase.Type is * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Negotiator or * Reapit.Services.Properties.Domain.Enumerations.AlarmCheckingEntityType.Contact, this will be the unique identifier of the * corresponding entity. */ value?: string; }; /** * The date that the alarm is due to be serviced/reviewed. * example: * 2019-08-14T12:30:02Z */ serviceDate?: string; /** * The expiry date of the alarm. * example: * 2019-08-14T12:30:02Z */ expiryDate?: string; /** * Flag to determine whether this alarm has been removed. */ removed?: boolean; } /** * The details specific to applicants with a marketingMode of buying */ interface UpdateApplicantBuyingModel { /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * The lower bound of the applicant's budget */ priceFrom?: number; /** * The upper bound of the applicant's budget */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14 */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; } /** * The applicant's outdoor space requirements */ interface UpdateApplicantExternalAreaModel { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; } /** * Details of regional information specific to Guernsey */ interface UpdateApplicantGuernseyModel { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; } /** * The applicant's indoor space requirements */ interface UpdateApplicantInternalAreaModel { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; } /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ interface UpdateApplicantLeaseRemaining { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; } /** * Request body used to update an existing applicant * example: * [object Object] */ interface UpdateApplicantModel { /** * Indicates whether the applicant is look to buy or rent a property (buying/renting) */ marketingMode?: string; /** * The ISO-4217 currency code that relates to monetary amounts specified by the applicant * Where not specified this will default to the customer's base currency */ currency?: string; /** * A flag determining whether or not the applicant is actively looking for a property */ active?: boolean; /** * A free text field describing any adhoc buying or renting requirements */ notes?: string; /** * The status id of the applicant */ statusId?: string; /** * The applicant's selling status (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ sellingStatus?: string; /** * The applicant's selling position (nothingToSell/renting/sellingWithUs/sellingWithOtherAgent/sellingPrivately/notYetOnMarket) */ sellingPosition?: string; /** * The date when the applicant was last contacted * example: * 2019-08-14 */ lastCall?: string; /** * The date when the applicant is next due to be contacted * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the department that the applicant requirements are associated with. The applicant will only match to properties with the same value */ departmentId?: string; /** * The unique identifier of the solicitor associated to the applicant */ solicitorId?: string; /** * A flag determining whether or not the applicant is a potential client */ potentialClient?: boolean; /** * The applicant's property type requirements (eg house, bungalow, land), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ type?: string[]; /** * The applicant's property style requirements (eg detached, semiDetached), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ style?: string[]; /** * The applicant's requirements for other aspects of prospective properties - such as outside space - as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ situation?: string[]; /** * The applicant's parking requirements (eg garage), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parking?: string[]; /** * The applicant's property age requirements (eg new, period), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ age?: string[]; /** * The applicant's general property location requirements (eg rural, townCity), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ locality?: string[]; /** * The applicant's special feature property requirements (eg Swimming Pool, Tennis Court), as defined by the applicant's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * The minimum number of bedrooms the applicant requires */ bedroomsMin?: number; /** * The maximum number of bedrooms the applicant requires */ bedroomsMax?: number; /** * The minimum number of reception rooms the applicant requires */ receptionsMin?: number; /** * The maximum number of reception rooms the applicant requires */ receptionsMax?: number; /** * The minimum number of bathrooms the applicant requires */ bathroomsMin?: number; /** * The maximum number of bathrooms the applicant requires */ bathroomsMax?: number; /** * The minimum number of parking spaces the applicant requires */ parkingSpacesMin?: number; /** * The maximum number of parking spaces the applicant requires */ parkingSpacesMax?: number; /** * The applicant's location type (areas/addresses/none) */ locationType?: string; /** * The applicant's location options */ locationOptions?: string[]; /** * The details specific to applicants with a marketingMode of buying */ buying?: { /** * The identifier of the applicant's buying reason */ reasonId?: string; /** * The identifier of the applicant's selling position */ positionId?: string; /** * The lower bound of the applicant's budget */ priceFrom?: number; /** * The upper bound of the applicant's budget */ priceTo?: number; /** * A list of property decoration requirements taken from the full listing of the associated department (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * A list of tenure requirements taken from the full listing of the associated department (freehold/leasehold/shareOfFreehold) */ tenure?: string[]; /** * The date when the applicant's current mortgage expires/is due for renewal * example: * 2019-08-14 */ mortgageExpiry?: string; /** * The details specific to the applicant's lease term requirements where they are interested in properties with a leasehold tenure */ leaseRemaining?: { /** * The minimum number of years that must remain on the lease of a leasehold property */ min?: number; /** * The maximum number of years that must remain on the lease of a leasehold property */ max?: number; }; }; /** * The details specific to applicants with a marketingMode of renting */ renting?: { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget */ rentFrom?: number; /** * The upper bound of the applicant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually) */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; }; /** * The applicant's outdoor space requirements */ externalArea?: { /** * The unit of area that each amount corresponds to (acres/hectares) */ type?: string; /** * The minimum unit value of outside space that the applicant is looking for */ amountFrom?: number; /** * The maximum unit value of outside space that the applicant is looking for */ amountTo?: number; }; /** * The applicant's indoor space requirements */ internalArea?: { /** * The unit of area that each amount corresponds to (squareFeet/squareMetres) */ type?: string; /** * The unit value of inside space that the applicant is looking for */ amount?: number; }; /** * An applicant's source of enquiry */ source?: { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; }; /** * A collection of unique identifiers of offices attached to the applicant. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the applicant. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * App specific metadata to set against the applicant */ metadata?: { [name: string]: any; }; } /** * Details relating to the real estate market in specific countries. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface UpdateApplicantRegionalModel { /** * Details of regional information specific to Guernsey */ ggy?: { /** * Requirements describing which markets the applicant is looking for properties in (local/openA/openB/openC/openD) */ market?: string[]; }; } /** * The details specific to applicants with a marketingMode of renting */ interface UpdateApplicantRentingModel { /** * The date the applicant is looking to move to a new property * example: * 2019-08-14 */ moveDate?: string; /** * The applicant's preferred letting term (long/short/any) */ term?: string; /** * The lower bound of the applicant's budget */ rentFrom?: number; /** * The upper bound of the applicant's budget */ rentTo?: number; /** * The desired rent collection frequency specified by the applicant's budget (weekly/monthly/annually) */ rentFrequency?: string; /** * A list of property furnishing requirements taken from the full listing of the associated department */ furnishing?: string[]; /** * The identifier of the applicant's renting position */ positionId?: string; } /** * An applicant's source of enquiry */ interface UpdateApplicantSourceModel { /** * The unique identifier of the applicant's source */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Represents an external attendee on an appointment */ interface UpdateAppointmentAttendeeModel { /** * The unique identifier of the attendee. To clear an attendee this can be passed as an empty string. */ id?: string; /** * The type of attendee (applicant/contact/landlord/tenant) */ type?: string; /** * A flag denoting whether or not the attendee has confirmed their attendance */ confirmed?: boolean; } /** * A view of the documents associated to the appointment */ interface UpdateAppointmentDocumentModel { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; } /** * Represents the follow up information on a single appointment */ interface UpdateAppointmentFollowUpModel { /** * The unique identifier of a pre-defined follow up response type */ responseId?: string; /** * The internal follow up notes to be stored against the appointment */ notes?: string; } /** * Request body used to update an existing calendar appointment * example: * [object Object] */ interface UpdateAppointmentModel { /** * The date and time when the appointment will start * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The date and time when the appointment will end * example: * 2019-08-14T12:30:02Z */ end?: string; /** * The date when the appointment should be followed up * example: * 2019-08-14 */ followUpOn?: string; /** * The unique identifier of the appointment type */ typeId?: string; /** * A free text description about the appointment */ description?: string; /** * The unique identifier of the property related to the appointment */ propertyId?: string; /** * The unique identifier of the external company either carrying out or attending the appointment with the agent */ otherAgentId?: string; /** * The unique identifier of the negotiator that organised the appointment */ organiserId?: string; /** * A flag denoting whether or not the appointment has been cancelled */ cancelled?: boolean; /** * A collection of unique identifiers of negotiators attached to the appointment. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of unique identifiers of offices attached to the appointment. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * Represents an external attendee on an appointment */ attendee?: { /** * The unique identifier of the attendee. To clear an attendee this can be passed as an empty string. */ id?: string; /** * The type of attendee (applicant/contact/landlord/tenant) */ type?: string; /** * A flag denoting whether or not the attendee has confirmed their attendance */ confirmed?: boolean; }; /** * A flag denoting whether or not the appointment will be accompanied by one or more negotiators */ accompanied?: boolean; /** * A flag denoting whether or not the appointment is virtual */ virtual?: boolean; /** * A flag denoting whether or not the appointment is a subsequent appointment to a previous one (a repeat appointment for the same attendee) */ isRepeat?: boolean; /** * A flag denoting whether or not the main negotiator has confirmed their attendance */ negotiatorConfirmed?: boolean; /** * A flag denoting whether or not the attendee has confirmed their attendance */ attendeeConfirmed?: boolean; /** * A flag denoting whether or not the property and/or property's vendor has confirmed their attendance */ propertyConfirmed?: boolean; /** * The attendance status of the appointment (notSet/noShow/attended) */ attended?: string; /** * Represents the follow up information on a single appointment */ followUp?: { /** * The unique identifier of a pre-defined follow up response type */ responseId?: string; /** * The internal follow up notes to be stored against the appointment */ notes?: string; }; /** * Details of an appointment's recurrence pattern */ recurrence?: { /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The numeric value denoting how often the appointment will recur */ interval?: number; /** * The date and time when the recurrence will stop * example: * 2019-08-14T12:30:02Z */ until?: string; }; /** * A view of the documents associated to the appointment */ documents?: { /** * The unique identifier of the draft property inspection report document */ draftPropertyInspectionReportId?: string; /** * The unique identifier of the final property inspection report document */ finalPropertyInspectionReportId?: string; }; /** * App specific metadata to set against the appointment */ metadata?: { [name: string]: any; }; } /** * Details of an appointment's recurrence pattern */ interface UpdateAppointmentRecurrenceModel { /** * The type of unit that the `interval` applies to (daily/weekly/yearly/monthly) */ type?: string; /** * The numeric value denoting how often the appointment will recur */ interval?: number; /** * The date and time when the recurrence will stop * example: * 2019-08-14T12:30:02Z */ until?: string; } /** * Request body used to update an existing area * example: * [object Object] */ interface UpdateAreaModel { /** * The name of the area */ name?: string; /** * The location details (comma delimited list of postcodes, group ids or lat/long coordinate groups) */ area?: string[]; /** * A collection of unique identifiers of departments associated to the area */ departmentIds?: string[]; /** * A collection of unique identifiers of offices attached to the area. The first item in the collection is considered the primary office */ officeIds?: string[]; } /** * Request body used to update an existing certificate. * example: * [object Object] */ interface UpdateCertificateModel { /** * The certificate's start date. * example: * 2019-08-14T12:30:02Z */ start?: string; /** * The certificate's expiry date. * example: * 2019-08-14T12:30:02Z */ expiry?: string; /** * The unique identifier of the company. */ companyId?: string; /** * Any general notes regarding the certificate. */ notes?: string; /** * The certificate's reference number. */ referenceNumber?: string; /** * The unique identifier of the certificate's status. */ statusId?: string; } /** * Object containing a collection of certificate type to responsible party mappings * example: * [object Object] */ interface UpdateCertificateResponsibilitiesModel { /** * A collection of certificate type to responsible party mappings */ responsibleParties?: { /** * Identifier for the type of certificate for which the party is responsible */ typeId?: string; /** * The party responsible for the specified certificate type (landlord/agent/notRequired/notSet) */ responsibleParty?: string; }[]; } /** * Record describing the responsible party for a given type of certificate within a property entry */ interface UpdateCertificateResponsiblePartyModel { /** * Identifier for the type of certificate for which the party is responsible */ typeId?: string; /** * The party responsible for the specified certificate type (landlord/agent/notRequired/notSet) */ responsibleParty?: string; } /** * Request body to set the address of an existing company */ interface UpdateCompanyAddressModel { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * Request body used to update an existing company * example: * [object Object] */ interface UpdateCompanyModel { /** * The name of the company */ name?: string; /** * The branch name of the company */ branch?: string; /** * A free text field containing notes that describe the company's business or service offering */ notes?: string; /** * A flag determining whether or not the company is currently active */ active?: boolean; /** * The marketing consent status of the company (deny/notAsked) */ marketingConsent?: string; /** * A flag determining whether or not the company is VAT registered */ vatRegistered?: boolean; /** * A collection of unique identifiers of company types that categorise the type of business the company operates */ typeIds?: string[]; /** * The unique identifier of a supplier type, if the company is a supplier */ supplierTypeId?: string; /** * The work phone number of the company */ workPhone?: string; /** * The mobile phone number of the company */ mobilePhone?: string; /** * The email address of the company */ email?: string; /** * Request body to set the address of an existing company */ address?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A flag determining whether or not the company is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the company is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the company is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the company is happy to receive communications by SMS */ communicationPreferenceSms?: boolean; /** * App specific metadata to set against the company */ metadata?: { [name: string]: any; }; } /** * Request body used to update an address on an existing contact */ interface UpdateContactAddressModel { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the adderess resides in */ countryId?: string; } /** * Request body used to update an existing contact * example: * [object Object] */ interface UpdateContactModel { /** * The contact's title (eg. Mr, Mrs, Miss, Dr) */ title?: string; /** * The contact's forename */ forename?: string; /** * The contact's surname */ surname?: string; /** * The contact's date of birth * example: * 2019-08-14 */ dateOfBirth?: string; /** * A flag determining whether or not the contact is currently active */ active?: boolean; /** * The marketing consent status of the contact (grant/deny/notAsked) */ marketingConsent?: string; /** * Request body used to update the source of an existing contact */ source?: { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * The home phone number of the contact */ homePhone?: string; /** * The work phone number of the contact */ workPhone?: string; /** * The mobile phone number of the contact */ mobilePhone?: string; /** * The email address of the contact */ email?: string; /** * A collection of unique identifiers of offices attached to the contact. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * A collection of unique identifiers of negotiators attached to the contact. The first item in the collection is considered the primary negotiator */ negotiatorIds?: string[]; /** * A collection of categories associated to the contact. */ categoryIds?: string[]; /** * Request body used to update an address on an existing contact */ primaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the adderess resides in */ countryId?: string; }; /** * Request body used to update an address on an existing contact */ secondaryAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the adderess resides in */ countryId?: string; }; /** * Request body used to update an address on an existing contact */ workAddress?: { /** * The type of address (primary/secondary/home/work/forwarding/company/previous) */ type?: string; /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the adderess resides in */ countryId?: string; }; /** * A flag determining whether or not the contact is happy to receive communications by letter */ communicationPreferenceLetter?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by email */ communicationPreferenceEmail?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by phone */ communicationPreferencePhone?: boolean; /** * A flag determining whether or not the contact is happy to receive communications by SMS */ communicationPreferenceSMS?: boolean; /** * A flag determining whether the contact is archived */ fromArchive?: boolean; /** * App specific metadata to set against the contact */ metadata?: { [name: string]: any; }; /** * A collection of additional contact details */ additionalContactDetails?: { [name: string]: string; }; } /** * Request body used to update the source of an existing contact */ interface UpdateContactSourceModel { /** * The unique identifier of the source of the contact */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Request body used to update an existing contact subscription * example: * [object Object] */ interface UpdateContactSubscriptionModel { /** * The status of the subscription (subscribed/unsubscribed) */ status?: string; } /** * Request body for updating sales progression information on an existing offer * example: * [object Object] */ interface UpdateConveyancingModel { /** * The unique identifier of the vendor that this offer is associated to. Empty if the offer is external and relates to a property not instructed to the agent */ vendorSolicitorId?: string; /** * The unique identifier of the solicitor / conveyancer that the vendor has instructed */ buyerSolicitorId?: string; /** * The date when the fixtures and fittings form has been completed * example: * 2019-08-14 */ fixturesAndFittingsCompleted?: string; /** * The date when the title deeds were requested from land registry * example: * 2019-08-14 */ deedsRequested?: string; /** * The date when the title deeds were received from land registry * example: * 2019-08-14 */ deedsReceived?: string; /** * The date when the legal enquiries raised by the buyers solicitor were sent * example: * 2019-08-14 */ enquiriesSent?: string; /** * The date when the legal enquiries raised by the buyers solicitor were answered * example: * 2019-08-14 */ enquiriesAnswered?: string; /** * The date when the buyer paid for conveyancing searches * example: * 2019-08-14 */ searchesPaid?: string; /** * The date when conveyancing searches were applied for * example: * 2019-08-14 */ searchesApplied?: string; /** * The date when conveyancing searches were received * example: * 2019-08-14 */ searchesReceived?: string; /** * The date when the draft contract was sent * example: * 2019-08-14 */ contractSent?: string; /** * The date when the draft contract was received * example: * 2019-08-14 */ contractReceived?: string; /** * The date when the contract was approved * example: * 2019-08-14 */ contractApproved?: string; /** * The date when the vendor signed the approved contract * example: * 2019-08-14 */ contractVendorSigned?: string; /** * The date when the buyer signed the approved contract * example: * 2019-08-14 */ contractBuyerSigned?: string; /** * Indication of whether the buyer will require a mortgage to fund the purchase (yes/no/unknown) */ mortgageRequired?: string; /** * The loan to value percentage of the mortgage required */ mortgageLoanPercentage?: number; /** * The date when the mortgage application was submitted * example: * 2019-08-14 */ mortgageSubmitted?: string; /** * The date when the mortgage offer was received * example: * 2019-08-14 */ mortgageOfferReceived?: string; /** * The unique identifier of the company who will provide the mortgage */ mortgageLenderId?: string; /** * The unique identifier of the company who brokered the mortgage */ mortgageBrokerId?: string; /** * The date of the mortgage valuation/survey * example: * 2019-08-14T12:30:02Z */ mortgageSurveyDate?: string; /** * The unique identifier of the company who will perform the mortgage valuation/survey */ mortgageSurveyorId?: string; /** * Indication of whether the buyer requires that an additional survey take place (yes/no/unknown) */ additionalSurveyRequired?: string; /** * The date of the additional survey * example: * 2019-08-14 */ additionalSurveyDate?: string; /** * The unique identifier of the company who will perform the additional survey */ additionalSurveyorId?: string; /** * The date when the vendor conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedVendor?: string; /** * The date when the buyer conveyancer confirms the exchange * example: * 2019-08-14 */ exchangedBuyer?: string; /** * The date when the sale completed * example: * 2019-08-14 */ completion?: string; /** * App specific metadata to set against this conveyancing record */ metadata?: { [name: string]: any; }; } /** * Request body used to update an existing development phase. * example: * [object Object] */ interface UpdateDevelopmentPhaseModel { /** * The development phase summary. */ phase?: string; /** * The development phase notes. */ notes?: string; /** * The release date of the development phase. * example: * 2019-08-14T12:30:02Z */ releaseDate?: string; /** * The completion date of the development phase. * example: * 2019-08-14T12:30:02Z */ completionDate?: string; /** * A flag to determine if the development phase is complete. */ completed?: boolean; } /** * Request body used to update an existing document * example: * [object Object] */ interface UpdateDocumentModel { /** * The unique identifier of the type of document */ typeId?: string; /** * The filename of the document */ name?: string; /** * A flag denoting whether or not the document is private */ isPrivate?: boolean; /** * App specific metadata to set against the document */ metadata?: { [name: string]: any; }; } /** * Request body used to update an existing enquiry. * example: * [object Object] */ interface UpdateEnquiryModel { /** * The unique identifier of the applicant associated to the enquiry. */ applicantId?: string; /** * The unique identifier of the lead negotiator assigned to the enquiry. */ leadNegotiatorId?: string; /** * The status of the enquiry (added/alreadyExists/duplicateEntry/pending/rejected/spam). */ status?: string; } /** * Request body used to update an exist contact identity check * example: * [object Object] */ interface UpdateIdentityCheckModel { /** * The date when the identity check was performed. This may differ to the date when the check was created * example: * 2019-08-14 */ checkDate?: string; /** * The current status of the identity check (pass/fail/pending/cancelled/warnings/unchecked) */ status?: string; /** * The unique identifier of the negotiator that initiated the identity check */ negotiatorId?: string; /** * Request body to update an identity document attached to an existing contact identity check */ identityDocument1?: { /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) * The total request payload cannot exceed 6Mb, regardless of the number of documents being sent */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to (This supports files up to 30MB) */ fileUrl?: string; /** * The filename to store the document as */ name?: string; }; /** * Request body to update an identity document attached to an existing contact identity check */ identityDocument2?: { /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) * The total request payload cannot exceed 6Mb, regardless of the number of documents being sent */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to (This supports files up to 30MB) */ fileUrl?: string; /** * The filename to store the document as */ name?: string; }; /** * App specific metadata to set against the identity check */ metadata?: { [name: string]: any; }; } /** * Request body to update an identity document attached to an existing contact identity check */ interface UpdateIdentityDocumentModel { /** * The unique identifier of the type of identity document provided */ typeId?: string; /** * The date when the document expires and becomes invalid * example: * 2019-08-14 */ expiry?: string; /** * Details regarding the identity document (eg. passport number) */ details?: string; /** * The base64 encoded identity document content, prefixed with the content type (eg. data:text/plain;base64,VGVzdCBmaWxl) * The total request payload cannot exceed 6Mb, regardless of the number of documents being sent */ fileData?: string; /** * The presigned s3 url which a document has been uploaded to (This supports files up to 30MB) */ fileUrl?: string; /** * The filename to store the document as */ name?: string; } /** * Request body used to set the energy performance rating information for properties in Ireland */ interface UpdateIrelandPropertyBERModel { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; } /** * Request body used to set the data specific to properties in Ireland */ interface UpdateIrelandPropertyModel { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; } /** * Request body used to update an existing landlord. * example: * [object Object] */ interface UpdateLandlordModel { /** * A flag determining whether or not the landlord is currently active. */ active?: boolean; /** * The unique identifier of the company acting as the landlord's solicitor. */ solicitorId?: string; /** * The unique identifier of the office that is associated to the landlord. */ officeId?: string; /** * The delivery preferences for statements (email/post/notSent) */ statementPreferences?: string[]; /** * Request body used to update the source of an existing landlord */ source?: { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * App specific metadata that to set against the landlord. */ metadata?: { [name: string]: any; }; } /** * Request body used to update the source of an existing landlord */ interface UpdateLandlordSourceModel { /** * The unique identifier of the source of the landlord */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Request body used to update a tenancy renewals letting fee */ interface UpdateLettingFeeRenewalModel { /** * The letting fee type (fixed/perentage) */ type?: string; /** * The letting fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the letting fee is required (monthly/quarterly/halfYearly/yearly/28days/upfront/upfrontOver2Months/other/notApplicable) */ frequency?: string; } /** * Representation of property details specific to property licence application */ interface UpdateLicenceApplicationModel { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14T12:30:02Z */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14T12:30:02Z */ expiry?: string; } /** * Request body used to update a tenancy renewals management fee */ interface UpdateManagementFeeRenewalModel { /** * The mangement fee type (fixed/perentage) */ type?: string; /** * The mangement fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the mangement fee is required (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; } /** * Payload to update a metadata record * example: * [object Object] */ interface UpdateMetadataRequest { /** * The updated JSON document to store */ metadata: { [name: string]: any; }; } /** * Request body used to update an existing negotiator * example: * [object Object] */ interface UpdateNegotiatorModel { /** * The name of the negotiator */ name?: string; /** * The job title of the negotiator */ jobTitle?: string; /** * A flag determining whether or not the negotiator is active */ active?: boolean; /** * The work phone number of the negotiator */ workPhone?: string; /** * The mobile phone number of the negotiator */ mobilePhone?: string; /** * The email address of the negotiator */ email?: string; /** * The identifiers of other negotiators whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryNegotiatorIds?: string[]; /** * The identifiers of other offices whose diaries should be displayed to this negotiator when rendering diary/calendar view components in applicants */ diaryOfficeIds?: string[]; /** * App specific metadata to set against the negotiator */ metadata?: { [name: string]: any; }; } /** * Request body used to update an existing offer * example: * [object Object] */ interface UpdateOfferModel { /** * The unique identifier of the negotiator associated to the offer */ negotiatorId?: string; /** * The date when the offer was made * example: * 2019-08-14 */ date?: string; /** * The monetary amount of the offer */ amount?: number; /** * The current status of the offer (pending/withdrawn/rejected/accepted/noteOfInterest) */ status?: string; /** * A free text field describing items that should be included in the sale */ inclusions?: string; /** * A free text field describing items that are explicitly excluded from the sale */ exclusions?: string; /** * A free text field describing any other conditions set by either party that relate to the sale */ conditions?: string; /** * App specific metadata to set against the offer */ metadata?: { [name: string]: any; }; } /** * Request body used to set the geolocation coordinates of an existing address */ interface UpdateOfficeAddressGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; } /** * Request body used to update the address of an existing office */ interface UpdateOfficeAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of an existing address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; } /** * Request body used to update an existing office * example: * [object Object] */ interface UpdateOfficeModel { /** * The name of the office */ name?: string; /** * A flag denoting whether or not this office is active */ active?: boolean; /** * The name of the office manager */ manager?: string; /** * Request body used to update the address of an existing office */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to set the geolocation coordinates of an existing address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * The work phone number of the office */ workPhone?: string; /** * The email address of the office */ email?: string; /** * App specific metadata to set against the office */ metadata?: { [name: string]: any; }; } /** * Request body used to upda te a new open house attendee * example: * [object Object] */ interface UpdateOpenHouseAttendeeModel { /** * The interest level of the open house attendee (veryInterested/mightBeInterested/notInterested/notSet) */ interestLevel?: string; /** * Notes on this open house attendee */ notes?: string; } /** * Request body used to update the address of an existing property */ interface UpdatePropertyAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to update the geolocation coordinates of an existing property's address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; } /** * Model for the creation of a new property appraisal * example: * [object Object] */ interface UpdatePropertyAppraisalModel { /** * Unique identifier of the appraising company */ companyId?: string; /** * The date of the appraisal * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The appraisal value */ price?: number; /** * Representation of the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Free-text notes associated with the appraisal */ notes?: string; } /** * Model for the update of an existing check * example: * [object Object] */ interface UpdatePropertyCheckModel { /** * The status of the check (needed/notNeeded/arranging/completed) */ status?: string; } /** * Request body used to update the commission fee details for a property. */ interface UpdatePropertyCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; } /** * Request body used to update a reduction of the commission fee for a property. */ interface UpdatePropertyCommissionFeeReductionModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; } /** * Request body used to update the EPC statistics of an existing property */ interface UpdatePropertyEpcModel { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The current environmental impact rating */ eir?: number; /** * The potential environmental impact rating */ eirPotential?: number; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; } /** * Request body to update the plot size of an existing property */ interface UpdatePropertyExternalAreaModel { /** * The unit of area (acres/hectares). (This will be converted and returned as acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; } /** * Request body to set a properties flood erosion */ interface UpdatePropertyFloodErosionModel { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; } /** * Request body used to update the geolocation coordinates of an existing property's address */ interface UpdatePropertyGeolocationModel { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; } /** * Request body used to update an existing property image * example: * [object Object] */ interface UpdatePropertyImageModel { /** * The image caption */ caption?: string; /** * The type of image (photograph/floorPlan/epc/map) */ type?: string; } /** * Request body to update the internal dimensions of an existing property */ interface UpdatePropertyInternalAreaModel { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; } /** * Request body used to update the commission fee details for a lettings property. */ interface UpdatePropertyLettingCommissionFeeModel { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to update a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to update a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; } /** * Representation of property details specific to property Licencing */ interface UpdatePropertyLettingLicencingModel { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14T12:30:02Z */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14T12:30:02Z */ expiry?: string; }; } /** * Request body used to update details specific to lettings marketing on an existing property */ interface UpdatePropertyLettingModel { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is next available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * The unique identifier of the document used for the lettings brochure */ brochureId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * Sets the minimum number of months the property can be let out for */ minimumTerm?: number; /** * Request body used to update the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Request body used to update the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to update a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to update a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetry amount based on the `type` */ amount?: number; }; /** * Request body used to update details specific to rent insurance associated with a lettings property */ rentInsurance?: { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; }; /** * Representation of property details specific to property Licencing */ licencing?: { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14T12:30:02Z */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14T12:30:02Z */ expiry?: string; }; }; /** * Model for the property withdrawal reason update details */ withdrawalReason?: { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; }; } /** * Request body used to update details specific to rent insurance associated with a lettings property */ interface UpdatePropertyLettingRentInsuranceModel { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; } /** * Representation of a property details related to deposit */ interface UpdatePropertyLettingsDepositModel { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetry amount based on the `type` */ amount?: number; } /** * Request body used to update an existing property * example: * [object Object] */ interface UpdatePropertyModel { /** * The date the owner of the property was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the owner of the property is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * A flag determining whether or not the property's room details have been approved by the vendor or landlord */ roomDetailsApproved?: boolean; /** * The strapline description containing a short summary about the property */ strapline?: string; /** * The brief description of the property */ description?: string; /** * The summary of accommodation, typically short phrases or bullet points describing the key features of the property */ summary?: string; /** * An optional alternative identifier specified for this property */ alternateId?: string; /** * The property's special feature property requirements (eg Swimming Pool, Tennis Court), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ specialFeatures?: string[]; /** * Request body used to update the address of an existing property */ address?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; /** * Request body used to update the geolocation coordinates of an existing property's address */ geolocation?: { /** * The latitude coordinate of the coordinate pair */ latitude?: number; /** * The longitude coordinate of the coordinate pair */ longitude?: number; }; }; /** * The total number of bedrooms in the property */ bedrooms?: number; /** * The maximum number of bedrooms in the property */ bedroomsMax?: number; /** * The number of units offered on the market. This is typically used when marketing development sites. */ numberOfUnits?: number; /** * The total number of reception rooms in the property */ receptions?: number; /** * The maximum number of reception rooms in the property */ receptionsMax?: number; /** * The total number of bathrooms in the property */ bathrooms?: number; /** * The maximum number of bathrooms in the property */ bathroomsMax?: number; /** * The total number of parking spaces the property has. This is only supported by some departments. Please refer to the glossary for support [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parkingSpaces?: number; /** * The council tax banding of the property (A/B/C/D/E/F/G/H/I/notYetAvailable) */ councilTax?: string; /** * A flag denoting whether or not this property can be advertised on the internet */ internetAdvertising?: boolean; /** * The arrangements regarding viewing the property */ viewingArrangements?: string; /** * The url of a video associated with this property, such as a virtual tour */ videoUrl?: string; /** * The caption for the video url associated with this property */ videoCaption?: string; /** * The url of a second video associated with this property, such as a virtual tour */ video2Url?: string; /** * The caption for the second video url associated with this property */ video2Caption?: string; /** * Any general notes regarding the property. These are not usually exposed to end users and may contain sensitive information about a sale */ notes?: string; /** * The long description of the property */ longDescription?: string; /** * The floor level the property is on. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ floorLevel?: number; /** * The number of internal floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ internalFloors?: number; /** * The total number of floors the property has. Note that this field can only be set when certain configuration settings are enabled on the property's department. Please [refer to the glossary](https://foundations-documentation.reapit.cloud/platform-glossary#department) for more information */ totalFloors?: number; /** * The status of the advertising board sited outside or near to the property */ boardStatus?: string; /** * Any notes relevant to the advertising board sited outside or near to the property */ boardNotes?: string; /** * The date the advertising board was last updated (or should be updated when the date is in the future) * example: * 2019-08-14 */ boardUpdated?: string; /** * The date on which the property was valued. Note that this can differ to physical appointment dates in some cases * example: * 2019-08-14 */ valuation?: string; /** * Request body used to update the EPC statistics of an existing property */ epc?: { /** * A flag denoting whether or not this property is exempt from requiring an EPC certificate */ exempt?: boolean; /** * The current energy efficiency rating */ eer?: number; /** * The potential energy efficiency rating */ eerPotential?: number; /** * The current environmental impact rating */ eir?: number; /** * The potential environmental impact rating */ eirPotential?: number; /** * The URL to access the full EPC document */ fullDocumentUrl?: string; /** * The URL to access the first page of the EPC document */ firstPageDocumentUrl?: string; }; /** * Request body to set a properties rights restrictions */ rightsRestrictions?: { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; }; /** * Request body to set a properties flood erosion */ floodErosion?: { /** * A flag determining if the property has flooded in the last 5 years. */ floodedInLastFiveYears?: boolean; /** * A flag determining if the property has flood defences. */ floodDefences?: boolean; /** * A list of flood sources which affect the property (river/lake/sea/reservoir/groundwater/other) */ floodSources?: string[]; /** * The date and time the property was last flooded * example: * 2019-08-14T12:30:02Z */ lastFlood?: string; }; /** * A list of accesibility options provided by the property (unsuitableForWheelchairs/levelAccess/liftAccess/rampedAccess/wetRoom/wideDoorways/stepFreeAccess/levelAccessShower/lateralLiving) */ accessibility?: string[]; /** * Request body to update the plot size of an existing property */ externalArea?: { /** * The unit of area (acres/hectares). (This will be converted and returned as acres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound (please note there is no corresponding field in the Reapit CRM) */ max?: number; }; /** * Request body to update the internal dimensions of an existing property */ internalArea?: { /** * The unit of area (squareFeet/squareMetres) */ type?: string; /** * The minimum area bound */ min?: number; /** * The maximum area bound */ max?: number; }; /** * Request body used to update details specific to sales marketing on an existing property */ selling?: { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Request body used to set the tenure of an existing property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ sellingAgency?: string; /** * The unique identifier of the custom selling agency type - only applicable when SellingAgency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Request body used to update the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The unique identifier of the document used for the sales brochure */ brochureId?: string; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; }; /** * Request body used to update details specific to lettings marketing on an existing property */ letting?: { /** * The date the property was marked as to let * example: * 2019-08-14 */ instructed?: string; /** * The date the property is next available from * example: * 2019-08-14 */ availableFrom?: string; /** * The date the property is available to * example: * 2019-08-14 */ availableTo?: string; /** * The date the letting agreement between the landlord and agent was signed * example: * 2019-08-14 */ agreementSigned?: string; /** * The rent being charged for the property */ rent?: number; /** * The frequency at which rent will be collected (weekly/monthly/annually) */ rentFrequency?: string; /** * Details of any bills that are included in the rent */ rentIncludes?: string; /** * The furnishing state that the property can be offered in (furnished/unfurnished/partFurnished) */ furnishing?: string[]; /** * The acceptable letting terms (short/long/any) */ term?: string; /** * The current status of the let (valuation/toLet/toLetUnavailable/underOffer/underOfferUnavailable/arrangingTenancyUnavailable/arrangingTenancy/tenancyCurrentUnavailable/tenancyCurrent/tenancyFinished/tenancyCancelled/sold/letByOtherAgent/letPrivately/provisional/withdrawn) */ status?: string; /** * The role that the agent will be performing for this lettings property (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The unique identifier of the landlord letting the property */ landlordId?: string; /** * The unique identifier of the document used for the lettings brochure */ brochureId?: string; /** * A note to accompany any works orders created for the property */ worksOrderNote?: string; /** * Sets the minimum number of months the property can be let out for */ minimumTerm?: number; /** * Request body used to update the commission fee details for a property. */ managementFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * Request body used to update the commission fee details for a lettings property. */ lettingFee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; /** * Request body used to update a reduction of the commission fee for a property. */ firstReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; /** * Request body used to update a reduction of the commission fee for a property. */ secondReduction?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The amount the fee is being reduced to. */ reducingTo?: number; /** * The number of months after which the reduction applies. */ reducingAfterMonths?: number; }; }; /** * The rent qualifier (rentOnApplication/askingRent) */ qualifier?: string; /** * Representation of property details specific to utilities */ utilities?: { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; }; /** * Representation of a property details related to deposit */ deposit?: { /** * The type of deposit (weeks/months/fixed) */ type?: string; /** * The deposit amount. This can be the number of weeks or months rent or a monetry amount based on the `type` */ amount?: number; }; /** * Request body used to update details specific to rent insurance associated with a lettings property */ rentInsurance?: { /** * Status indicating whether or not rent protection insurance has been taken out (notAsked/cancelled/declined/quoted/taken) * (These options can be partially overridden - refer to configuration endpoint) */ status?: string; /** * The reference number of the insurance policy when rent protection insurance has been taken out */ referenceNumber?: string; /** * The insurance policy start date * example: * 2019-08-14 */ start?: string; /** * The insurance policy end date * example: * 2019-08-14 */ end?: string; /** * The identifier of the reason the insurance policy was cancelled, to be used in conjunction with the relevant configuration API endpoint */ cancelledReasonId?: string; /** * A textual comment or note entered by the agent when an insurance policy was cancelled */ cancelledComment?: string; /** * Flag indicating whether or not the insurance policy should auto renew */ autoRenew?: boolean; }; /** * Representation of property details specific to property Licencing */ licencing?: { /** * A flag determining whether or not a licence is required to let the property. Typically required for houses of multiple occupancy (HMOs) */ licenceRequired?: boolean; /** * The type of licence (additional/mandatory/none/selective) */ licenceType?: string; /** * The number of households that the licence permits in the property */ households?: number; /** * The number of occupants that the licence permits in the property */ occupants?: number; /** * A flag determining whether or not the property is above commercial premises */ aboveCommercialPremises?: boolean; /** * Representation of property details specific to property licence application */ application?: { /** * The status of the licence application (applied/granted/landlordApplying/notApplicable) */ status?: string; /** * The licence application reference number */ referenceNumber?: string; /** * The date the licence was applied for * example: * 2019-08-14T12:30:02Z */ date?: string; /** * The date the licence application was granted * example: * 2019-08-14T12:30:02Z */ granted?: string; /** * The date the licence will expire * example: * 2019-08-14T12:30:02Z */ expiry?: string; }; }; /** * Model for the property withdrawal reason update details */ withdrawalReason?: { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; }; }; /** * Request body used to set region specific property details. Child models are named based on the ISO3166 country code that the data inside the model relates to */ regional?: { /** * Request body used to set the data specific to properties in Ireland */ irl?: { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; }; /** * Request body used to set details specific to rural properties. */ rural?: { /** * Details of the building associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; }; /** * The attributes describing the overall type of the property (eg house, bungalow, land), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ type?: string[]; /** * The attributes describing the style of property (eg detached, semiDetached), defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ style?: string[]; /** * The attributes describing other aspects of the property - such as outside space - as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ situation?: string[]; /** * The attributes describing the parking available at the property (eg garage), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ parking?: string[]; /** * The attributes describing the age of the property (eg new, period), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ age?: string[]; /** * The attributes describing the general location of the property (eg rural, townCity), as defined by the property's [department](https://foundations-documentation.reapit.cloud/platform-glossary#department) */ locality?: string[]; /** * The unique identifier of the negotiator managing the property */ negotiatorId?: string; /** * A collection of unique identifiers of offices attached to the property. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The unique identifier of the area that the property resides in */ areaId?: string; /** * The url to the property on an external website */ url?: string; /** * The caption to accompany the url to the property on an external website */ urlCaption?: string; /** * Any ground rent payment that applies to the property */ groundRent?: number; /** * Comments regarding the ground rent of the property */ groundRentComment?: string; /** * The date when the ground rent payable on the property should be reviewed * example: * 2019-08-14T12:30:02Z */ groundRentReviewDate?: string; /** * The annual percentage increase of the ground rent after being reviewed */ groundRentIncrease?: number; /** * Any service charge payment that applies to the property */ serviceCharge?: number; /** * Comments regarding the service charge of the property */ serviceChargeComment?: string; /** * Identifiers of any services connected at the property */ availableServicesIds?: string[]; /** * The keywords associated with the property. */ keywords?: string[]; /** * App specific metadata to set against the property */ metadata?: { [name: string]: any; }; } /** * Request body used to set region specific property details. Child models are named based on the ISO3166 country code that the data inside the model relates to */ interface UpdatePropertyRegionalModel { /** * Request body used to set the data specific to properties in Ireland */ irl?: { /** * Request body used to set the energy performance rating information for properties in Ireland */ buildingEnergyRating?: { /** * A flag denoting whether or not this property is exempt from requiring a Building Energy Rating (BER) certificate */ exempt?: boolean; /** * The BER rating of the property */ rating?: string; /** * The BER certificate reference number */ refNumber?: string; /** * The energy performance indicator for the property */ epi?: string; }; }; } /** * Request body to set a properties rights restrictions */ interface UpdatePropertyRightsRestrictionsModel { /** * A flag determining if the property is listed. */ listed?: boolean; /** * A flag determining if the property has restrictions. */ restrictions?: boolean; /** * A flag determining if the property has any easements, servitudes or wayleaves. */ easementsOrServitudesOrWayleaves?: boolean; /** * A flag determining if their are any public rights of way across the property or its boundaries */ rightOfWay?: boolean; } /** * Request body used to set details specific to rural properties. */ interface UpdatePropertyRuralModel { /** * Details of the building associated with the property. */ buildingsDescription?: string; /** * Details of the land associated with the property. */ landDescription?: string; } /** * Request body used to update details specific to sales marketing on an existing property */ interface UpdatePropertySellingModel { /** * The date that the property was marked as for sale * example: * 2019-08-14 */ instructed?: string; /** * The marketing price of the property */ price?: number; /** * The fee charged by the agent to reserve a property (typically a new build) */ reservationFee?: number; /** * The price qualifier (askingPrice/priceOnApplication/guidePrice/offersInRegion/offersOver/offersInExcess/fixedPrice/priceReducedTo) */ qualifier?: string; /** * The current status of the sale (preAppraisal/valuation/paidValuation/forSale/forSaleUnavailable/underOffer/underOfferUnavailable/reserved/exchanged/completed/soldExternally/withdrawn) */ status?: string; /** * The method used to sell the property (auction/confidential/tender/offersInvited/privateTreaty/sharedOwnership/modernMethodOfAuction) */ disposal?: string; /** * The date the property sale was completed * example: * 2019-08-14 */ completed?: string; /** * The date the property was exchanged * example: * 2019-08-14 */ exchanged?: string; /** * The date the property account was paid * example: * 2019-08-14 */ accountPaid?: string; /** * Request body used to set the tenure of an existing property */ tenure?: { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; }; /** * The selling agency type (marketingForAssociate/clientsOnly/comparable/subAgent/jointSole/jointSoleFeeAvailable/multiple/multipleFeeAvailable/ownToSell/soleSellingRights/soleSellingRightsFeeAvailable/soleAgent/soleAgentFeeAvailable) */ sellingAgency?: string; /** * The unique identifier of the custom selling agency type - only applicable when SellingAgency is not set */ agencyId?: string; /** * The date on which the agreement between the vendor and agent expires * example: * 2019-08-14 */ agreementExpiry?: string; /** * Request body used to update the commission fee details for a property. */ fee?: { /** * The type of fee (percentage/fixed). */ type?: string; /** * The commission fee amount. */ amount?: number; }; /** * The agent's recommended asking price */ recommendedPrice?: number; /** * The agent's valuation price */ valuationPrice?: number; /** * The unique identifier of the document used for the sales brochure */ brochureId?: string; /** * The property's decorative condition (unmodernised/fair/good/veryGood) */ decoration?: string[]; /** * Details relating to the shared ownership of the property */ sharedOwnership?: { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; }; } /** * Details relating to the shared ownership of the property */ interface UpdatePropertySharedOwnershipModel { /** * The percentage of the shared ownership property being sold by the vendor */ sharedPercentage?: number; /** * The rent payable on the remainder of the shared ownership property */ rent?: number; /** * The frequency at which the shared ownership rent should be paid */ rentFrequency?: string; } /** * Request body used to set the tenure of an existing property */ interface UpdatePropertyTenureModel { /** * The type of tenure that applies to the property (freehold/leasehold/shareOfFreehold/commonhold/tba) */ type?: string; /** * The tenure expiration date * example: * 2019-08-14 */ expiry?: string; } /** * Representation of a properties electricity details */ interface UpdatePropertyUtilitiesElectricityModel { /** * The type of electricity supplied (windTurbine/mainsSupply/privateSupply/solar/other) */ type?: string; /** * The unique identifier of company providing the electricity */ electricityCompanyId?: string; /** * The electricity meter point */ electricityMeterPoint?: string; } /** * Representation of a properties gas details */ interface UpdatePropertyUtilitiesGasModel { /** * A flag to determine if the property has gas */ hasGas?: boolean; /** * The unique identifier of company providing the gas */ gasCompanyId?: string; /** * The gas meter point */ gasMeterPoint?: string; } /** * Representation of a properties internet details */ interface UpdatePropertyUtilitiesInternetModel { /** * The type of internet supplied (none/adsl/fttc/fttp/cable/other) */ type?: string[]; /** * The unique identifier of company providing the internet */ internetCompanyId?: string; } /** * Representation of a properties utilities * example: * [object Object] */ interface UpdatePropertyUtilitiesModel { /** * Representation of a properties electricity details */ electricity?: { /** * The type of electricity supplied (windTurbine/mainsSupply/privateSupply/solar/other) */ type?: string; /** * The unique identifier of company providing the electricity */ electricityCompanyId?: string; /** * The electricity meter point */ electricityMeterPoint?: string; }; /** * Representation of a properties gas details */ gas?: { /** * A flag to determine if the property has gas */ hasGas?: boolean; /** * The unique identifier of company providing the gas */ gasCompanyId?: string; /** * The gas meter point */ gasMeterPoint?: string; }; /** * Representation of a properties water details */ water?: { /** * The type of water supplied (mainsSupply/privateSupply/other) */ type?: string; /** * The unique identifier of company providing the water */ waterCompanyId?: string; /** * The water meter point */ waterMeterPoint?: string; /** * The type of sewerage supplied (mainsSupply/privateSupply/other) */ sewerage?: string; }; /** * Representation of a properties internet details */ internet?: { /** * The type of internet supplied (none/adsl/fttc/fttp/cable/other) */ type?: string[]; /** * The unique identifier of company providing the internet */ internetCompanyId?: string; }; /** * The unique identifier of company providing the telephone lines */ telephoneCompanyId?: string; /** * The unique identifier of company providing cable tv */ cableTvCompanyId?: string; /** * The type of heating supplied to the property (airConditioning/centralHeating/doubleGlazing/ecoFriendly/electric/gas/gasCentral/nightStorage/oil/solar/solarWater/underFloor/woodBurner/openFire/biomassBoiler/groundSourceHeatPump/airSourceHeatPump/solarPvThermal/underFloorHeating/solarThermal/other) */ heating?: string[]; /** * The main type of heating supplied (independent/communal/independentChilled/communalChilled) */ mainHeating?: string[]; /** * Information relating the mobile signal */ mobileSignal?: string; } /** * Representation of a properties water details */ interface UpdatePropertyUtilitiesWaterModel { /** * The type of water supplied (mainsSupply/privateSupply/other) */ type?: string; /** * The unique identifier of company providing the water */ waterCompanyId?: string; /** * The water meter point */ waterMeterPoint?: string; /** * The type of sewerage supplied (mainsSupply/privateSupply/other) */ sewerage?: string; } /** * Model for the property withdrawal reason update details */ interface UpdatePropertyWithdrawalReasonModel { /** * Reason type for withdrawal of the property */ typeId?: string; /** * Reason for withdrawal of the property */ reason?: string; /** * Date of instruction was withdrawn * example: * 2019-08-14T12:30:02Z */ withdrawalDate?: string; /** * The unique identifier of the instructed agent. */ instructedAgentId?: string; } /** * Update Referral Model * example: * [object Object] */ interface UpdateReferralModel { /** * The status of the referral (sent/succeeded/cancelled/failed/paid/declined/inProgress) */ status?: string; /** * The information of the referral */ information?: string; /** * The amount paid to the agent for the referral */ amount?: number; /** * App specific metadata to set against the referral */ metadata?: { [name: string]: any; }; } /** * Payload to update a JSON schema * example: * [object Object] */ interface UpdateSchemaRequest { /** * The updated JSON schema to store */ schema: string; } /** * Request body used to update an existing source of business * example: * [object Object] */ interface UpdateSourceModel { /** * The name of the source or advertising publication */ name?: string; /** * The type of the source (source/advertisement) */ type?: string; /** * A collection of the unique identifiers of offices that regularly get business from the source */ officeIds?: string[]; /** * A collection of unique identifiers of departments that regularly get business from the source */ departmentIds?: string[]; } /** * Request body used to update an existing task, which can also be an internal message * example: * [object Object] */ interface UpdateTaskModel { /** * The date the task becomes active (Required when 'TypeId' is given) * example: * 2019-08-14 */ activates?: string; /** * The date the task was completed * example: * 2019-08-14 */ completed?: string; /** * The unique identifier of the task type */ typeId?: string; /** * The unique identifer of the negotiator that created the task */ senderId?: string; /** * The textual contents of the task or message */ text?: string; /** * The unique identifier of the landlord the task is associated to */ landlordId?: string; /** * The unique identifier of the property the task is associated to */ propertyId?: string; /** * The unique identifier of the applicant the task is associated to */ applicantId?: string; /** * The unique identifier of the tenancy the task is associated to */ tenancyId?: string; /** * The unique identifier of the contact the task is associated to */ contactId?: string; /** * The unique identifier of the negotiator or office the task is being sent to */ recipientId?: string; /** * The type of the recipient (office/negotiator) */ recipientType?: string; /** * App specific metadata that has been set against the task */ metadata?: { [name: string]: any; }; } /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ interface UpdateTenancyAgreementModel { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; } /** * Request body used to update tenancy allowance * example: * [object Object] */ interface UpdateTenancyAllowanceModel { /** * The state of the allowance (allowed/notAllowed) */ state?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; } /** * Request body used to set the arrears of an existing tenancy. */ interface UpdateTenancyArrearsModel { /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; } /** * Request body used to update tenancy break clause * example: * [object Object] */ interface UpdateTenancyBreakClauseModel { /** * The date the break clause becomes/became active * example: * 2019-08-14 */ active?: string; /** * The responsible party (landlord/tenant/mutual) */ appliesTo?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; /** * Request body used to set a break clauses break from details */ breakFrom?: { /** * The date the break from clause can be used * example: * 2019-08-14 */ date?: string; /** * The minimum number of months until the break clause can be used */ minTermMonths?: number; }; /** * Request body used to set a break clauses notice required details */ noticeRequired?: { /** * The date a break clauses notice is required by * example: * 2019-08-14 */ date?: string; /** * The number of months the notice is required before the break clause */ beforeBreakMonths?: number; }; } /** * Request body used to set a break clauses break from details */ interface UpdateTenancyBreakFromModel { /** * The date the break from clause can be used * example: * 2019-08-14 */ date?: string; /** * The minimum number of months until the break clause can be used */ minTermMonths?: number; } /** * Model for updat of an existing tenancy check * example: * [object Object] */ interface UpdateTenancyCheckModel { /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status?: string; /** * App specific metadata to set against the tenancy check */ metadata?: { [name: string]: any; }; } /** * Request body used to set the deposit of a tenancy */ interface UpdateTenancyDepositModel { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; } /** * Request body used to update letting fees on an existing tenancy */ interface UpdateTenancyLettingFeeModel { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; } /** * Request body used to update management fees on an existing tenancy */ interface UpdateTenancyManagementFeeModel { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; } /** * Request body used to update an existing Tenancy * example: * [object Object] */ interface UpdateTenancyModel { /** * The start date of the tenancy * example: * 2019-08-14 */ startDate?: string; /** * The end date of the tenancy * example: * 2019-08-14 */ endDate?: string; /** * The current status of the tenancy (offerPending/offerWithdrawn/offerRejected/arranging/current/finished/cancelled) */ status?: string; /** * The role that the agent is performing for the tenancy (managed/rentCollection/collectFirstPayment/collectRentToDate/lettingOnly/introducingTenant) */ agentRole?: string; /** * The amount of rent required, returned in relation to the collection frequency */ rent?: number; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency?: string; /** * Flag for end date confirmation */ endDateConfirmed?: boolean; /** * A flag determining whether or not the tenancy has been extended indefinitely */ isPeriodic?: boolean; /** * The unique identifier of the type of tenancy */ typeId?: string; /** * The unique identifier of the negotiator who is managing the tenancy */ negotiatorId?: string; /** * Request body used to set the source of a new tenancy */ source?: { /** * The unique identifier of the source for the tenancy */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * The frequency of rental instalment payments (weekly/fortnightly/monthly/quarterly/halfYearly/yearly/every28Days/other) */ rentInstalmentsFrequency?: string; /** * The amount due for each rent instalment (where specified) */ rentInstalmentsAmount?: number; /** * The date that the first instalment is due * example: * 2019-08-14 */ rentInstalmentsStart?: string; /** * The recorded utility reading for the gas meter */ meterReadingGas?: string; /** * Date of when the reading of gas utility was last recorded * example: * 2019-08-14 */ meterReadingGasLastRead?: string; /** * The recorded utility reading for the electricity meter */ meterReadingElectricity?: string; /** * Date of when the reading of electricity utility was last recorded * example: * 2019-08-14 */ meterReadingElectricityLastRead?: string; /** * The recorded utility reading for the water meter */ meterReadingWater?: string; /** * Date of when the reading of water utility was last recorded * example: * 2019-08-14 */ meterReadingWaterLastRead?: string; /** * Financial notes set against the tenancy */ feeNotes?: string; /** * The identifier of the legal status to set against the tenancy */ legalStatusId?: string; /** * The identifier of the pre-tenancy checklist status for the tenancy */ preTenancyCheckStatusId?: string; /** * Request body used to set the deposit of a tenancy */ deposit?: { /** * The deposit holder (depositProtectionScheme/stakeholder/landlordsAgent/landlord/notApplicable) */ heldBy?: string; /** * The number of weeks or months rent collected as the deposit on the tenancy */ period?: number; /** * The type of deposit (weeksRent/monthsRent/fixedSum/guarantee) */ type?: string; /** * The amount of deposit held */ sum?: number; }; /** * Request body used to set the arrears of an existing tenancy. */ arrears?: { /** * The date to follow up on. * example: * 2019-08-14T12:30:02Z */ followUpOn?: string; /** * The current status. */ status?: string; }; /** * Request body used to update letting fees on an existing tenancy */ lettingFee?: { /** * The letting fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (upfront/upfrontOver2Months/monthly/quarterly/halfYearly/yearly/28days/other/notApplicable) */ frequency?: string; }; /** * Request body used to update management fees on an existing tenancy */ managementFee?: { /** * The management fee type (percentage/fixed) */ type?: string; /** * The fee amount */ amount?: number; /** * The frequency of when the fee is to be collected (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; /** * App specific metadata to set against the tenancy */ metadata?: { [name: string]: any; }; } /** * Request body used to set a break clauses notice required details */ interface UpdateTenancyNoticeRequiredModel { /** * The date a break clauses notice is required by * example: * 2019-08-14 */ date?: string; /** * The number of months the notice is required before the break clause */ beforeBreakMonths?: number; } /** * Request body used to update a tenancy renewal check * example: * [object Object] */ interface UpdateTenancyRenewalCheckModel { /** * The status of the tenancy check (needed/notNeeded/arranging/completed) */ status?: string; /** * App specific metadata to set against the tenancy renewal check */ metadata?: { [name: string]: any; }; } /** * Request body used to update a tenancy renewal negotiation * example: * [object Object] */ interface UpdateTenancyRenewalModel { /** * The proposed start date of the tenancy renewal * example: * 2019-08-14T12:30:02Z */ startDate?: string; /** * The proposed end date of the tenancy renewal * example: * 2019-08-14T12:30:02Z */ endDate?: string; /** * The unique identifier of the negotiator who is managing this tenancy renewal */ negotiatorId?: string; /** * The amount of rent required, returned in relation to the collection frequency */ rent?: number; /** * The rent collection frequency (weekly/monthly/annually) */ rentFrequency?: string; /** * Request body used to update a tenancy renewals letting fee */ lettingFee?: { /** * The letting fee type (fixed/perentage) */ type?: string; /** * The letting fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the letting fee is required (monthly/quarterly/halfYearly/yearly/28days/upfront/upfrontOver2Months/other/notApplicable) */ frequency?: string; }; /** * Request body used to update a tenancy renewals management fee */ managementFee?: { /** * The mangement fee type (fixed/perentage) */ type?: string; /** * The mangement fee amount as a fixed price or percentage based on the `type` */ amount?: number; /** * The frequency at which the mangement fee is required (monthly/quarterly/halfYearly/yearly/28days/sameAsLettingFee) */ frequency?: string; }; } /** * Request body used to update tenancy responsibility * example: * [object Object] */ interface UpdateTenancyResponsibilityModel { /** * The responsible party (landlord/tenant) */ appliesTo?: string; /** * Request body used to set party agreements to a specific clause in a tenancy agreement */ agreements?: { /** * A flag to determine if the landlord has agreed */ landlord?: boolean; /** * A flag to determine if the tenant has agreed */ tenant?: boolean; }; } /** * Request body used to set the source of a new tenancy */ interface UpdateTenancySourceModel { /** * The unique identifier of the source for the tenancy */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Representation of property details specific to utilities */ interface UpdateUtilityModel { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; } /** * Request body used to update an existing vendor * example: * [object Object] */ interface UpdateVendorModel { /** * The date the vendor was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the vendor is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the type of vendor */ typeId?: string; /** * The unique identifier of the reason the vendor is selling */ sellingReasonId?: string; /** * The unique identifier of the vendor's solicitor */ solicitorId?: string; /** * Value indicating where hard copies of correspondence should be sent for the primary contact (property/contact) */ correspondenceAddressType?: string; /** * Representation of a vendor's source */ source?: { /** * The unique identifier of the source of the vendor */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * App specific metadata that has been set against the vendor */ metadata?: { [name: string]: any; }; } /** * Request body used to update a webhook subscription * example: * [object Object] */ interface UpdateWebhookModel { /** * The url where the payload associated with the webhook should be sent to */ url: string; /** * A short description associated with the webhook (ie a friendly name or label) */ description?: string; /** * The identifiers of the topics the subscription is associated with */ topicIds?: string[]; /** * Flag denoting whether or not the webhook is active and ready to receive data */ active?: boolean; /** * Flag denoting whether or events that only contain changes to etags and/or modified dates are emitted * Pass true to disable emitting of these events */ ignoreEtagOnlyChanges?: boolean; } /** * Representation of a works order item * example: * [object Object] */ interface UpdateWorksOrderItemModel { /** * The notes attached to the works order item */ notes?: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo?: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The cost of the vat associated with the work */ vatAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; } /** * Request body used to update an existing works order * example: * [object Object] */ interface UpdateWorksOrderModel { /** * The unique identifier of the company that has been selected to perform the work */ companyId?: string; /** * The unique identifier of the property where the work is to be carried out */ propertyId?: string; /** * The unique identifier of the tenancy that the works order originated from */ tenancyId?: string; /** * The unique identifier of the negotiator that booked the works order */ negotiatorId?: string; /** * The unique id of the type of work that needs to be carried out */ typeId?: string; /** * The current status of the works order (pendingApproval/pendingQuote/raised/raisedToChase/landlordToComplete/complete/cancelled/quoteAccepted) */ status?: string; /** * A free text description of the work required */ description?: string; /** * The party requesting the work to be carried out (landlord/tenant/other) */ reporter?: string; /** * The priority level of the works order (low/medium/high) */ priority?: string; /** * The date when the works order was booked * example: * 2019-08-14 */ booked?: string; /** * The date when the work is required to be completed by * example: * 2019-08-14 */ required?: string; /** * The date when the work was completed * example: * 2019-08-14 */ completed?: string; /** * App specific metadata to set against the works order */ metadata?: { [name: string]: any; }; } /** * Representation of property details specific to utilities */ interface UtilityModel { /** * A flag denoting whether or not the property has gas connected */ hasGas?: boolean; /** * The unique identifier of the company supplying the gas to the property */ gasCompanyId?: string; /** * The gas meter point number */ gasMeterPoint?: string; /** * The unique identifier of the company supplying the electricity to the property */ electricityCompanyId?: string; /** * The electricity meter point number */ electricityMeterPoint?: string; /** * The unique identifier of the company supplying the water to the property */ waterCompanyId?: string; /** * The water meter point number */ waterMeterPoint?: string; /** * The unique identifier of the company supplying the telephone to the property */ telephoneCompanyId?: string; /** * The unique identifier of the company supplying the internet to the property */ internetCompanyId?: string; /** * The unique identifier of the company supplying the cable tv to the property */ cableTvCompanyId?: string; } /** * Represents a one or more messages for fields that have failed a given validation action */ interface ValidationErrorModel { statusCode?: 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 421 | 422 | 423 | 424 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511; /** * The date and time that this error event occurred * example: * 2019-08-14T12:30:02Z */ dateTime?: string; /** * The detailed information regarding this error event */ description?: string; /** * Gets or sets the list of validation errors. */ errors?: { /** * Gets the field that the message applies to */ readonly field?: string; /** * Gets the validation failure message to issue to the client */ readonly message?: string; }[]; } /** * Model for validation failure */ interface ValidationMessageModel { /** * Gets the field that the message applies to */ readonly field?: string; /** * Gets the validation failure message to issue to the client */ readonly message?: string; } /** * Representation of the physical address of a building or premise */ interface VendorContactAddressModel { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; } /** * A summarised view of the details of a contact or company associated to a vendor */ interface VendorContactModel { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; } /** * Representation of a relationship between a vendor and a contact or company */ interface VendorContactRelationshipModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the vendor relationship */ id?: string; /** * The unique identifier of the vendor */ vendorId?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this relationship should be regarded as the main relationship for the parent vendor entity */ isMain?: boolean; } interface VendorContactRelationshipModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the vendor relationship */ id?: string; /** * The unique identifier of the vendor */ vendorId?: string; /** * The date and time when the relationship was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the relationship was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The type of related entity (contact/company) */ associatedType?: string; /** * The unique identifier of the related contact or company */ associatedId?: string; /** * A flag denoting whether or not this relationship should be regarded as the main relationship for the parent vendor entity */ isMain?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a vendor */ interface VendorModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the vendor */ id?: string; /** * The date and time when the vendor was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the vendor was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the vendor was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the vendor is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the type of vendor */ typeId?: string; /** * The unique identifier of the reason the vendor is selling */ sellingReasonId?: string; /** * The unique identifier of the solicitor associated to the vendor */ solicitorId?: string; /** * The unique identifier of the property associated to the vendor */ propertyId?: string; /** * Representation of a vendor's source */ source?: { /** * The unique identifier of the source of the vendor */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A collection of contacts and/or companies associated to the vendor. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * Value indicating where hard copies of correspondence should be sent for the primary contact (property/contact). * When set to contact, any correspondence should be sent to the related contact's address, rather than the property address */ correspondenceAddressType?: string; /** * The unique identifier of the negotiator attached to the vendor. The first item in the collection is considered the primary negotiator */ negotiatorId?: string; /** * A collection of unique identifiers of offices attached to the vendor. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The date and time the vendor was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the vendor is archived */ fromArchive?: boolean; /** * App specific metadata that has been set against the vendor */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the vendor. Used for managing update concurrency */ readonly _eTag?: string; } interface VendorModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the vendor */ id?: string; /** * The date and time when the vendor was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the vendor was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The date the vendor was last called * example: * 2019-08-14 */ lastCall?: string; /** * The date the vendor is next due to be called * example: * 2019-08-14 */ nextCall?: string; /** * The unique identifier of the type of vendor */ typeId?: string; /** * The unique identifier of the reason the vendor is selling */ sellingReasonId?: string; /** * The unique identifier of the solicitor associated to the vendor */ solicitorId?: string; /** * The unique identifier of the property associated to the vendor */ propertyId?: string; /** * Representation of a vendor's source */ source?: { /** * The unique identifier of the source of the vendor */ id?: string; /** * The source type (office/source) */ type?: string; }; /** * A collection of contacts and/or companies associated to the vendor. The first item in the collection is considered the primary relationship */ related?: { /** * The unique identifier of the contact or company */ id?: string; /** * The complete name of the contact or company */ name?: string; /** * The title of the contact (Available when 'type' is 'contact') */ title?: string; /** * The forename of the contact (Available when 'type' is 'contact') */ forename?: string; /** * The surname of the contact (Available when 'type' is 'contact') */ surname?: string; /** * The date of birth of the contact (Available when 'type' is 'contact') * example: * 2019-08-14 */ dateOfBirth?: string; /** * The type of the contact (company/contact) */ type?: string; /** * The home phone number of the contact or company */ homePhone?: string; /** * The work phone number of the contact or company */ workPhone?: string; /** * The mobile phone number of the contact or company */ mobilePhone?: string; /** * The email address of the contact or company */ email?: string; /** * The marketing consent status of the contact (grant/deny/notAsked/unknown) */ marketingConsent?: string; /** * Flag to determine if this role on the system is now archived */ fromArchive?: boolean; /** * Representation of the physical address of a building or premise */ primaryAddress?: { /** * The building name */ buildingName?: string; /** * The building number */ buildingNumber?: string; /** * The first line of the address */ line1?: string; /** * The second line of the address */ line2?: string; /** * The third line of the address */ line3?: string; /** * The fourth line of the address */ line4?: string; /** * The postcode */ postcode?: string; /** * The ISO-3166 country code that the address resides within */ countryId?: string; }; /** * A collection of additional contact details */ additionalContactDetails?: { /** * The type of contact detail */ type?: string; /** * The contact detail */ value?: string; }[]; }[]; /** * Value indicating where hard copies of correspondence should be sent for the primary contact (property/contact). * When set to contact, any correspondence should be sent to the related contact's address, rather than the property address */ correspondenceAddressType?: string; /** * The unique identifier of the negotiator attached to the vendor. The first item in the collection is considered the primary negotiator */ negotiatorId?: string; /** * A collection of unique identifiers of offices attached to the vendor. The first item in the collection is considered the primary office */ officeIds?: string[]; /** * The date and time the vendor was archived * example: * 2019-08-14T12:30:02Z */ archivedOn?: string; /** * A flag determining whether or not the vendor is archived */ fromArchive?: boolean; /** * App specific metadata that has been set against the vendor */ metadata?: { [name: string]: any; }; /** * The ETag for the current version of the vendor. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a vendor's source */ interface VendorSourceModel { /** * The unique identifier of the source of the vendor */ id?: string; /** * The source type (office/source) */ type?: string; } /** * Representation of a vendor's source */ interface VendorUpdateSourceModel { /** * The unique identifier of the source of the vendor */ id?: string; /** * The source type (office/source) */ type?: string; } interface Vendors { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('negotiator' | 'offices' | 'property' | 'sellingReason' | 'solicitor' | 'source' | 'type')[]; id?: string[]; negotiatorId?: string[]; officeId?: string[]; email?: string[]; fromArchive?: boolean; address?: string; name?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; lastCallFrom?: string; lastCallTo?: string; nextCallFrom?: string; nextCallTo?: string; metadata?: string[]; } /** * Representation of a webhook subscription */ interface WebhookModel { /** * The unique identifier of the webhook */ id?: string; /** * The date and time when the webhook was created * example: * 2019-08-14T12:30:02.0000000Z */ created?: string; /** * The date and time when the webhook was last modified * example: * 2019-08-14T12:30:02.0000000Z */ modified?: string; /** * The url where the payload associated with the webhook should be sent to */ url?: string; /** * A short description associated with the webhook (ie a friendly name or label) */ description?: string; /** * The identifiers of the topics the webhook is associated with */ topicIds?: string[]; /** * Flag denoting whether or not the webhook is active and ready to receive data */ active?: boolean; /** * Flag denoting whether or events that only contain changes to etags and/or modified dates are emitted */ ignoreEtagOnlyChanges?: boolean; } interface WebhookModelPagedResult { _embedded?: { /** * The unique identifier of the webhook */ id?: string; /** * The date and time when the webhook was created * example: * 2019-08-14T12:30:02.0000000Z */ created?: string; /** * The date and time when the webhook was last modified * example: * 2019-08-14T12:30:02.0000000Z */ modified?: string; /** * The url where the payload associated with the webhook should be sent to */ url?: string; /** * A short description associated with the webhook (ie a friendly name or label) */ description?: string; /** * The identifiers of the topics the webhook is associated with */ topicIds?: string[]; /** * Flag denoting whether or not the webhook is active and ready to receive data */ active?: boolean; /** * Flag denoting whether or events that only contain changes to etags and/or modified dates are emitted */ ignoreEtagOnlyChanges?: boolean; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a works order item */ interface WorksOrderItemModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order item */ id?: string; /** * The unique identifier of the parent works order */ worksOrderId?: string; /** * The date and time when the works order item was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order item was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes attached to the works order item */ notes?: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo?: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The additional vat cost for the work to be carried out */ vatAmount?: number; /** * The gross cost of the work to be carried out */ grossAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; /** * The unique identifier of the nominal account the works order financial transactions are allocated to */ nominalAccountId?: string; /** * The ETag for the current version of the works order item. Used for managing update concurrency */ readonly _eTag?: string; } interface WorksOrderItemModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order item */ id?: string; /** * The unique identifier of the parent works order */ worksOrderId?: string; /** * The date and time when the works order item was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order item was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes attached to the works order item */ notes?: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo?: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The additional vat cost for the work to be carried out */ vatAmount?: number; /** * The gross cost of the work to be carried out */ grossAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; /** * The unique identifier of the nominal account the works order financial transactions are allocated to */ nominalAccountId?: string; /** * The ETag for the current version of the works order item. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } /** * Representation of a works order */ interface WorksOrderModel { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order */ id?: string; /** * The date and time when the works order was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the company that has been selected to perform the work */ companyId?: string; /** * The unique identifier of the property where the work is to be carried out */ propertyId?: string; /** * The unique identifier of the tenancy that the works order originated from */ tenancyId?: string; /** * The unique identifier of the negotiator that booked the works order */ negotiatorId?: string; /** * The unique identifier of the type of work that needs to be carried out */ typeId?: string; /** * The current status of the works order (pendingApproval/pendingQuote/raised/raisedToChase/landlordToComplete/complete/cancelled/quoteAccepted) */ status?: string; /** * A free text description of the work required */ description?: string; /** * The party requesting the work to be carried out (landlord/tenant/other) */ reporter?: string; /** * The priority level of the works order (low/medium/high) */ priority?: string; /** * The date when the works order was booked * example: * 2019-08-14 */ booked?: string; /** * The date when the work is required to be completed by * example: * 2019-08-14 */ required?: string; /** * The date when the work was completed * example: * 2019-08-14 */ completed?: string; /** * The total net cost for all of the items of work to be carried out */ totalNetAmount?: number; /** * The total additional vat cost for all of the items of work to be carried out */ totalVatAmount?: number; /** * The total gross cost for all of the items of work to be carried out */ totalGrossAmount?: number; /** * A collection of jobs/items of work that the works order should fulfill */ items?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order item */ id?: string; /** * The unique identifier of the parent works order */ worksOrderId?: string; /** * The date and time when the works order item was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order item was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes attached to the works order item */ notes?: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo?: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The additional vat cost for the work to be carried out */ vatAmount?: number; /** * The gross cost of the work to be carried out */ grossAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; /** * The unique identifier of the nominal account the works order financial transactions are allocated to */ nominalAccountId?: string; /** * The ETag for the current version of the works order item. Used for managing update concurrency */ readonly _eTag?: string; }[]; /** * App specific metadata that has been set against the works order */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the works order. Used for managing update concurrency */ readonly _eTag?: string; } interface WorksOrderModelPagedResult { _embedded?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order */ id?: string; /** * The date and time when the works order was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The unique identifier of the company that has been selected to perform the work */ companyId?: string; /** * The unique identifier of the property where the work is to be carried out */ propertyId?: string; /** * The unique identifier of the tenancy that the works order originated from */ tenancyId?: string; /** * The unique identifier of the negotiator that booked the works order */ negotiatorId?: string; /** * The unique identifier of the type of work that needs to be carried out */ typeId?: string; /** * The current status of the works order (pendingApproval/pendingQuote/raised/raisedToChase/landlordToComplete/complete/cancelled/quoteAccepted) */ status?: string; /** * A free text description of the work required */ description?: string; /** * The party requesting the work to be carried out (landlord/tenant/other) */ reporter?: string; /** * The priority level of the works order (low/medium/high) */ priority?: string; /** * The date when the works order was booked * example: * 2019-08-14 */ booked?: string; /** * The date when the work is required to be completed by * example: * 2019-08-14 */ required?: string; /** * The date when the work was completed * example: * 2019-08-14 */ completed?: string; /** * The total net cost for all of the items of work to be carried out */ totalNetAmount?: number; /** * The total additional vat cost for all of the items of work to be carried out */ totalVatAmount?: number; /** * The total gross cost for all of the items of work to be carried out */ totalGrossAmount?: number; /** * A collection of jobs/items of work that the works order should fulfill */ items?: { readonly _links?: { [name: string]: { href?: string; }; }; readonly _embedded?: { [name: string]: any; }; /** * The unique identifier of the works order item */ id?: string; /** * The unique identifier of the parent works order */ worksOrderId?: string; /** * The date and time when the works order item was created * example: * 2019-08-14T12:30:02Z */ created?: string; /** * The date and time when the works order item was last modified * example: * 2019-08-14T12:30:02Z */ modified?: string; /** * The notes attached to the works order item */ notes?: string; /** * The party to be charged for the work being carried out (landlord/tenant) */ chargeTo?: string; /** * The estimate of any costs associated with the work being carried out given to the party to be charged for the work */ estimate?: number; /** * The type of estimate supplied (agent/verbal/written) */ estimateType?: string; /** * The net cost of the work to be carried out */ netAmount?: number; /** * The additional vat cost for the work to be carried out */ vatAmount?: number; /** * The gross cost of the work to be carried out */ grossAmount?: number; /** * The amount of funds to be held back by the agent in landlord payment runs to cover the cost of any works required by the works order item */ reserveAmount?: number; /** * The unique identifier of the nominal account the works order financial transactions are allocated to */ nominalAccountId?: string; /** * The ETag for the current version of the works order item. Used for managing update concurrency */ readonly _eTag?: string; }[]; /** * App specific metadata that has been set against the works order */ metadata?: { [name: string]: any; }; /** * The requested extras fields */ extrasField?: { [name: string]: any; }; /** * The ETag for the current version of the works order. Used for managing update concurrency */ readonly _eTag?: string; }[]; pageNumber?: number; pageSize?: number; pageCount?: number; totalPageCount?: number; totalCount?: number; _links?: { [name: string]: { href?: string; }; }; } interface WorksOrders { pageSize?: number; pageNumber?: number; sortBy?: string; embed?: ('company' | 'documents' | 'negotiator' | 'property' | 'tenancy' | 'type')[]; id?: string[]; companyId?: string[]; negotiatorId?: string[]; propertyId?: string[]; status?: ('pendingApproval' | 'pendingQuote' | 'raised' | 'raisedToChase' | 'landlordToComplete' | 'complete' | 'cancelled' | 'quoteAccepted')[]; tenancyId?: string[]; typeId?: string[]; extrasField?: string[]; completedFrom?: string; completedTo?: string; createdFrom?: string; createdTo?: string; modifiedFrom?: string; modifiedTo?: string; requiredFrom?: string; requiredTo?: string; metadata?: string[]; } } declare enum ReapitWebhookTopicEnum { APPLICATION_INSTALL = "application.install", APPLICATION_UNINSTALL = "application.uninstall", APPLICANTS_CREATED = "applicants.created", APPLICANTS_MODIFIED = "applicants.modified", APPOINTMENTS_CANCELLED = "appointments.cancelled", APPOINTMENTS_CONFIRMED = "appointments.confirmed", APPOINTMENTS_CREATED = "appointments.created", APPOINTMENTS_MODIFIED = "appointments.modified", COMPANIES_CREATED = "companies.created", COMPANIES_MODIFIED = "companies.modified", CONTACTS_CREATED = "contacts.created", CONTACTS_MODIFIED = "contacts.modified", CONTACTS_OPTEDOUT = "contacts.optedout", CONVEYANCING_MODIFIED = "conveyancing.modified", DOCUMENTS_CREATED = "documents.created", DOCUMENTS_MODIFIED = "documents.modified", ENQUIRIES_ACCEPTED = "enquiries.accepted", ENQUIRIES_CREATED = "enquiries.created", ENQUIRIES_MODIFIED = "enquiries.modified", ENQUIRIES_REJECTED = "enquiries.rejected", IDENTITYCHECKS_CREATED = "identitychecks.created", IDENTITYCHECKS_MODIFIED = "identitychecks.modified", LANDLORDS_CREATED = "landlords.created", LANDLORDS_MODIFIED = "landlords.modified", OFFERS_ACCEPTED = "offers.accepted", OFFERS_CREATED = "offers.created", OFFERS_MODIFIED = "offers.modified", OFFERS_REJECTED = "offers.rejected", OFFERS_WITHDRAWN = "offers.withdrawn", OFFICES_CREATED = "offices.created", OFFICES_MODIFIED = "offices.modified", PROPERTIES_CREATED = "properties.created", PROPERTIES_MODIFIED = "properties.modified", PROPERTIES_SELLING_ASKINGPRICECHANGED = "properties.selling.askingpricechanged", PROPERTIES_SELLING_COMPLETED = "properties.selling.completed", PROPERTIES_SELLING_EXCHANGED = "properties.selling.exchanged", PROPERTIES_SELLING_WITHDRAWN = "properties.selling.withdrawn", PROPERTIES_SELLING_INSTRUCTED = "properties.selling.instructed", PROPERTIES_SELLING_LOSTINSTRUCTION = "properties.selling.lostinstruction", PROPERTIES_SELLING_UNDEROFFER = "properties.selling.underoffer", TENANCIES_CREATED = "tenancies.created", TENANCIES_MODIFIED = "tenancies.modified", VENDORS_CREATED = "vendors.created", VENDORS_MODIFIED = "vendors.modified", WORKSORDERS_CANCELLED = "worksorders.cancelled", WORKSORDERS_COMPLETE = "worksorders.complete", WORKSORDERS_MODIFIED = "worksorders.modified", WORKSORDERS_RAISED = "worksorders.raised" } type ReapitWebhookValueType = { new: T; old: T; diff: Partial; }; type ReapitWebhookPayloadType = { eventId: string; SendAttempts: number; entityId: string; customerId: string; eventTime: string; topicId: ReapitWebhookTopicEnum; } & ReapitWebhookValueType; type ReapitWebhookApplicationInstallEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topidId: ReapitWebhookTopicEnum.APPLICATION_INSTALL; }; type ReapitWebhookApplicationUninstallEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPLICATION_UNINSTALL; }; type ReapitWebhookApplicantsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPLICANTS_CREATED; }; type ReapitWebhookApplicantsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPLICANTS_MODIFIED; }; type ReapitWebhookAppointmentsCancelledEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPOINTMENTS_CANCELLED; }; type ReapitWebhookAppointmentsConfirmedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPOINTMENTS_CONFIRMED; }; type ReapitWebhookAppointmentsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPOINTMENTS_CREATED; }; type ReapitWebhookAppointmentsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.APPOINTMENTS_MODIFIED; }; type ReapitWebhookCompaniesCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.COMPANIES_CREATED; }; type ReapitWebhookCompaniesModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.COMPANIES_MODIFIED; }; type ReapitWebhookContactsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.CONTACTS_CREATED; }; type ReapitWebhookContactsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.CONTACTS_MODIFIED; }; type ReapitWebhookContactsOptedOutEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.CONTACTS_OPTEDOUT; }; type ReapitWebhookConveyancingModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.CONVEYANCING_MODIFIED; }; type ReapitWebhookDocumentsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.DOCUMENTS_CREATED; }; type ReapitWebhookDocumentsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.DOCUMENTS_MODIFIED; }; type ReapitWebhookEnquiriesCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.ENQUIRIES_CREATED; }; type ReapitWebhookEnquiriesModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.ENQUIRIES_MODIFIED; }; type ReapitWebhookEnquiriesAcceptedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.ENQUIRIES_ACCEPTED; }; type ReapitWebhookEnquiriesRejectedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.ENQUIRIES_REJECTED; }; type ReapitWebhookIndentityChecksCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.IDENTITYCHECKS_CREATED; }; type ReapitWebhookIndentityChecksModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.IDENTITYCHECKS_MODIFIED; }; type ReapitWebhookLandlordsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.LANDLORDS_CREATED; }; type ReapitWebhookLandlordsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.LANDLORDS_MODIFIED; }; type ReapitWebhookOffersAcceptedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFERS_ACCEPTED; }; type ReapitWebhookOffersCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFERS_CREATED; }; type ReapitWebhookOffersRejectedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFERS_REJECTED; }; type ReapitWebhookOffersModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFERS_MODIFIED; }; type ReapitWebhookOffersWithdrawnEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFERS_WITHDRAWN; }; type ReapitWebhookOfficesCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFICES_CREATED; }; type ReapitWebhookOfficesModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.OFFICES_MODIFIED; }; type ReapitWebhookPropertiesCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_CREATED; }; type ReapitWebhookPropertiesModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_MODIFIED; }; type ReapitWebhookPropertiesSellingAskingPriceChangedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_ASKINGPRICECHANGED; }; type ReapitWebhookPropertiesSellingCompleteEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_COMPLETED; }; type ReapitWebhookPropertiesSellingExchangedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_EXCHANGED; }; type ReapitWebhookPropertiesSellingInstructedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_INSTRUCTED; }; type ReapitWebhookPropertiesSellingLostInstructionEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_LOSTINSTRUCTION; }; type ReapitWebhookPropertiesSellingUnderOfferEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_UNDEROFFER; }; type ReapitWebhookPropertiesSellingWithdrawnEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.PROPERTIES_SELLING_WITHDRAWN; }; type ReapitWebhookTenanciesCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.TENANCIES_CREATED; }; type ReapitWebhookTenanciesModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.TENANCIES_MODIFIED; }; type ReapitWebhookVendorsCreatedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.VENDORS_CREATED; }; type ReapitWebhookVendorsModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.VENDORS_MODIFIED; }; type ReapitWebhookWorksOrdersCancelledEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.WORKSORDERS_CANCELLED; }; type ReapitWebhookWorksOrdersCompleteEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.WORKSORDERS_COMPLETE; }; type ReapitWebhookWorksOrdersModifiedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.WORKSORDERS_MODIFIED; }; type ReapitWebhookWorksOrdersRaisedEvent = ReapitWebhookValueType & ReapitWebhookPayloadType & { topicId: ReapitWebhookTopicEnum.WORKSORDERS_RAISED; }; export { ApiKeyEntityType, type ApiKeyInterface, type AppBrowseLiveDataInterface, AppTypeEnum, AppsBrowseConfigEnum, type AppsBrowseConfigItemContentInterface, type AppsBrowseConfigItemFiltersInterface, type AppsBrowseConfigItemInterface, type BillingBreakdownForMonthV2Model, type BillingOverviewForPeriodV2Model, type BillingServiceV2Model, type BillingSummaryModel, type GithubRepositoryInterface, Marketplace, type MonthlyBillingDetailsModel, type MonthlyBillingDetailsV2Model, Organisations, PackageManagerEnum, Payments, type PipelineBuildStatus, type PipelineDeleteBuildStatuses, type PipelineDeployingBuildStatues, type PipelineModelInterface, type PipelineProvisionBuildStatuses, type PipelineRunnerModelInterface, PipelineRunnerType, Platform, type ReapitWebhookApplicantsCreatedEvent, type ReapitWebhookApplicantsModifiedEvent, type ReapitWebhookApplicationInstallEvent, type ReapitWebhookApplicationUninstallEvent, type ReapitWebhookAppointmentsCancelledEvent, type ReapitWebhookAppointmentsConfirmedEvent, type ReapitWebhookAppointmentsCreatedEvent, type ReapitWebhookAppointmentsModifiedEvent, type ReapitWebhookCompaniesCreatedEvent, type ReapitWebhookCompaniesModifiedEvent, type ReapitWebhookContactsCreatedEvent, type ReapitWebhookContactsModifiedEvent, type ReapitWebhookContactsOptedOutEvent, type ReapitWebhookConveyancingModifiedEvent, type ReapitWebhookDocumentsCreatedEvent, type ReapitWebhookDocumentsModifiedEvent, type ReapitWebhookEnquiriesAcceptedEvent, type ReapitWebhookEnquiriesCreatedEvent, type ReapitWebhookEnquiriesModifiedEvent, type ReapitWebhookEnquiriesRejectedEvent, type ReapitWebhookIndentityChecksCreatedEvent, type ReapitWebhookIndentityChecksModifiedEvent, type ReapitWebhookLandlordsCreatedEvent, type ReapitWebhookLandlordsModifiedEvent, type ReapitWebhookOffersAcceptedEvent, type ReapitWebhookOffersCreatedEvent, type ReapitWebhookOffersModifiedEvent, type ReapitWebhookOffersRejectedEvent, type ReapitWebhookOffersWithdrawnEvent, type ReapitWebhookOfficesCreatedEvent, type ReapitWebhookOfficesModifiedEvent, type ReapitWebhookPayloadType, type ReapitWebhookPropertiesCreatedEvent, type ReapitWebhookPropertiesModifiedEvent, type ReapitWebhookPropertiesSellingAskingPriceChangedEvent, type ReapitWebhookPropertiesSellingCompleteEvent, type ReapitWebhookPropertiesSellingExchangedEvent, type ReapitWebhookPropertiesSellingInstructedEvent, type ReapitWebhookPropertiesSellingLostInstructionEvent, type ReapitWebhookPropertiesSellingUnderOfferEvent, type ReapitWebhookPropertiesSellingWithdrawnEvent, type ReapitWebhookTenanciesCreatedEvent, type ReapitWebhookTenanciesModifiedEvent, ReapitWebhookTopicEnum, type ReapitWebhookValueType, type ReapitWebhookVendorsCreatedEvent, type ReapitWebhookVendorsModifiedEvent, type ReapitWebhookWorksOrdersCancelledEvent, type ReapitWebhookWorksOrdersCompleteEvent, type ReapitWebhookWorksOrdersModifiedEvent, type ReapitWebhookWorksOrdersRaisedEvent, type RequestByCustomerModel, type RequestByDateModel, type RequestByEndpointModel, type ServiceItemBillingV2Model, type TaskModelInterface, type TrafficEventsModel, pipelineDeploymentDisabled, pipelineNotDeletable, pipelinePreprovisionedFlow, pipelineProvisioning };