openapi: 3.0.0 info: title: 'Entrata APIs' description: "The Entrata API retrieves property data for marketing, leasing, residents, and more. Our API is organized around RPC protocols, and authenticates users by API key. Additionally, users can only access the API when companies explicitly provide access per user.\n\n### Time Zones\nPlease note that unless stated otherwise, all dates and times used in the API are assumed to be in Mountain Time (MST or MDT).\n\n### Languages\nThe `Accept-Language` request header parameter can be used to request that the values returned in the response be translated into the language and locale that is desired, provided that the language is active and enabled for the client. Possible values are:\n- English: en-US, en-CA, en-GB, en-IE\n- Spanish: es-MX, es-PE, es-US, es-ES, es-CL\n- Hindi: hi-IN\n- Chinese: zh-CN\n- French: fr-FR\n\n### Throttling\nTo maintain a reliable API, Entrata implements rate limits, which restrict the number of API calls you can make within a minute, an hour, and a day. Each API service has its own set of limits, which are detailed in its response headers. Before building your integration, please familiarize yourself with these limits to avoid issues as you scale your usage with more properties or larger clients.\n" version: 1.0.0 servers: - { url: 'https://apis.entrata.com/ext/orgs', description: 'US Server' } - { url: 'https://apis.entrata.global/ext/orgs', description: 'EU Server' } security: - { apiKeyAuth: { } } tags: - { name: appinfo, description: 'App info related APIs' } - { name: status, description: 'Status related APIs' } - { name: applications, description: 'Applications related APIs' } - { name: arcodes, description: 'AR codes related APIs' } - { name: arpayments, description: 'AR payments related APIs' } - { name: artransactions, description: 'AR transactions related APIs' } - { name: communications, description: 'Communications related APIs' } - { name: customers, description: 'Customers related APIs' } - { name: financial, description: 'Financial related APIs' } - { name: leads, description: 'Leads related APIs' } - { name: leases, description: 'Leases related APIs' } - { name: leasingcenter, description: 'Leasing center related APIs' } - { name: maintenance, description: 'Maintenance related APIs' } - { name: pricing, description: 'Pricing related APIs' } - { name: properties, description: 'Properties related APIs' } - { name: propertyunits, description: 'Property units related APIs' } - { name: queue, description: 'Queue related APIs' } - { name: vendors, description: 'Vendors related APIs' } paths: '/{orgs}/v1/status': { post: { operationId: status, tags: [status], summary: 'API health check', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'This API will specify the API health status whether it is running or not.', content: { application/json: { schema: { $ref: '#/components/schemas/getStatus-r1-request-schema' }, examples: { getStatus: { $ref: '#/components/examples/getStatus-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { $ref: '#/components/schemas/getStatus-r1-response-schema' }, examples: { getStatus: { $ref: '#/components/examples/getStatus-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/appinfo': { post: { operationId: appinfo, tags: [appinfo], summary: 'App info related apis', description: 'Please use `rsync` as the orgs value when calling the getAccessibleClients API.', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getAccessibleClients-r1-request-schema' }, { $ref: '#/components/schemas/getAccessibleServices-r1-request-schema' }] }, examples: { getAccessibleClients: { $ref: '#/components/examples/getAccessibleClients-r1-request-example' }, getAccessibleServices: { $ref: '#/components/examples/getAccessibleServices-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getAccessibleClients-r1-response-schema' }, { $ref: '#/components/schemas/getAccessibleServices-r1-response-schema' }] }, examples: { getAccessibleClients: { $ref: '#/components/examples/getAccessibleClients-r1-response-example' }, getAccessibleServices: { $ref: '#/components/examples/getAccessibleServices-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/applications': { post: { operationId: applications, tags: [applications], summary: 'Applications related apis', description: 'Applications related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCompanyApplications-r1-request-schema' }, { $ref: '#/components/schemas/sendApplication-r1-request-schema' }, { $ref: '#/components/schemas/updateApplication-r1-request-schema' }] }, examples: { getCompanyApplications: { $ref: '#/components/examples/getCompanyApplications-r1-request-example' }, sendApplication: { $ref: '#/components/examples/sendApplication-r1-request-example' }, updateApplication: { $ref: '#/components/examples/updateApplication-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCompanyApplications-r1-response-schema' }, { $ref: '#/components/schemas/sendApplication-r1-response-schema' }, { $ref: '#/components/schemas/updateApplication-r1-response-schema' }] }, examples: { getCompanyApplications: { $ref: '#/components/examples/getCompanyApplications-r1-response-example' }, sendApplication: { $ref: '#/components/examples/sendApplication-r1-response-example' }, updateApplication: { $ref: '#/components/examples/updateApplication-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/arcodes': { post: { operationId: arcodes, tags: [arcodes], summary: 'Arcode related apis', description: 'Arcode related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'This API will return the charge codes of the organization or property.', content: { application/json: { schema: { $ref: '#/components/schemas/getArCodes-r1-request-schema' }, examples: { getArCodes: { $ref: '#/components/examples/getArCodes-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { $ref: '#/components/schemas/getArCodes-r1-response-schema' }, examples: { getArCodes: { $ref: '#/components/examples/getArCodes-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/arpayments': { post: { operationId: arpayments, tags: [arpayments], summary: 'Arpayment related apis', description: 'Arpayment related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'This API will return the arpayment of the organization or property.', content: { application/json: { schema: { $ref: '#/components/schemas/getArPayments-r1-request-schema' }, examples: { getArPayments: { $ref: '#/components/examples/getArPayments-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { $ref: '#/components/schemas/getArPayments-r1-response-schema' }, examples: { getArPayments: { $ref: '#/components/examples/getArPayments-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/artransactions': { post: { operationId: artransactions, tags: [artransactions], summary: 'Artransaction related apis', description: 'List of apis to retrieve or send resident transactions', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'This API will return the artransaction of the organization or property.', content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getArInvoices-r1-request-schema' }, { $ref: '#/components/schemas/getLeaseArTransactions-r1-request-schema' }, { $ref: '#/components/schemas/getMitsLeaseArTransactions-r1-request-schema' }, { $ref: '#/components/schemas/sendLeaseArTransactions-r1-request-schema' }, { $ref: '#/components/schemas/sendLeaseArTransactionReversals-r1-request-schema' }] }, examples: { getArInvoices: { $ref: '#/components/examples/getArInvoices-r1-request-example' }, getLeaseArTransactions: { $ref: '#/components/examples/getLeaseArTransactions-r1-request-example' }, getMitsLeaseArTransactions: { $ref: '#/components/examples/getMitsLeaseArTransactions-r1-request-example' }, sendLeaseArTransactions: { $ref: '#/components/examples/sendLeaseArTransactions-r1-request-example' }, sendLeaseArTransactionReversals: { $ref: '#/components/examples/sendLeaseArTransactionReversals-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getArInvoices-r1-response-schema' }, { $ref: '#/components/schemas/getLeaseArTransactions-r1-response-schema' }, { $ref: '#/components/schemas/getMitsLeaseArTransactions-r1-response-schema' }, { $ref: '#/components/schemas/sendLeaseArTransactions-r1-response-schema' }, { $ref: '#/components/schemas/sendLeaseArTransactionReversals-r1-response-schema' }] }, examples: { getArInvoices: { $ref: '#/components/examples/getArInvoices-r1-response-example' }, getLeaseArTransactions: { $ref: '#/components/examples/getLeaseArTransactions-r1-response-example' }, getMitsLeaseArTransactions: { $ref: '#/components/examples/getMitsLeaseArTransactions-r1-response-example' }, sendLeaseArTransactions: { $ref: '#/components/examples/sendLeaseArTransactions-r1-response-example' }, sendLeaseArTransactionReversals: { $ref: '#/components/examples/sendLeaseArTransactionReversals-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/communications': { post: { operationId: communications, tags: [communications], summary: 'Communications related apis', description: 'List of apis to retrieve or send communications', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'This API will return the marketing preferences of the organization or property.', content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getMarketingPreferences-r1-request-schema' }, { $ref: '#/components/schemas/getMarketingPreferencePickList-r1-request-schema' }] }, examples: { getMarketingPreferences: { $ref: '#/components/examples/getMarketingPreferences-r1-request-example' }, getMarketingPreferencePickList: { $ref: '#/components/examples/getMarketingPreferencePickList-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getMarketingPreferences-r1-response-schema' }, { $ref: '#/components/schemas/getMarketingPreferencePickList-r1-response-schema' }] }, examples: { getMarketingPreferences: { $ref: '#/components/examples/getMarketingPreferences-r1-response-example' }, getMarketingPreferencePickList: { $ref: '#/components/examples/getMarketingPreferencePickList-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/customers': { post: { operationId: customers, tags: [customers], summary: 'Customers related apis', description: 'Customers related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCustomers-r1-request-schema' }, { $ref: '#/components/schemas/getCustomerTestimonials-r1-request-schema' }, { $ref: '#/components/schemas/getTestimonialPickLists-r1-request-schema' }, { $ref: '#/components/schemas/searchCustomers-r1-request-schema' }, { $ref: '#/components/schemas/sendCustomerTestimonials-r1-request-schema' }, { $ref: '#/components/schemas/updateCustomers-r1-request-schema' }, { $ref: '#/components/schemas/updateCustomerTestimonials-r1-request-schema' }, { $ref: '#/components/schemas/updatePropertyResponse-r1-request-schema' }] }, examples: { getCustomers: { $ref: '#/components/examples/getCustomers-r1-request-example' }, getCustomerTestimonials: { $ref: '#/components/examples/getCustomerTestimonials-r1-request-example' }, getTestimonialPickLists: { $ref: '#/components/examples/getTestimonialPickLists-r1-request-example' }, searchCustomers: { $ref: '#/components/examples/searchCustomers-r1-request-example' }, sendCustomerTestimonials: { $ref: '#/components/examples/sendCustomerTestimonials-r1-request-example' }, updateCustomers: { $ref: '#/components/examples/updateCustomers-r1-request-example' }, updateCustomerTestimonials: { $ref: '#/components/examples/updateCustomerTestimonials-r1-request-example' }, updatePropertyResponse: { $ref: '#/components/examples/updatePropertyResponse-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCustomers-r1-response-schema' }, { $ref: '#/components/schemas/getCustomerTestimonials-r1-response-schema' }, { $ref: '#/components/schemas/getTestimonialPickLists-r1-response-schema' }, { $ref: '#/components/schemas/searchCustomers-r1-response-schema' }, { $ref: '#/components/schemas/sendCustomerTestimonials-r1-response-schema' }, { $ref: '#/components/schemas/updateCustomers-r1-response-schema' }, { $ref: '#/components/schemas/updateCustomerTestimonials-r1-response-schema' }, { $ref: '#/components/schemas/updatePropertyResponse-r1-response-schema' }] }, examples: { getCustomers: { $ref: '#/components/examples/getCustomers-r1-response-example' }, getCustomerTestimonials: { $ref: '#/components/examples/getCustomerTestimonials-r1-response-example' }, getTestimonialPickLists: { $ref: '#/components/examples/getTestimonialPickLists-r1-response-example' }, searchCustomers: { $ref: '#/components/examples/searchCustomers-r1-response-example' }, sendCustomerTestimonials: { $ref: '#/components/examples/sendCustomerTestimonials-r1-response-example' }, updateCustomers: { $ref: '#/components/examples/updateCustomers-r1-response-example' }, updateCustomerTestimonials: { $ref: '#/components/examples/updateCustomerTestimonials-r1-response-example' }, updatePropertyResponse: { $ref: '#/components/examples/updatePropertyResponse-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/financial': { post: { operationId: financial, tags: [financial], summary: 'Retrieve or send financial related apis', description: 'Financial related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getApCodes-r1-request-schema' }, { $ref: '#/components/schemas/getBankAccounts-r2-request-schema' }, { $ref: '#/components/schemas/getBudgetActuals-r1-request-schema' }, { $ref: '#/components/schemas/getBudgets-r1-request-schema' }, { $ref: '#/components/schemas/getFinancialPickList-r1-request-schema' }, { $ref: '#/components/schemas/getFinancialPickList-r2-request-schema' }, { $ref: '#/components/schemas/getGlTransactions-r1-request-schema' }, { $ref: '#/components/schemas/getGlTrees-r1-request-schema' }, { $ref: '#/components/schemas/getGlTrees-r2-request-schema' }, { $ref: '#/components/schemas/getJobCategories-r1-request-schema' }, { $ref: '#/components/schemas/getJobCostBudgets-r1-request-schema' }, { $ref: '#/components/schemas/getJobs-r1-request-schema' }, { $ref: '#/components/schemas/getTransactionTagLists-r1-request-schema' }, { $ref: '#/components/schemas/markGlTransactionsExported-r1-request-schema' }, { $ref: '#/components/schemas/sendBudgets-r1-request-schema' }, { $ref: '#/components/schemas/sendJournalEntries-r1-request-schema' }, { $ref: '#/components/schemas/updateBudgets-r1-request-schema' }] }, examples: { getApCodes: { $ref: '#/components/examples/getApCodes-r1-request-example' }, getBankAccounts-r2: { $ref: '#/components/examples/getBankAccounts-r2-request-example' }, getBudgetActuals: { $ref: '#/components/examples/getBudgetActuals-r1-request-example' }, getBudgets: { $ref: '#/components/examples/getBudgets-r1-request-example' }, getFinancialPickList: { $ref: '#/components/examples/getFinancialPickList-r1-request-example' }, getFinancialPickList-r2: { $ref: '#/components/examples/getFinancialPickList-r2-request-example' }, getGlTransactions: { $ref: '#/components/examples/getGlTransactions-r1-request-example' }, getGlTrees: { $ref: '#/components/examples/getGlTrees-r1-request-example' }, getGlTrees-r2: { $ref: '#/components/examples/getGlTrees-r2-request-example' }, getJobCategories: { $ref: '#/components/examples/getJobCategories-r1-request-example' }, getJobCostBudgets: { $ref: '#/components/examples/getJobCostBudgets-r1-request-example' }, getJobs: { $ref: '#/components/examples/getJobs-r1-request-example' }, getTransactionTagLists: { $ref: '#/components/examples/getTransactionTagLists-r1-request-example' }, markGlTransactionsExported: { $ref: '#/components/examples/markGlTransactionsExported-r1-request-example' }, sendBudgets: { $ref: '#/components/examples/sendBudgets-r1-request-example' }, sendJournalEntries: { $ref: '#/components/examples/sendJournalEntries-r1-request-example' }, updateBudgets: { $ref: '#/components/examples/updateBudgets-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getApCodes-r1-response-schema' }, { $ref: '#/components/schemas/getBankAccounts-r2-response-schema' }, { $ref: '#/components/schemas/getBudgetActuals-r1-response-schema' }, { $ref: '#/components/schemas/getBudgets-r1-response-schema' }, { $ref: '#/components/schemas/getFinancialPickList-r1-response-schema' }, { $ref: '#/components/schemas/getFinancialPickList-r2-response-schema' }, { $ref: '#/components/schemas/getGlTransactions-r1-response-schema' }, { $ref: '#/components/schemas/getGlTrees-r1-response-schema' }, { $ref: '#/components/schemas/getGlTrees-r2-response-schema' }, { $ref: '#/components/schemas/getJobCategories-r1-response-schema' }, { $ref: '#/components/schemas/getJobCostBudgets-r1-response-schema' }, { $ref: '#/components/schemas/getJobs-r1-response-schema' }, { $ref: '#/components/schemas/getTransactionTagLists-r1-response-schema' }, { $ref: '#/components/schemas/markGlTransactionsExported-r1-response-schema' }, { $ref: '#/components/schemas/sendBudgets-r1-response-schema' }, { $ref: '#/components/schemas/sendJournalEntries-r1-response-schema' }, { $ref: '#/components/schemas/updateBudgets-r1-response-schema' }] }, examples: { getApCodes: { $ref: '#/components/examples/getApCodes-r1-response-example' }, getBankAccounts-r2: { $ref: '#/components/examples/getBankAccounts-r2-response-example' }, getBudgetActuals: { $ref: '#/components/examples/getBudgetActuals-r1-response-example' }, getBudgets: { $ref: '#/components/examples/getBudgets-r1-response-example' }, getFinancialPickList: { $ref: '#/components/examples/getFinancialPickList-r1-response-example' }, getFinancialPickList-r2: { $ref: '#/components/examples/getFinancialPickList-r2-response-example' }, getGlTransactions: { $ref: '#/components/examples/getGlTransactions-r1-response-example' }, getGlTrees: { $ref: '#/components/examples/getGlTrees-r1-response-example' }, getGlTrees-r2: { $ref: '#/components/examples/getGlTrees-r2-response-example' }, getJobCategories: { $ref: '#/components/examples/getJobCategories-r1-response-example' }, getJobCostBudgets: { $ref: '#/components/examples/getJobCostBudgets-r1-response-example' }, getJobs: { $ref: '#/components/examples/getJobs-r1-response-example' }, getTransactionTagLists: { $ref: '#/components/examples/getTransactionTagLists-r1-response-example' }, markGlTransactionsExported: { $ref: '#/components/examples/markGlTransactionsExported-r1-response-example' }, sendBudgets: { $ref: '#/components/examples/sendBudgets-r1-response-example' }, sendJournalEntries: { $ref: '#/components/examples/sendJournalEntries-r1-response-example' }, updateBudgets: { $ref: '#/components/examples/updateBudgets-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/leads': { post: { operationId: leads, tags: [leads], summary: 'provide apis to retrieve or send lead information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getLeadPickLists-r1-request-schema' }, { $ref: '#/components/schemas/getLeadPickLists-r2-request-schema' }, { $ref: '#/components/schemas/getLeadEvents-r1-request-schema' }, { $ref: '#/components/schemas/getLeads-r1-request-schema' }, { $ref: '#/components/schemas/getMitsLeads-r1-request-schema' }, { $ref: '#/components/schemas/applyQuote-r1-request-schema' }, { $ref: '#/components/schemas/generateQuotes-r1-request-schema' }, { $ref: '#/components/schemas/getQuotes-r1-request-schema' }, { $ref: '#/components/schemas/sendLeads-r1-request-schema' }, { $ref: '#/components/schemas/sendMitsLeads-r1-request-schema' }, { $ref: '#/components/schemas/updateLeads-r1-request-schema' }, { $ref: '#/components/schemas/updateLeads-r2-request-schema' }] }, examples: { getLeadPickLists: { $ref: '#/components/examples/getLeadPickLists-r1-request-example' }, getLeadPickLists-r2: { $ref: '#/components/examples/getLeadPickLists-r2-request-example' }, getLeadEvents: { $ref: '#/components/examples/getLeadEvents-r1-request-example' }, getLeads: { $ref: '#/components/examples/getLeads-r1-request-example' }, getMitsLeads: { $ref: '#/components/examples/getMitsLeads-r1-request-example' }, applyQuote: { $ref: '#/components/examples/applyQuote-r1-request-example' }, generateQuotes: { $ref: '#/components/examples/generateQuotes-r1-request-example' }, getQuotes: { $ref: '#/components/examples/getQuotes-r1-request-example' }, sendLeads: { $ref: '#/components/examples/sendLeads-r1-request-example' }, sendMitsLeads: { $ref: '#/components/examples/sendMitsLeads-r1-request-example' }, updateLeads: { $ref: '#/components/examples/updateLeads-r1-request-example' }, updateLeads-r2: { $ref: '#/components/examples/updateLeads-r2-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getLeadPickLists-r1-response-schema' }, { $ref: '#/components/schemas/getLeadPickLists-r2-response-schema' }, { $ref: '#/components/schemas/getLeadEvents-r1-response-schema' }, { $ref: '#/components/schemas/getLeads-r1-response-schema' }, { $ref: '#/components/schemas/getMitsLeads-r1-response-schema' }, { $ref: '#/components/schemas/applyQuote-r1-response-schema' }, { $ref: '#/components/schemas/generateQuotes-r1-response-schema' }, { $ref: '#/components/schemas/getQuotes-r1-response-schema' }, { $ref: '#/components/schemas/sendLeads-r1-response-schema' }, { $ref: '#/components/schemas/sendMitsLeads-r1-response-schema' }, { $ref: '#/components/schemas/updateLeads-r1-response-schema' }, { $ref: '#/components/schemas/updateLeads-r2-response-schema' }] }, examples: { getLeadPickLists: { $ref: '#/components/examples/getLeadPickLists-r1-response-example' }, getLeadPickLists-r2: { $ref: '#/components/examples/getLeadPickLists-r2-response-example' }, getLeadEvents: { $ref: '#/components/examples/getLeadEvents-r1-response-example' }, getLeads: { $ref: '#/components/examples/getLeads-r1-response-example' }, getMitsLeads: { $ref: '#/components/examples/getMitsLeads-r1-response-example' }, applyQuote: { $ref: '#/components/examples/applyQuote-r1-response-example' }, generateQuotes: { $ref: '#/components/examples/generateQuotes-r1-response-example' }, getQuotes: { $ref: '#/components/examples/getQuotes-r1-response-example' }, sendLeads: { $ref: '#/components/examples/sendLeads-r1-response-example' }, sendMitsLeads: { $ref: '#/components/examples/sendMitsLeads-r1-response-example' }, updateLeads: { $ref: '#/components/examples/updateLeads-r1-response-example' }, updateLeads-r2: { $ref: '#/components/examples/updateLeads-r2-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/leases': { post: { operationId: leases, tags: [leases], summary: 'provide apis to retrieve or send lease information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/cancelLease-r1-request-schema' }, { $ref: '#/components/schemas/getEvictedLeases-r1-request-schema' }, { $ref: '#/components/schemas/getExpiringLeases-r1-request-schema' }, { $ref: '#/components/schemas/getLeaseActivities-r1-request-schema' }, { $ref: '#/components/schemas/getLeaseDetails-r1-request-schema' }, { $ref: '#/components/schemas/getLeaseDetails-r2-request-schema' }, { $ref: '#/components/schemas/getLeaseDocuments-r1-request-schema' }, { $ref: '#/components/schemas/getLeaseDocumentsList-r1-request-schema' }, { $ref: '#/components/schemas/getLeasePickList-r1-request-schema' }, { $ref: '#/components/schemas/getLeases-r1-request-schema' }, { $ref: '#/components/schemas/getLeases-r2-request-schema' }, { $ref: '#/components/schemas/getMitsCollections-r2-request-schema' }, { $ref: '#/components/schemas/getMitsLeases-r1-request-schema' }, { $ref: '#/components/schemas/getParcelAlerts-r1-request-schema' }, { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-request-schema' }, { $ref: '#/components/schemas/moveInLease-r1-request-schema' }, { $ref: '#/components/schemas/moveOutLease-r1-request-schema' }, { $ref: '#/components/schemas/onNoticeLease-r1-request-schema' }, { $ref: '#/components/schemas/sendLeaseActivities-r1-request-schema' }, { $ref: '#/components/schemas/sendLeaseDocuments-r1-request-schema' }, { $ref: '#/components/schemas/sendLeases-r1-request-schema' }, { $ref: '#/components/schemas/sendRentersInsurancePolicies-r1-request-schema' }, { $ref: '#/components/schemas/sendRentersInsurancePolicies-r2-request-schema' }, { $ref: '#/components/schemas/sendRoommateGroups-r1-request-schema' }, { $ref: '#/components/schemas/sendRoommateGroups-r2-request-schema' }, { $ref: '#/components/schemas/sendScheduledCharges-r1-request-schema' }, { $ref: '#/components/schemas/updateLease-r1-request-schema' }, { $ref: '#/components/schemas/updateScheduledCharges-r1-request-schema' }, { $ref: '#/components/schemas/updateScheduledCharges-r2-request-schema' }] }, examples: { cancelLease: { $ref: '#/components/examples/cancelLease-r1-request-example' }, getEvictedLeases: { $ref: '#/components/examples/getEvictedLeases-r1-request-example' }, getExpiringLeases: { $ref: '#/components/examples/getExpiringLeases-r1-request-example' }, getLeaseActivities: { $ref: '#/components/examples/getLeaseActivities-r1-request-example' }, getLeaseDetails: { $ref: '#/components/examples/getLeaseDetails-r1-request-example' }, getLeaseDetails-r2: { $ref: '#/components/examples/getLeaseDetails-r2-request-example' }, getLeaseDocuments: { $ref: '#/components/examples/getLeaseDocuments-r1-request-example' }, getLeaseDocumentsList: { $ref: '#/components/examples/getLeaseDocumentsList-r1-request-example' }, getLeasePickList: { $ref: '#/components/examples/getLeasePickList-r1-request-example' }, getLeases: { $ref: '#/components/examples/getLeases-r1-request-example' }, getLeases-r2: { $ref: '#/components/examples/getLeases-r2-request-example' }, getMitsCollections-r2: { $ref: '#/components/examples/getMitsCollections-r2-request-example' }, getMitsLeases: { $ref: '#/components/examples/getMitsLeases-r1-request-example' }, getParcelAlerts: { $ref: '#/components/examples/getParcelAlerts-r1-request-example' }, getRentersInsurancePolicies: { $ref: '#/components/examples/getRentersInsurancePolicies-r1-request-example' }, moveInLease: { $ref: '#/components/examples/moveInLease-r1-request-example' }, moveOutLease: { $ref: '#/components/examples/moveOutLease-r1-request-example' }, onNoticeLease: { $ref: '#/components/examples/onNoticeLease-r1-request-example' }, sendLeaseActivities: { $ref: '#/components/examples/sendLeaseActivities-r1-request-example' }, sendLeaseDocuments: { $ref: '#/components/examples/sendLeaseDocuments-r1-request-example' }, sendLeases: { $ref: '#/components/examples/sendLeases-r1-request-example' }, sendRentersInsurancePolicies: { $ref: '#/components/examples/sendRentersInsurancePolicies-r1-request-example' }, sendRentersInsurancePolicies-r2: { $ref: '#/components/examples/sendRentersInsurancePolicies-r2-request-example' }, sendRoommateGroups: { $ref: '#/components/examples/sendRoommateGroups-r1-request-example' }, sendRoommateGroups-r2: { $ref: '#/components/examples/sendRoommateGroups-r2-request-example' }, sendScheduledCharges: { $ref: '#/components/examples/sendScheduledCharges-r1-request-example' }, updateLease: { $ref: '#/components/examples/updateLease-r1-request-example' }, updateScheduledCharges: { $ref: '#/components/examples/updateScheduledCharges-r1-request-example' }, updateScheduledCharges-r2: { $ref: '#/components/examples/updateScheduledCharges-r2-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/cancelLease-r1-response-schema' }, { $ref: '#/components/schemas/getEvictedLeases-r1-response-schema' }, { $ref: '#/components/schemas/getExpiringLeases-r1-response-schema' }, { $ref: '#/components/schemas/getLeaseActivities-r1-response-schema' }, { $ref: '#/components/schemas/getLeaseDetails-r1-response-schema' }, { $ref: '#/components/schemas/getLeaseDetails-r2-response-schema' }, { $ref: '#/components/schemas/getLeaseDocuments-r1-response-schema' }, { $ref: '#/components/schemas/getLeaseDocumentsList-r1-response-schema' }, { $ref: '#/components/schemas/getLeasePickList-r1-response-schema' }, { $ref: '#/components/schemas/getLeases-r1-response-schema' }, { $ref: '#/components/schemas/getLeases-r2-response-schema' }, { $ref: '#/components/schemas/getMitsCollections-r2-response-schema' }, { $ref: '#/components/schemas/getMitsLeases-r1-response-schema' }, { $ref: '#/components/schemas/getParcelAlerts-r1-response-schema' }, { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-response-schema' }, { $ref: '#/components/schemas/moveInLease-r1-response-schema' }, { $ref: '#/components/schemas/moveOutLease-r1-response-schema' }, { $ref: '#/components/schemas/onNoticeLease-r1-response-schema' }, { $ref: '#/components/schemas/sendLeaseActivities-r1-response-schema' }, { $ref: '#/components/schemas/sendLeaseDocuments-r1-response-schema' }, { $ref: '#/components/schemas/sendLeases-r1-response-schema' }, { $ref: '#/components/schemas/sendRentersInsurancePolicies-r1-response-schema' }, { $ref: '#/components/schemas/sendRentersInsurancePolicies-r2-response-schema' }, { $ref: '#/components/schemas/sendRoommateGroups-r1-response-schema' }, { $ref: '#/components/schemas/sendRoommateGroups-r2-response-schema' }, { $ref: '#/components/schemas/sendScheduledCharges-r1-response-schema' }, { $ref: '#/components/schemas/updateLease-r1-response-schema' }, { $ref: '#/components/schemas/updateScheduledCharges-r1-response-schema' }, { $ref: '#/components/schemas/updateScheduledCharges-r2-response-schema' }] }, examples: { cancelLease: { $ref: '#/components/examples/cancelLease-r1-response-example' }, getEvictedLeases: { $ref: '#/components/examples/getEvictedLeases-r1-response-example' }, getExpiringLeases: { $ref: '#/components/examples/getExpiringLeases-r1-response-example' }, getLeaseActivities: { $ref: '#/components/examples/getLeaseActivities-r1-response-example' }, getLeaseDetails: { $ref: '#/components/examples/getLeaseDetails-r1-response-example' }, getLeaseDetails-r2: { $ref: '#/components/examples/getLeaseDetails-r2-response-example' }, getLeaseDocuments: { $ref: '#/components/examples/getLeaseDocuments-r1-response-example' }, getLeaseDocumentsList: { $ref: '#/components/examples/getLeaseDocumentsList-r1-response-example' }, getLeasePickList: { $ref: '#/components/examples/getLeasePickList-r1-response-example' }, getLeases: { $ref: '#/components/examples/getLeases-r1-response-example' }, getLeases-r2: { $ref: '#/components/examples/getLeases-r2-response-example' }, getMitsCollections-r2: { $ref: '#/components/examples/getMitsCollections-r2-response-example' }, getMitsLeases: { $ref: '#/components/examples/getMitsLeases-r1-response-example' }, getParcelAlerts: { $ref: '#/components/examples/getParcelAlerts-r1-response-example' }, getRentersInsurancePolicies: { $ref: '#/components/examples/getRentersInsurancePolicies-r1-response-example' }, moveInLease: { $ref: '#/components/examples/moveInLease-r1-response-example' }, moveOutLease: { $ref: '#/components/examples/moveOutLease-r1-response-example' }, onNoticeLease: { $ref: '#/components/examples/onNoticeLease-r1-response-example' }, sendLeaseActivities: { $ref: '#/components/examples/sendLeaseActivities-r1-response-example' }, sendLeaseDocuments: { $ref: '#/components/examples/sendLeaseDocuments-r1-response-example' }, sendLeases: { $ref: '#/components/examples/sendLeases-r1-response-example' }, sendRentersInsurancePolicies: { $ref: '#/components/examples/sendRentersInsurancePolicies-r1-response-example' }, sendRentersInsurancePolicies-r2: { $ref: '#/components/examples/sendRentersInsurancePolicies-r2-response-example' }, sendRoommateGroups: { $ref: '#/components/examples/sendRoommateGroups-r1-response-example' }, sendRoommateGroups-r2: { $ref: '#/components/examples/sendRoommateGroups-r2-response-example' }, sendScheduledCharges: { $ref: '#/components/examples/sendScheduledCharges-r1-response-example' }, updateLease: { $ref: '#/components/examples/updateLease-r1-response-example' }, updateScheduledCharges: { $ref: '#/components/examples/updateScheduledCharges-r1-response-example' }, updateScheduledCharges-r2: { $ref: '#/components/examples/updateScheduledCharges-r2-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/leasingcenter': { post: { operationId: leasingcenter, tags: [leasingcenter], summary: 'Retrieve leasing center related apis', description: 'Leasing center related apis', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCallLogs-r1-request-schema' }, { $ref: '#/components/schemas/getLeasingCenterPickLists-r1-request-schema' }] }, examples: { getCallLogs: { $ref: '#/components/examples/getCallLogs-r1-request-example' }, getLeasingCenterPickLists: { $ref: '#/components/examples/getLeasingCenterPickLists-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getCallLogs-r1-response-schema' }, { $ref: '#/components/schemas/getLeasingCenterPickLists-r1-response-schema' }] }, examples: { getCallLogs: { $ref: '#/components/examples/getCallLogs-r1-response-example' }, getLeasingCenterPickLists: { $ref: '#/components/examples/getLeasingCenterPickLists-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/maintenance': { post: { operationId: maintenance, description: 'Retrieves inspection information with comprehensive filtering options including property, lease, unit space, date ranges, and inspection types.', tags: [maintenance], summary: 'provide apis to retrieve maintenance information and templates', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getInspections-r1-request-schema' }, { $ref: '#/components/schemas/getInspectionTemplates-r1-request-schema' }, { $ref: '#/components/schemas/getWorkOrderPickLists-r1-request-schema' }, { $ref: '#/components/schemas/getWorkOrders-r1-request-schema' }, { $ref: '#/components/schemas/sendWorkOrders-r1-request-schema' }, { $ref: '#/components/schemas/updateWorkOrders-r1-request-schema' }, { $ref: '#/components/schemas/updateWorkOrders-r2-request-schema' }] }, examples: { getInspections: { $ref: '#/components/examples/getInspections-r1-request-example' }, getInspectionTemplates: { $ref: '#/components/examples/getInspectionTemplates-r1-request-example' }, getWorkOrderPickLists: { $ref: '#/components/examples/getWorkOrderPickLists-r1-request-example' }, getWorkOrders: { $ref: '#/components/examples/getWorkOrders-r1-request-example' }, sendWorkOrders: { $ref: '#/components/examples/sendWorkOrders-r1-request-example' }, updateWorkOrders: { $ref: '#/components/examples/updateWorkOrders-r1-request-example' }, updateWorkOrders-r2: { $ref: '#/components/examples/updateWorkOrders-r2-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getInspections-r1-response-schema' }, { $ref: '#/components/schemas/getInspectionTemplates-r1-response-schema' }, { $ref: '#/components/schemas/getWorkOrderPickLists-r1-response-schema' }, { $ref: '#/components/schemas/getWorkOrders-r1-response-schema' }, { $ref: '#/components/schemas/sendWorkOrders-r1-response-schema' }, { $ref: '#/components/schemas/updateWorkOrders-r1-response-schema' }, { $ref: '#/components/schemas/updateWorkOrders-r2-response-schema' }] }, examples: { getInspections: { $ref: '#/components/examples/getInspections-r1-response-example' }, getInspectionTemplates: { $ref: '#/components/examples/getInspectionTemplates-r1-response-example' }, getWorkOrderPickLists: { $ref: '#/components/examples/getWorkOrderPickLists-r1-response-example' }, getWorkOrders: { $ref: '#/components/examples/getWorkOrders-r1-response-example' }, sendWorkOrders: { $ref: '#/components/examples/sendWorkOrders-r1-response-example' }, updateWorkOrders: { $ref: '#/components/examples/updateWorkOrders-r1-response-example' }, updateWorkOrders-r2: { $ref: '#/components/examples/updateWorkOrders-r2-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/pricing': { post: { operationId: pricing, tags: [pricing], summary: 'provide apis to retrieve or send pricing information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getPricingPicklists-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyFees-r1-request-schema' }, { $ref: '#/components/schemas/insertPricing-r1-request-schema' }, { $ref: '#/components/schemas/insertPricing-r2-request-schema' }, { $ref: '#/components/schemas/sendBudgetedRent-r1-request-schema' }] }, examples: { getPricingPicklists: { $ref: '#/components/examples/getPricingPicklists-r1-request-example' }, getPropertyFees: { $ref: '#/components/examples/getPropertyFees-r1-request-example' }, insertPricing: { $ref: '#/components/examples/insertPricing-r1-request-example' }, insertPricing-r2: { $ref: '#/components/examples/insertPricing-r2-request-example' }, sendBudgetedRent: { $ref: '#/components/examples/sendBudgetedRent-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getPricingPicklists-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyFees-r1-response-schema' }, { $ref: '#/components/schemas/insertPricing-r1-response-schema' }, { $ref: '#/components/schemas/insertPricing-r2-response-schema' }, { $ref: '#/components/schemas/sendBudgetedRent-r1-response-schema' }] }, examples: { getPricingPicklists: { $ref: '#/components/examples/getPricingPicklists-r1-response-example' }, getPropertyFees: { $ref: '#/components/examples/getPropertyFees-r1-response-example' }, insertPricing: { $ref: '#/components/examples/insertPricing-r1-response-example' }, insertPricing-r2: { $ref: '#/components/examples/insertPricing-r2-response-example' }, sendBudgetedRent: { $ref: '#/components/examples/sendBudgetedRent-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/properties': { post: { operationId: properties, tags: [properties], summary: 'provide apis to retrieve or send property information', description: 'List of apis to retrieve or send property information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/deletePropertyMedia-r1-request-schema' }, { $ref: '#/components/schemas/getAmenityReservations-r1-request-schema' }, { $ref: '#/components/schemas/getReservableAmenities-r1-request-schema' }, { $ref: '#/components/schemas/getCalendarAvailability-r1-request-schema' }, { $ref: '#/components/schemas/getCalendarAvailability-r2-request-schema' }, { $ref: '#/components/schemas/getFloorPlans-r1-request-schema' }, { $ref: '#/components/schemas/sendFloorPlans-r1-request-schema' }, { $ref: '#/components/schemas/getPetTypes-r1-request-schema' }, { $ref: '#/components/schemas/getPhoneNumber-r1-request-schema' }, { $ref: '#/components/schemas/getProperties-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyAddOns-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyAnnouncements-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyMedia-r1-request-schema' }, { $ref: '#/components/schemas/sendPropertyMedia-r1-request-schema' }, { $ref: '#/components/schemas/sendRentableItems-r1-request-schema' }, { $ref: '#/components/schemas/updatePropertyMedia-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyPickLists-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyPickLists-r2-request-schema' }, { $ref: '#/components/schemas/getRentableItems-r1-request-schema' }, { $ref: '#/components/schemas/getWebsites-r1-request-schema' }] }, examples: { deletePropertyMedia: { $ref: '#/components/examples/deletePropertyMedia-r1-request-example' }, getAmenityReservations: { $ref: '#/components/examples/getAmenityReservations-r1-request-example' }, getReservableAmenities: { $ref: '#/components/examples/getReservableAmenities-r1-request-example' }, getCalendarAvailabilityR1: { $ref: '#/components/examples/getCalendarAvailability-r1-request-example' }, getCalendarAvailabilityR2: { $ref: '#/components/examples/getCalendarAvailability-r2-request-example' }, getFloorPlans: { $ref: '#/components/examples/getFloorPlans-r1-request-example' }, sendFloorPlans: { $ref: '#/components/examples/sendFloorPlans-r1-request-example' }, getPetTypes: { $ref: '#/components/examples/getPetTypes-r1-request-example' }, getPhoneNumber: { $ref: '#/components/examples/getPhoneNumber-r1-request-example' }, getProperties: { $ref: '#/components/examples/getProperties-r1-request-example' }, getPropertyAddOns: { $ref: '#/components/examples/getPropertyAddOns-r1-request-example' }, getPropertyAnnouncements: { $ref: '#/components/examples/getPropertyAnnouncements-r1-request-example' }, getPropertyMedia: { $ref: '#/components/examples/getPropertyMedia-r1-request-example' }, sendPropertyMedia: { $ref: '#/components/examples/sendPropertyMedia-r1-request-example' }, sendRentableItems: { $ref: '#/components/examples/sendRentableItems-r1-request-example' }, updatePropertyMedia: { $ref: '#/components/examples/updatePropertyMedia-r1-request-example' }, getPropertyPickLists: { $ref: '#/components/examples/getPropertyPickLists-r1-request-example' }, getPropertyPickListsR2: { $ref: '#/components/examples/getPropertyPickLists-r2-request-example' }, getRentableItems: { $ref: '#/components/examples/getRentableItems-r1-request-example' }, getWebsites: { $ref: '#/components/examples/getWebsites-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/deletePropertyMedia-r1-response-schema' }, { $ref: '#/components/schemas/getAmenityReservations-r1-response-schema' }, { $ref: '#/components/schemas/getReservableAmenities-r1-response-schema' }, { $ref: '#/components/schemas/getCalendarAvailability-r1-response-schema' }, { $ref: '#/components/schemas/getCalendarAvailability-r2-response-schema' }, { $ref: '#/components/schemas/getFloorPlans-r1-response-schema' }, { $ref: '#/components/schemas/sendFloorPlans-r1-response-schema' }, { $ref: '#/components/schemas/getPetTypes-r1-response-schema' }, { $ref: '#/components/schemas/getPhoneNumber-r1-response-schema' }, { $ref: '#/components/schemas/getProperties-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyAddOns-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyAnnouncements-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyMedia-r1-response-schema' }, { $ref: '#/components/schemas/sendPropertyMedia-r1-response-schema' }, { $ref: '#/components/schemas/sendRentableItems-r1-response-schema' }, { $ref: '#/components/schemas/updatePropertyMedia-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyPickLists-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyPickLists-r2-response-schema' }, { $ref: '#/components/schemas/getRentableItems-r1-response-schema' }, { $ref: '#/components/schemas/getWebsites-r1-response-schema' }] }, examples: { deletePropertyMedia: { $ref: '#/components/examples/deletePropertyMedia-r1-response-example' }, getAmenityReservations: { $ref: '#/components/examples/getAmenityReservations-r1-response-example' }, getReservableAmenities: { $ref: '#/components/examples/getReservableAmenities-r1-response-example' }, getCalendarAvailabilityR1: { $ref: '#/components/examples/getCalendarAvailability-r1-response-example' }, getCalendarAvailabilityR2: { $ref: '#/components/examples/getCalendarAvailability-r2-response-example' }, getFloorPlans: { $ref: '#/components/examples/getFloorPlans-r1-response-example' }, sendFloorPlans: { $ref: '#/components/examples/sendFloorPlans-r1-response-example' }, getPetTypes: { $ref: '#/components/examples/getPetTypes-r1-response-example' }, getPhoneNumber: { $ref: '#/components/examples/getPhoneNumber-r1-response-example' }, getProperties: { $ref: '#/components/examples/getProperties-r1-response-example' }, getPropertyAddOns: { $ref: '#/components/examples/getPropertyAddOns-r1-response-example' }, getPropertyAnnouncements: { $ref: '#/components/examples/getPropertyAnnouncements-r1-response-example' }, getPropertyMedia: { $ref: '#/components/examples/getPropertyMedia-r1-response-example' }, sendPropertyMedia: { $ref: '#/components/examples/sendPropertyMedia-r1-response-example' }, sendRentableItems: { $ref: '#/components/examples/sendRentableItems-r1-response-example' }, updatePropertyMedia: { $ref: '#/components/examples/updatePropertyMedia-r1-response-example' }, getPropertyPickLists: { $ref: '#/components/examples/getPropertyPickLists-r1-response-example' }, getPropertyPickListsR2: { $ref: '#/components/examples/getPropertyPickLists-r2-response-example' }, getRentableItems: { $ref: '#/components/examples/getRentableItems-r1-response-example' }, getWebsites: { $ref: '#/components/examples/getWebsites-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/propertyunits': { post: { operationId: propertyunits, tags: [propertyunits], summary: 'provide apis to retrieve or send property units information', description: 'List of apis to retrieve or send property units information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getAmenities-r1-request-schema' }, { $ref: '#/components/schemas/getMitsPropertyUnits-r1-request-schema' }, { $ref: '#/components/schemas/getPropertyUnits-r1-request-schema' }, { $ref: '#/components/schemas/getSpecials-r1-request-schema' }, { $ref: '#/components/schemas/getSpecials-r2-request-schema' }, { $ref: '#/components/schemas/getSpecials-r3-request-schema' }, { $ref: '#/components/schemas/getSpecials-r4-request-schema' }, { $ref: '#/components/schemas/getUnitsAvailabilityAndPricing-r1-request-schema' }, { $ref: '#/components/schemas/getUnitTypes-r1-request-schema' }, { $ref: '#/components/schemas/sendAmenities-r1-request-schema' }, { $ref: '#/components/schemas/sendPropertyUnits-r1-request-schema' }, { $ref: '#/components/schemas/sendSpecialGroup-r1-request-schema' }, { $ref: '#/components/schemas/updateAmenities-r1-request-schema' }, { $ref: '#/components/schemas/updateSpecialGroup-r1-request-schema' }] }, examples: { getAmenities: { $ref: '#/components/examples/getAmenities-r1-request-example' }, getMitsPropertyUnits: { $ref: '#/components/examples/getMitsPropertyUnits-r1-request-example' }, getPropertyUnits: { $ref: '#/components/examples/getPropertyUnits-r1-request-example' }, getSpecials-r1: { $ref: '#/components/examples/getSpecials-r1-request-example' }, getSpecials-r2: { $ref: '#/components/examples/getSpecials-r2-request-example' }, getSpecials-r3: { $ref: '#/components/examples/getSpecials-r3-request-example' }, getSpecials-r4: { $ref: '#/components/examples/getSpecials-r4-request-example' }, getUnitsAvailabilityAndPricing: { $ref: '#/components/examples/getUnitsAvailabilityAndPricing-r1-request-example' }, getUnitTypes: { $ref: '#/components/examples/getUnitTypes-r1-request-example' }, sendAmenities: { $ref: '#/components/examples/sendAmenities-r1-request-example' }, sendPropertyUnits: { $ref: '#/components/examples/sendPropertyUnits-r1-request-example' }, sendSpecialGroup: { $ref: '#/components/examples/sendSpecialGroup-r1-request-example' }, updateAmenities: { $ref: '#/components/examples/updateAmenities-r1-request-example' }, updateSpecialGroup: { $ref: '#/components/examples/updateSpecialGroup-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getAmenities-r1-response-schema' }, { $ref: '#/components/schemas/getMitsPropertyUnits-r1-response-schema' }, { $ref: '#/components/schemas/getPropertyUnits-r1-response-schema' }, { $ref: '#/components/schemas/getSpecials-r1-response-schema' }, { $ref: '#/components/schemas/getSpecials-r2-response-schema' }, { $ref: '#/components/schemas/getSpecials-r3-response-schema' }, { $ref: '#/components/schemas/getSpecials-r4-response-schema' }, { $ref: '#/components/schemas/getUnitsAvailabilityAndPricing-r1-response-schema' }, { $ref: '#/components/schemas/getUnitTypes-r1-response-schema' }, { $ref: '#/components/schemas/sendAmenities-r1-response-schema' }, { $ref: '#/components/schemas/sendPropertyUnits-r1-response-schema' }, { $ref: '#/components/schemas/sendSpecialGroup-r1-response-schema' }, { $ref: '#/components/schemas/updateAmenities-r1-response-schema' }, { $ref: '#/components/schemas/updateSpecialGroup-r1-response-schema' }] }, examples: { getAmenities: { $ref: '#/components/examples/getAmenities-r1-response-example' }, getMitsPropertyUnits: { $ref: '#/components/examples/getMitsPropertyUnits-r1-response-example' }, getPropertyUnits: { $ref: '#/components/examples/getPropertyUnits-r1-response-example' }, getSpecials-r1: { $ref: '#/components/examples/getSpecials-r1-response-example' }, getSpecials-r2: { $ref: '#/components/examples/getSpecials-r2-response-example' }, getSpecials-r3: { $ref: '#/components/examples/getSpecials-r3-response-example' }, getSpecials-r4: { $ref: '#/components/examples/getSpecials-r4-response-example' }, getUnitsAvailabilityAndPricing: { $ref: '#/components/examples/getUnitsAvailabilityAndPricing-r1-response-example' }, getUnitTypes: { $ref: '#/components/examples/getUnitTypes-r1-response-example' }, sendAmenities: { $ref: '#/components/examples/sendAmenities-r1-response-example' }, sendPropertyUnits: { $ref: '#/components/examples/sendPropertyUnits-r1-response-example' }, sendSpecialGroup: { $ref: '#/components/examples/sendSpecialGroup-r1-response-example' }, updateAmenities: { $ref: '#/components/examples/updateAmenities-r1-response-example' }, updateSpecialGroup: { $ref: '#/components/examples/updateSpecialGroup-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/queue': { post: { operationId: queue, tags: [queue], summary: 'Queue related apis', description: 'This API retrieves the response for a previously queued asynchronous request using the queueId token.', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, description: 'Retrieve the response for a queued API request using the queueId token returned from an asynchronous operation.', content: { application/json: { schema: { $ref: '#/components/schemas/getResponse-r1-request-schema' }, examples: { getResponse: { $ref: '#/components/examples/getResponse-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { $ref: '#/components/schemas/getResponse-r1-response-schema' }, examples: { getResponse: { $ref: '#/components/examples/getResponse-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } '/{orgs}/v1/vendors': { post: { operationId: vendors, tags: [vendors], summary: 'Vendors related apis', description: 'List of apis to retrieve or send vendor information', parameters: [{ $ref: '#/components/parameters/pathParamOrgs' }], requestBody: { required: true, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getInvoices-r1-request-schema' }, { $ref: '#/components/schemas/getInvoices-r2-request-schema' }, { $ref: '#/components/schemas/getPoReceivingRecords-r1-request-schema' }, { $ref: '#/components/schemas/getPurchaseOrders-r1-request-schema' }, { $ref: '#/components/schemas/getTaxFormData-r1-request-schema' }, { $ref: '#/components/schemas/getVendorLocations-r1-request-schema' }, { $ref: '#/components/schemas/getVendorPickLists-r1-request-schema' }, { $ref: '#/components/schemas/getVendors-r2-request-schema' }, { $ref: '#/components/schemas/markInvoicesExported-r1-request-schema' }, { $ref: '#/components/schemas/sendInvoices-r1-request-schema' }, { $ref: '#/components/schemas/sendInvoices-r2-request-schema' }, { $ref: '#/components/schemas/sendPurchaseOrders-r1-request-schema' }, { $ref: '#/components/schemas/sendVendors-r1-request-schema' }, { $ref: '#/components/schemas/updateInvoices-r1-request-schema' }, { $ref: '#/components/schemas/updateVendors-r1-request-schema' }, { $ref: '#/components/schemas/voidApPayments-r1-request-schema' }] }, examples: { getInvoices: { $ref: '#/components/examples/getInvoices-r1-request-example' }, getInvoices-r2: { $ref: '#/components/examples/getInvoices-r2-request-example' }, getPoReceivingRecords: { $ref: '#/components/examples/getPoReceivingRecords-r1-request-example' }, getPurchaseOrders: { $ref: '#/components/examples/getPurchaseOrders-r1-request-example' }, getTaxFormData: { $ref: '#/components/examples/getTaxFormData-r1-request-example' }, getVendorLocations: { $ref: '#/components/examples/getVendorLocations-r1-request-example' }, getVendorPickLists: { $ref: '#/components/examples/getVendorPickLists-r1-request-example' }, getVendors-r2: { $ref: '#/components/examples/getVendors-r2-request-example' }, markInvoicesExported: { $ref: '#/components/examples/markInvoicesExported-r1-request-example' }, sendInvoices: { $ref: '#/components/examples/sendInvoices-r1-request-example' }, sendInvoices-r2: { $ref: '#/components/examples/sendInvoices-r2-request-example' }, sendPurchaseOrders: { $ref: '#/components/examples/sendPurchaseOrders-r1-request-example' }, sendVendors: { $ref: '#/components/examples/sendVendors-r1-request-example' }, updateInvoices: { $ref: '#/components/examples/updateInvoices-r1-request-example' }, updateVendors: { $ref: '#/components/examples/updateVendors-r1-request-example' }, voidApPayments: { $ref: '#/components/examples/voidApPayments-r1-request-example' } } } } }, responses: { 200: { description: Success, content: { application/json: { schema: { anyOf: [{ $ref: '#/components/schemas/getInvoices-r1-response-schema' }, { $ref: '#/components/schemas/getInvoices-r2-response-schema' }, { $ref: '#/components/schemas/getPoReceivingRecords-r1-response-schema' }, { $ref: '#/components/schemas/getPurchaseOrders-r1-response-schema' }, { $ref: '#/components/schemas/getTaxFormData-r1-response-schema' }, { $ref: '#/components/schemas/getVendorLocations-r1-response-schema' }, { $ref: '#/components/schemas/getVendorPickLists-r1-response-schema' }, { $ref: '#/components/schemas/getVendors-r2-response-schema' }, { $ref: '#/components/schemas/markInvoicesExported-r1-response-schema' }, { $ref: '#/components/schemas/sendInvoices-r1-response-schema' }, { $ref: '#/components/schemas/sendInvoices-r2-response-schema' }, { $ref: '#/components/schemas/sendPurchaseOrders-r1-response-schema' }, { $ref: '#/components/schemas/sendVendors-r1-response-schema' }, { $ref: '#/components/schemas/updateInvoices-r1-response-schema' }, { $ref: '#/components/schemas/updateVendors-r1-response-schema' }, { $ref: '#/components/schemas/voidApPayments-r1-response-schema' }] }, examples: { getInvoices: { $ref: '#/components/examples/getInvoices-r1-response-example' }, getInvoices-r2: { $ref: '#/components/examples/getInvoices-r2-response-example' }, getPoReceivingRecords: { $ref: '#/components/examples/getPoReceivingRecords-r1-response-example' }, getPurchaseOrders: { $ref: '#/components/examples/getPurchaseOrders-r1-response-example' }, getTaxFormData: { $ref: '#/components/examples/getTaxFormData-r1-response-example' }, getVendorLocations: { $ref: '#/components/examples/getVendorLocations-r1-response-example' }, getVendorPickLists: { $ref: '#/components/examples/getVendorPickLists-r1-response-example' }, getVendors-r2: { $ref: '#/components/examples/getVendors-r2-response-example' }, markInvoicesExported: { $ref: '#/components/examples/markInvoicesExported-r1-response-example' }, sendInvoices: { $ref: '#/components/examples/sendInvoices-r1-response-example' }, sendInvoices-r2: { $ref: '#/components/examples/sendInvoices-r2-response-example' }, sendPurchaseOrders: { $ref: '#/components/examples/sendPurchaseOrders-r1-response-example' }, sendVendors: { $ref: '#/components/examples/sendVendors-r1-response-example' }, updateInvoices: { $ref: '#/components/examples/updateInvoices-r1-response-example' }, updateVendors: { $ref: '#/components/examples/updateVendors-r1-response-example' }, voidApPayments: { $ref: '#/components/examples/voidApPayments-r1-response-example' } } } } }, 400: { $ref: '#/components/responses/generalFailureResponse' } } } } components: securitySchemes: { apiKeyAuth: { type: apiKey, in: header, name: X-Api-Key } } parameters: { pathParamOrgs: { name: orgs, in: path, description: 'Client subdomain.', required: true, style: simple, explode: false, schema: { type: string } } } schemas: { getStatus-r1-request-schema: { description: 'Check the status of the API and whether it is running or not.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'type of authentication', example: apikey } } }, requestId: { type: string, description: 'an arbitary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getStatus], description: 'the getStatus RPC method', example: getStatus }, version: { type: string, enum: [r1], description: 'version of the method', example: r1 } } } } }, getStatus-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [code, result], properties: { requestId: { type: string, description: 'an arbitary value sent with the request.', example: '15' }, code: { type: integer, example: 200, enum: [200] }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'status of the service', example: Success }, message: { type: string, description: 'message of the service', example: 'Api is available and running.' } } } } } } }, getAccessibleClients-r1-request-schema: { description: 'Retrieves a list of organizations that the authenticated user has access to. The response includes the subdomain, ID, and name for each accessible organization. Please use `rsync` as the orgs value.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'type of authentication', example: apikey } } }, requestId: { type: string, description: 'an arbitary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getAccessibleClients], description: 'the getAccessibleClients RPC method', example: getAccessibleClients }, version: { type: string, enum: [r1], description: 'version of the method', example: r1 } } } } }, getAccessibleServices-r1-request-schema: { description: 'Returns a list of services that are accessible to the caller, including the URI and service name for each.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'type of authentication', example: apikey } } }, requestId: { type: string, description: 'an arbitary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getAccessibleServices], description: 'the getAccessibleServices RPC method', example: getAccessibleServices }, version: { type: string, enum: [r1], description: 'version of the method', example: r1 } } } } }, getAccessibleClients-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [code, result], properties: { code: { type: integer, description: 'success code 200', example: 200 }, result: { type: object, required: [orgs], properties: { orgs: { type: array, items: { type: object, required: [subdomain, id, name], properties: { subdomain: { type: string, description: 'subdomain of the organization', example: demoold }, id: { type: integer, description: 'id of the organization', example: 235 }, name: { type: string, description: 'name of the organization', example: 'Demo Account' } } } } } } } } } }, getAccessibleServices-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [code, result], properties: { code: { type: integer, description: 'success code 200', example: 200 }, result: { type: object, required: [services], properties: { services: { type: array, description: 'list of services available for the organization', items: { type: object, required: [uri, service], properties: { uri: { type: string, description: 'the uri of the service', example: /ext/orgs/demoold/v1/customers }, service: { type: string, description: 'name of the service', example: getCustomers } } } } } } } } } }, getCompanyApplications-r1-request-schema: { description: 'Retrieve a list of company applications associated with a specific property, including the questions within each application.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCompanyApplications], description: 'Method name to be called', example: getCompanyApplications }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to retrieve company applications for', example: 1234 } }, description: 'Method parameters' } } } } }, sendApplication-r1-request-schema: { description: 'Process a request to submit an application for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendApplication], description: 'Method name to be called', example: sendApplication }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, originatingLeadSourceId, applicants], properties: { propertyId: { type: integer, description: 'Property ID where the application will be submitted', example: 1234 }, originatingLeadSourceId: { type: integer, description: 'Lead source ID that originated this application', example: 567 }, leasingAgentId: { type: integer, description: 'Leasing agent ID responsible for the application', example: 890 }, unitSpaceId: { type: integer, description: 'Unit space ID for the desired unit', example: 1111 }, moveInDate: { type: string, format: date, description: 'Desired move-in date in YYYY-MM-DD format', example: '2025-01-24' }, leaseTermId: { type: integer, description: 'Lease term ID for the desired lease duration', example: 2222 }, floorplanId: { type: integer, description: 'Floorplan ID for the desired unit type', example: 3333 }, applicationStatusId: { type: integer, description: 'Application status ID to set for the new application', example: 4444 }, applicants: { type: object, required: [applicant], properties: { applicant: { type: array, items: { type: object, required: [firstName, lastName], properties: { firstName: { type: string, description: "Applicant's first name", example: John }, lastName: { type: string, description: "Applicant's last name", example: Doe }, maternalName: { type: string, description: "Applicant's maternal name", example: Smith }, preferredName: { type: string, description: "Applicant's preferred name", example: Johnny }, customerRelationshipTypeId: { type: integer, description: 'Customer relationship type ID (required when multiple applicants)', example: 1 }, birthDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Date of birth in mm/dd/yyyy format', example: 01/15/1990 }, phoneNumberTypeId: { type: integer, description: 'Phone number type ID', example: 1 }, phoneNumber: { type: string, description: "Applicant's phone number", example: '1234567890' }, email: { type: string, format: email, description: "Applicant's email address", example: john.doe@example.com }, addresses: { type: object, properties: { address: { type: array, items: { type: object, required: [addressTypeId, addressLine1, city, stateCode, postalCode], properties: { addressTypeId: { type: integer, description: 'Address type ID', example: 1 }, addressLine1: { type: string, description: 'First line of the address', example: '123 Main St' }, addressLine2: { type: string, description: 'Second line of the address', example: 'Apt 4B' }, addressLine3: { type: string, description: 'Third line of the address', example: 'Building A' }, city: { type: string, description: 'City name', example: 'New York' }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: integer, description: 'Postal code', example: 10001 } } } } } } } } } } } }, description: 'Method parameters' } } } } }, updateApplication-r1-request-schema: { description: 'Update an existing application, including details about the property, lease terms, and associated applicants.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateApplication], description: 'Method name to be called', example: updateApplication }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, applicationId], properties: { propertyId: { type: integer, description: 'Property ID where the application is located', example: 1234 }, applicationId: { type: integer, description: 'Application ID to update', example: 5678 }, originatingLeadSourceId: { type: integer, description: 'Lead source ID that originated this application', example: 567 }, leasingAgentId: { type: integer, description: 'Leasing agent ID responsible for the application', example: 890 }, unitSpaceId: { type: integer, description: 'Unit space ID for the desired unit', example: 1111 }, moveInDate: { type: string, format: date, description: 'Desired move-in date in YYYY-MM-DD format', example: '2025-01-24' }, leaseTermId: { type: integer, description: 'Lease term ID for the desired lease duration', example: 2222 }, floorplanId: { type: integer, description: 'Floorplan ID for the desired unit type', example: 3333 }, applicationStatusId: { type: integer, description: 'Application status ID to set (completed, approved, or cancelled)', enum: [21, 7, 6], example: 21 }, applicants: { type: object, required: [applicant], properties: { applicant: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Existing applicant ID (for updating existing applicants)', example: 4444 }, firstName: { type: string, description: "Applicant's first name (required for new applicants)", example: John }, lastName: { type: string, description: "Applicant's last name (required for new applicants)", example: Doe }, maternalName: { type: string, description: "Applicant's maternal name", example: Smith }, preferredName: { type: string, description: "Applicant's preferred name", example: Johnny }, customerRelationshipTypeId: { type: integer, description: 'Customer relationship type ID (required for new applicants)', example: 1 }, birthDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Date of birth in mm/dd/yyyy format', example: 01/15/1990 }, phoneNumberTypeId: { type: integer, description: 'Phone number type ID', example: 1 }, phoneNumber: { type: string, description: "Applicant's phone number", example: '1234567890' }, email: { type: string, format: email, description: "Applicant's email address", example: john.doe@example.com }, addresses: { type: object, properties: { address: { type: array, items: { type: object, required: [addressTypeId, addressLine1, city, stateCode, postalCode], properties: { addressTypeId: { type: integer, description: 'Address type ID', example: 1 }, addressLine1: { type: string, description: 'First line of the address', example: '123 Main St' }, addressLine2: { type: string, description: 'Second line of the address', example: 'Apt 4B' }, addressLine3: { type: string, description: 'Third line of the address', example: 'Building A' }, city: { type: string, description: 'City name', example: 'New York' }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: integer, description: 'Postal code', example: 10001 } } } } } } } } } } } }, description: 'Method parameters' } } } } }, getCompanyApplications-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [companyApplications], properties: { companyApplications: { type: object, required: [companyApplication], properties: { companyApplication: { type: array, items: { type: object, required: [companyApplicationId, companyApplicationName], properties: { companyApplicationId: { type: integer, description: 'Unique identifier for the company application', example: 1234 }, companyApplicationName: { type: string, description: 'Name/title of the company application', example: 'Standard Rental Application' }, applicationQuestions: { type: object, properties: { applicationQuestion: { type: array, items: { type: object, required: [id, question], properties: { id: { type: string, description: 'Question identifier', example: '1' }, question: { type: string, description: 'The question text', example: 'Have you ever been sued for rent' } } } } }, description: 'Collection of application questions' } } } } } } } } } } } }, sendApplication-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [application], properties: { application: { type: object, required: [status, message], properties: { status: { type: string, enum: [Success, Failure], description: 'Status of the application creation', example: Success }, message: { type: string, description: 'Success or error message', example: 'Application inserted successfully.' }, applicationId: { type: integer, description: 'The created application ID (only present on success)', example: 7890 }, applicantIds: { type: string, description: 'Comma-separated list of created applicant IDs (only present on success)', example: '5555, 6666' } } } } } } } } }, updateApplication-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [application], properties: { application: { type: object, required: [status, message], properties: { status: { type: string, enum: [Success, Failure], description: 'Status of the application update', example: Success }, message: { type: string, description: 'Success or error message', example: 'Application updated successfully.' }, applicationId: { type: integer, description: 'The updated application ID (only present on success)', example: 5678 }, applicantIds: { type: string, description: 'Comma-separated list of updated applicant IDs (only present on success when applicants are updated)', example: '4444, 7777' } } } } } } } } }, getArCodes-r1-request-schema: { description: 'Retrieves a list of AR codes (Accounts Receivable codes) for a given property. The response includes details for each AR code such as its ID, name, type, charge usage and timing, associated ledger, and GL account IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getArCodes], description: 'Method name to be called', example: getArCodes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyId: { type: integer, description: 'Property ID to filter AR codes for a specific property', example: 1234 } }, description: 'Method parameters' } } } } }, getArCodes-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, required: [arcodes], properties: { arcodes: { type: object, properties: { arcode: { type: array, items: { type: object, properties: { id: { type: integer, description: 'AR Code ID', example: 12345 }, code: { type: integer, description: 'AR Code Type ID', example: 101 }, name: { type: string, description: 'AR Code name', example: 'Late Fee' }, codeType: { type: string, description: 'AR Code type name', example: Fees }, chargeUsage: { type: string, description: 'Charge usage/origin name', example: Rent }, chargeTiming: { type: string, description: 'Charge timing/trigger name (optional)', example: Monthly }, associatedLedger: { type: string, description: 'Associated ledger filter name (optional)', example: 'Operating Account' }, debitGlAccountId: { type: integer, description: 'Debit GL Account ID', example: 5001 }, creditGlAccountId: { type: integer, description: 'Credit GL Account ID', example: 1001 }, displayAs: { type: string, description: 'Display description', example: 'Late Fee Charge' }, isDisabled: { type: boolean, description: 'Whether the AR code is disabled', example: false }, isEntrataDisabled: { type: boolean, description: 'Whether the AR code is disabled for Entrata integration', example: false }, isTaxable: { type: boolean, description: 'Whether the AR code is taxable', example: true } } } } } } } } } } } }, getArPayments-r1-request-schema: { description: 'Retrieves accounts receivable (AR) payments based on specified criteria such as payment IDs, status types, and date ranges. It can also include allocation details for each payment, providing information on how the payment was distributed among different charges.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getArPayments], description: 'Method name to be called', example: getArPayments }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { arPaymentIds: { type: string, description: 'Comma-separated list of AR payment IDs to filter results', example: '123,124,125' }, paymentStatusTypeIds: { type: string, description: 'Comma-separated list of payment status type IDs to filter results', example: '1,2,3' }, fromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Start date for payment search in MM/DD/YYYY format', example: 01/01/2024 }, toDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'End date for payment search in MM/DD/YYYY format', example: 12/31/2024 }, isIncludeAllocations: { type: integer, enum: [0, 1], description: 'Whether to include allocation details (0 for false, 1 for true)', example: 1 } }, description: 'Method parameters' } } } } }, getArPayments-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { ArPayments: { type: object, properties: { ArPayment: { type: array, items: { type: object, properties: { ArPaymentId: { type: integer, description: 'Unique identifier for the AR payment', example: 12345 }, PropertyName: { type: string, description: 'Name of the property', example: 'Sunset Apartments' }, CustomerId: { type: integer, description: 'Customer identifier', example: 6789 }, CustomerFirstName: { type: string, description: "Customer's first name", example: John }, CustomerLastName: { type: string, description: "Customer's last name", example: Doe }, ExternalId: { type: string, description: 'External customer identifier', example: EXT123 }, StreetLine1: { type: string, description: 'First line of billing address', example: '123 Main St' }, StreetLine2: { type: string, description: 'Second line of billing address', example: 'Apt 4B' }, StreetLine3: { type: string, description: 'Third line of billing address', example: 'Building A' }, City: { type: string, description: 'City name', example: 'New York' }, StateCode: { type: string, description: 'State code', example: NY }, PostalCode: { type: string, description: 'Postal/ZIP code', example: '10001' }, PhoneNumber: { type: string, description: 'Customer phone number', example: 555-123-4567 }, EmailAddress: { type: string, description: 'Customer email address', example: john.doe@example.com }, UnitNumber: { type: string, description: 'Unit number', example: 4B }, PaymentAmount: { type: number, format: float, description: 'Payment amount', example: 1500 }, CurrencyCode: { type: string, description: 'Currency code', example: USD }, PaymentDate: { type: string, description: 'Payment date and time (mm/dd/yyyy HH:MM)', example: '01/15/2024 14:30' }, PaymentType: { type: string, description: 'Type of payment', example: 'Credit Card' }, PaymentStatus: { type: string, description: 'Status of the payment', example: Captured }, CapturedOn: { type: string, description: 'Date and time when payment was captured (mm/dd/yyyy HH:MM)', example: '01/15/2024 14:35' }, DistributeOn: { type: string, description: 'Date and time when payment was distributed (mm/dd/yyyy HH:MM)', example: '01/16/2024 09:00' }, ReturnedOn: { type: string, description: 'Date and time when payment was returned (mm/dd/yyyy HH:MM)', example: '01/20/2024 10:15' }, ArAllocations: { type: object, description: 'Payment allocations (included when isIncludeAllocations is true)', properties: { ArAllocation: { type: array, items: { type: object, properties: { ArTransactionId: { type: integer, description: 'AR transaction identifier', example: 987 }, ChargeCodeId: { type: integer, description: 'Charge code identifier', example: 101 }, ChargeCodeName: { type: string, description: 'Name of the charge code', example: Rent }, AllocationDateTime: { type: string, description: 'Date when allocation was made (mm/dd/yyyy)', example: 01/15/2024 }, Amount: { type: number, format: float, description: 'Allocation amount', example: -1500 } } } } } } } } } } } } } } } } }, getArInvoices-r1-request-schema: { description: 'Retrieves Accounts Receivable (AR) invoices based on criteria such as property ID, lease IDs, specific invoice ID, and date ranges. The response provides detailed invoice information, including customer details, invoice amounts, associated AR transactions, and any payments applied to those transactions.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getArInvoices], description: 'Method name to be called', example: getArInvoices }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch AR invoices for', example: 1234 }, leaseIds: { type: string, description: 'Comma-separated list of lease IDs to filter by', example: '100,101,102' }, fromDate: { type: string, format: date, description: 'Start date for filtering invoices by creation date (ISO format YYYY-MM-DD)', example: '2025-01-24' }, toDate: { type: string, format: date, description: 'End date for filtering invoices by creation date (ISO format YYYY-MM-DD)', example: '2025-01-24' }, arInvoiceId: { type: integer, description: 'Specific AR invoice ID to fetch', example: 5678 } }, description: 'Method parameters' } } } } }, getLeaseArTransactions-r1-request-schema: { description: 'Retrieves Accounts Receivable (AR) transactions for specified leases, allowing filtering by property, lease status, transaction types, and AR codes. It provides a detailed ledger of transactions for each lease, including transaction type, amount, dates, and associated AR codes, with options to include full ledger details, reversals, and other income leases.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseArTransactions], description: 'Method name to be called', example: getLeaseArTransactions }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch lease AR transactions for', example: 1234 }, leaseIds: { type: string, description: 'Comma-separated list of lease IDs to filter by', example: '100,101,102' }, leaseStatusTypeIds: { type: string, description: 'Comma-separated list of lease status type IDs to filter by, if not provided, returns all leases except canceled.', example: '1,2,3' }, transactionTypeIds: { type: string, description: 'Comma-separated list of transaction type IDs to filter by, possible values from 1 to 12.', example: '1,2,3' }, arCodeIds: { type: string, description: 'Comma-separated list of AR code IDs to filter by', example: '50,51,52' }, showFullLedger: { type: integer, description: 'Whether to show full ledger details (0 for false, 1 for true), if not provided, returns only open ledgers.', enum: [0, 1], example: 0 }, residentFriendlyMode: { type: integer, description: 'allows you to pull ledger history as displayed under resident portal. 0 for false, 1 for true', enum: [0, 1], example: 0 }, includeOtherIncomeLeases: { type: integer, description: 'Include other income leases (0 for false, 1 for true)', enum: [0, 1], example: 0 }, transactionFromDate: { type: string, format: date, description: 'Start date for filtering transactions (ISO format YYYY-MM-DD)', example: '2024-03-01' }, transactionToDate: { type: string, format: date, description: 'End date for filtering transactions (ISO format YYYY-MM-DD)', example: '2024-03-01' }, includeReversals: { type: integer, description: 'Include transaction reversals (0 for false, 1 for true), if provided as 1, then showFullLedger must be 1.', enum: [0, 1], example: 0 }, ledgerIds: { type: string, description: 'Comma-separated list of ledger IDs to filter by, These ids we will get from getFinancialPickList.', example: '1,2,3' } }, description: 'Method parameters' } } } } }, getMitsLeaseArTransactions-r1-request-schema: { description: 'Retrieves lease accounts receivable (AR) transactions in a MITS (Multi-Family Information Transaction Standard) format. It allows filtering by property, lease, lease status, AR codes, and transaction dates, providing detailed transaction information including charges, descriptions, amounts, and associated IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMitsLeaseArTransactions], description: 'Method name to be called', example: getMitsLeaseArTransactions }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch MITS lease AR transactions for', example: 1234 }, leaseId: { type: integer, description: 'Specific lease ID to filter by', example: 100 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated list of lease status type IDs to filter by', example: '1,2,3' }, showFullLedger: { type: integer, enum: [0, 1], description: 'Whether to show full ledger details (0 for false, 1 for true)', example: 0 }, residentFriendlyMode: { type: integer, enum: [0, 1], description: 'Enable resident-friendly mode (0 for false, 1 for true)', example: 0 }, includeOtherIncomeLeases: { type: integer, enum: [0, 1], description: 'Include other income leases (0 for false, 1 for true)', example: 0 }, includePaymentsOnly: { type: integer, enum: [0, 1], description: 'Include payments only (0 for false, 1 for true)', example: 0 }, arCodeIds: { type: string, description: 'Comma-separated list of AR code IDs to filter by', example: '50,51,52' }, transactionFromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Start date for filtering transactions mm/dd/yyyy format', example: 01/24/2025 }, transactionToDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'End date for filtering transactions mm/dd/yyyy format', example: 01/24/2025 }, includeReversals: { type: integer, enum: [0, 1], description: 'Include transaction reversals (0 for false, 1 for true). Only available when showFullLedger is 1', example: 0 } }, description: 'Method parameters' } } } } }, sendLeaseArTransactions-r1-request-schema: { description: 'Sends lease Accounts Receivable (AR) transactions to be recorded. For each transaction, you provide details like the lease ID, AR code, transaction date, amount, and a description. You can also include file attachments and specify whether approval routing is needed. The API then confirms the successful insertion of each transaction.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeaseArTransactions], description: 'Method name to be called', example: sendLeaseArTransactions }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [transaction], properties: { transaction: { type: array, description: 'Array of transaction objects', items: { type: object, required: [transactionId, leaseId, arCodeId, transactionAmount, transactionDate], properties: { transactionId: { type: string, description: 'Unique transaction identifier', example: TXN-001 }, leaseId: { type: integer, description: 'Lease ID for the transaction', example: 1234 }, arCodeId: { type: integer, description: 'AR code ID for the transaction', example: 100 }, transactionAmount: { type: number, format: float, description: 'Transaction amount (cannot be 0)', example: 1500 }, transactionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Transaction date in MM/DD/YYYY format', example: 03/15/2024 }, dueDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Due date in MM/DD/YYYY format', example: 04/15/2024 }, arPostMonth: { type: string, pattern: '^(0[1-9]|1[0-2])/\d{4}$', description: 'Post month in MM/YYYY format', example: 03/2024 }, description: { type: string, description: 'Transaction description or memo', example: 'Monthly rent charge' }, useApprovalRouting: { type: integer, enum: [0, 1], description: 'Whether to use approval routing (0 for false, 1 for true)', example: 0 }, files: { type: object, properties: { file: { type: array, description: 'Array of file objects maximum 10 files', items: { type: object, required: [name, fileData], properties: { name: { type: string, description: 'File name with extension', example: receipt.jpg }, fileData: { type: string, format: byte, description: 'Base64 encoded file data' } } } } } } } } } }, description: 'Method parameters' } } } } }, sendLeaseArTransactionReversals-r1-request-schema: { description: 'Allows you to reverse specific lease accounts receivable (AR) transactions. You provide a list of transaction IDs and their corresponding amounts. The API processes these requests and returns the status for each reversal, indicating if it was successful.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeaseArTransactionReversals], description: 'Method name to be called', example: sendLeaseArTransactionReversals }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [Transactions], properties: { Transactions: { type: object, required: [Transaction], properties: { Transaction: { type: array, description: 'transactions to reverse', items: { type: object, required: [TransactionId, TransactionAmount], properties: { TransactionId: { type: integer, minimum: 1, description: "ID of the transaction to reverse. This ID represents the 'reference_id' provided in the sendLeaseArTransactions response or the 'TransactionID' provided in getMitsLeaseArTransactions.", example: 12345 }, TransactionAmount: { type: number, format: float, description: 'Transaction amount (must match original transaction amount exactly)', example: 1500 }, PropertyId: { type: integer, minimum: 1, description: "Property ID (optional, if provided must match transaction's property)", example: 1234 }, ReverseDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Date for the reversal (valid date format), if provided will set this value as postDate for the reversed transactions', example: 03/20/2024 }, Description: { type: string, description: 'Description for the reversal', example: 'Reversal due to billing error' } } } } } } }, description: 'Method parameters' } } } } }, getArInvoices-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [arInvoices], properties: { arInvoices: { type: object, required: [arInvoice], properties: { arInvoice: { type: array, items: { type: object, properties: { id: { type: integer, description: 'AR invoice ID', example: 1234567890 }, propertyId: { type: integer, description: 'Property ID', example: 1234567890 }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, unitId: { type: integer, description: 'Property unit ID', example: 1234567890 }, leaseId: { type: integer, description: 'Lease ID', example: 1234567890 }, invoiceDate: { type: string, format: date, description: 'Invoice date in YYYY-MM-DD format', example: '2024-03-15' }, invoiceDueDate: { type: string, format: date, description: 'Invoice due date in YYYY-MM-DD format', example: '2024-04-15' }, customerId: { type: integer, description: 'Customer ID', example: 1234567890 }, customerName: { type: string, description: 'Customer name', example: 'John Doe' }, customerInvoiceMessage: { type: string, description: 'Custom message for the invoice', example: 'Monthly rent invoice' }, streetLine1: { type: string, description: 'Customer address street line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Customer address street line 2', example: 'Apt 1' }, streetLine3: { type: string, description: 'Customer address street line 3', example: 'Suite 100' }, city: { type: string, description: 'Customer address city', example: Anytown }, state: { type: string, description: 'Customer address state code', example: CA }, postalCode: { type: string, description: 'Customer address postal code', example: '12345' }, country: { type: string, description: 'Customer address country code', example: US }, note: { type: string, description: 'Invoice note', example: NA }, invoiceType: { type: string, description: 'Type of the invoice', example: Standard }, invoiceNumber: { type: string, description: 'Invoice number with prefix', example: INV-001234 }, correctedArInvoiceId: { type: integer, description: 'ID of the corrected AR invoice (for credit notes and corrections)', example: 1234567890 }, invoiceSubTotal: { type: number, format: float, description: 'Invoice subtotal amount', example: 1500 }, totalTaxAmount: { type: number, format: float, description: 'Total tax amount for the invoice', example: 120 }, identificationType: { type: string, description: 'Customer identification type', example: SSN }, identificationValue: { type: string, description: 'Customer identification value', example: 123-45-6789 }, arTransactions: { type: object, properties: { arTransaction: { type: array, description: 'Array of AR transactions associated with the invoice', items: { type: object, description: 'AR transaction details', properties: { id: { type: integer, description: 'AR transaction ID', example: 1234567890 }, arCodeId: { type: integer, description: 'AR code ID', example: 1234567890 }, arCodeName: { type: string, description: 'AR code name', example: Rent }, baseAmount: { type: number, format: float, description: 'Base amount', example: 1500 }, taxRate: { type: number, format: float, description: 'Tax rate', example: 10 }, taxAmount: { type: number, format: float, description: 'Tax amount', example: 120 }, dueDate: { type: string, format: date, description: 'Due date in YYYY-MM-DD format', example: '2024-03-15' }, fromDate: { type: string, format: date, description: 'From date in YYYY-MM-DD format', example: '2024-03-15' }, toDate: { type: string, format: date, description: 'To date in YYYY-MM-DD format', example: '2024-03-15' }, arPayments: { type: object, properties: { arPayment: { type: array, description: 'Array of AR payments associated with the invoice', items: { type: object, properties: { arPaymentId: { type: integer, description: 'AR payment ID', example: 1234567890 }, PaymentAmount: { type: number, format: float, description: 'Payment amount', example: 1500 }, PaymentDate: { type: string, format: date, description: 'Payment date in YYYY-MM-DD format', example: '2024-03-15' }, PaymentTypeId: { type: integer, description: 'Payment type ID', example: 1234567890 }, PaymentTypeName: { type: string, description: 'Payment type name', example: Rent }, PaymentStatusTypeId: { type: integer, description: 'Payment status type ID', example: 1234567890 }, PaymentStatusTypeName: { type: string, description: 'Payment status type name', example: Paid } } } } } } } } } } } } } } } } } } } } } }, getLeaseArTransactions-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [leases], properties: { leases: { type: object, required: [lease], properties: { lease: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Lease ID', example: 100 }, propertyId: { type: integer, description: 'Property ID', example: 1234 }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, unitSpaceId: { type: integer, description: 'Unit space ID', example: 5678 }, customers: { type: object, properties: { customer: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer ID', example: 2468 }, firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe } } } } } }, ledgers: { type: object, properties: { ledger: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Ledger ID', example: 1 }, name: { type: string, description: 'Ledger name', example: Rent }, balance: { type: number, format: float, description: 'Current ledger balance', example: 1500 }, pastDueBalance: { type: number, format: float, description: 'Past due balance amount', example: 0 }, writeOff: { type: number, format: float, description: 'Write-off amount', example: 0 }, transactions: { type: object, properties: { transaction: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Transaction ID', example: 1234567890 }, transactionTypeId: { type: integer, description: 'Transaction type ID', example: 10 }, arCodeId: { type: integer, description: 'AR code ID', example: 50 }, arCodeName: { type: string, description: 'AR code name', example: 'Monthly Rent' }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 789 }, description: { type: string, description: 'Transaction description/memo', example: 'March 2024 Rent' }, transactionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Transaction date (mm/dd/yyyy format)', example: 03/01/2024 }, postDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Post date (mm/dd/yyyy format)', example: 03/01/2024 }, postMonth: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Post month (mm/dd/yyyy format)', example: 03/01/2024 }, isTemporary: { type: integer, enum: [0, 1], description: 'Whether transaction is temporary (0 or 1)', example: 0 }, dueDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Due date (mm/dd/yyyy format)', example: 03/01/2024 }, arTriggerId: { type: integer, description: 'AR trigger ID', example: 1234567890 }, balanceDue: { type: number, format: float, description: 'Balance due amount', example: 1500 }, amount: { type: number, format: float, description: 'Transaction amount', example: 1500 }, amountPaid: { type: number, format: float, description: 'Amount paid', example: 0 }, scheduledChargeId: { type: integer, description: 'Scheduled charge ID', example: 1234567890 }, creditArTransactionIds: { type: string, description: 'Credit AR transaction IDs', example: '1,2,3' }, originalArTransactionId: { type: integer, description: 'Original AR transaction ID (for reversals)', example: 1234567890 }, reveseArTransactionId: { type: integer, description: 'Reverse AR transaction ID', example: 1234567890 }, arPaymentId: { type: integer, description: 'AR payment ID', example: 1234567890 } } } } } } } } } } } } } } } } } } } } } }, supplemental-id-schema: { type: object, properties: { Identification: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'type of identification', example: 'Ar Code ID or Post Month' }, IDValue: { type: string, description: 'Post Month (YYYY-MM-DD format) or Ar Code ID', example: '2024-03-01 or 1234567890' } } } } } } } }, charge-schema: { type: object, properties: { Detail: { type: object, properties: { Description: { type: string, description: 'Charge description', example: 'Monthly Rent' }, TransactionDate: { type: string, format: date, description: 'Transaction date (YYYY-MM-DD format)', example: '2024-03-01' }, ServiceToDate: { type: string, format: date, description: 'Service to date (YYYY-MM-DD format)', example: '2024-03-01' }, TransactionID: { type: integer, description: 'Transaction ID', example: 1234567890 }, LeaseIntervalID: { type: integer, description: 'Lease interval ID', example: 789 }, ChargeCode: { type: string, description: 'Charge code id', example: '2' }, BalanceDue: { type: string, description: 'Balance due', example: '1500.00' }, Amount: { type: string, description: 'Charge amount', example: '1500.00' }, AmountPaid: { type: string, description: 'Amount paid', example: '1500.00' }, ReversalTranID: { type: integer, description: 'Reversal transaction ID (if applicable)', example: 1234567890 }, SupplementalID: { $ref: '#/components/schemas/supplemental-id-schema' } } } } }, getMitsLeaseArTransactions-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [ResidentTransactions], properties: { ResidentTransactions: { type: object, required: [Property], properties: { Property: { type: object, properties: { PropertyID: { type: object, description: 'Property identification details', properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'type of identification', example: 'Property ID' } } }, IDValue: { type: integer, description: 'Property ID value', example: 1234 } } }, MarketingName: { type: string, description: 'Property marketing name/number', example: 'Property 1' } } }, CurrencyCode: { type: string, description: 'Currency code for the property', example: USD }, RT_Customer: { type: array, items: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'type of identification', example: 'Lease ID' } } }, IDValue: { type: integer, description: 'Lease ID', example: 100 } } }, Customers: { type: object, properties: { Customer: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, example: 'Customer ID' } } }, IDValue: { type: integer, description: 'Customer ID value', example: 2468 } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'Customer first name', example: John }, MiddleName: { type: string, description: 'Customer middle name', example: A }, LastName: { type: string, description: 'Customer last name', example: Doe }, MaidenName: { type: string, description: 'Customer maiden name', example: B }, NameSuffix: { type: string, description: 'Customer name suffix', example: C } } } } } } }, Unit: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'Unit ID type', example: 'Unit ID' } } }, IDValue: { type: integer, description: 'Unit ID value', example: 5678 } } }, MarketingName: { type: string, description: 'Unit marketing name/number', example: 101-A } } }, RTServiceTransactions: { type: object, properties: { Transactions: { type: array, items: { type: object, properties: { Payment: { type: object, properties: { '@attributes': { type: object, properties: { PaymentType: { type: string, enum: [ACH, CreditCard, Check, Cash, MoneyOrder, Other], description: 'MITS payment type (ACH, CreditCard, Check, Cash, MoneyOrder, Other)', example: ACH } } }, Detail: { type: object, properties: { Description: { type: string, description: 'Payment description', example: 'Rent Payment' }, TransactionID: { type: integer, description: 'Transaction ID', example: 1234567890 }, LeaseIntervalID: { type: integer, description: 'Lease interval ID', example: 789 }, DocumentNumber: { type: string, description: 'Document number', example: '1234567890' }, TransactionDate: { type: string, format: date, description: 'Transaction date (YYYY-MM-DD format)', example: '2024-03-01' }, Amount: { type: string, description: 'Payment amount', example: '1500.00' }, AmountPaid: { type: string, description: 'Amount paid', example: '1500.00' }, BalanceDue: { type: string, description: 'Balance due', example: '1500.00' }, SupplementalID: { $ref: '#/components/schemas/supplemental-id-schema' }, ReversalTranID: { type: integer, description: 'Reversal transaction ID (if applicable)', example: 1234567890 }, Charge: { type: array, description: 'Charge allocations', items: { type: object, description: 'Charge allocation details', properties: { ChargeAmount: { type: string, description: 'Charge amount', example: '1500.00' }, ChargeCode: { type: string, description: 'Charge code id', example: '2' }, '@attributes': { type: object, properties: { ChargeID: { type: integer, description: 'Charge ID', example: 1234567890 } } } } } } } } } }, Concession: { $ref: '#/components/schemas/charge-schema' }, Charge: { $ref: '#/components/schemas/charge-schema' } } } } } } } } } } } } } } } } } } }, sendLeaseArTransactions-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Transactions], properties: { Transactions: { type: object, required: [Transaction], properties: { Transaction: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { reference_id: { type: integer, description: 'Internal AR transaction ID (if successful, null if failed)', example: 12345 }, approval_request_id: { type: integer, description: 'Approval request ID (if using approval routing, null otherwise)', example: 12345 }, transaction_id: { type: string, description: 'The original transaction ID passed in the request', example: TXN-001 }, status: { type: string, enum: [Success, Failure], description: 'Transaction processing status', example: Success }, message: { type: string, description: 'Success message or error details', example: 'Lease AR-Transaction inserted successfully.' } } } } } } } } } } } } } }, sendLeaseArTransactionReversals-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Transactions], properties: { Transactions: { type: object, required: [Transaction], properties: { Transaction: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { reference_id: { type: integer, description: 'Original transaction ID that was being reversed', example: 12345 }, transaction_id: { type: integer, description: 'New reversal transaction ID (if successful, null if failed)', example: 54321 }, status: { type: string, enum: [success, fail], description: 'Transaction reversal processing status', example: success }, message: { type: string, description: 'Success message or detailed error information', example: 'Transaction reversed successfully.' } } } } } } } } } } } } } }, getMarketingPreferences-r1-request-schema: { description: 'Retrieves the current marketing preferences for one or more specified customers. This response shows which communications each customer has opted to receive or not receive.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMarketingPreferences], description: 'Method name to be called', example: getMarketingPreferences }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, customerIds, recipientTypeId], properties: { propertyId: { type: integer, description: 'Property ID to filter results', example: 1234 }, customerIds: { type: string, description: 'Comma separated customer IDs (limited to 100 customers)', example: '123,456,789' }, recipientTypeId: { type: integer, description: 'Recipient type ID (1 for LEAD, 2 for RESIDENT)', enum: [1, 2], example: 1 } }, description: 'Method parameters' } } } } }, getMarketingPreferencePickList-r1-request-schema: { description: 'Retrieves a list of available marketing and communication preferences. The list includes various communication channels and consent types for different recipients, like leads and residents.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getMarketingPreferencePickList], description: 'Method name to be called', example: getMarketingPreferencePickList }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters (no parameters required for this method)' } } } } }, getMarketingPreferences-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [customers], properties: { customers: { type: array, items: { type: object, required: [customerId, preferences], properties: { customerId: { type: integer, description: 'Customer ID', example: 123 }, preferences: { type: array, items: { type: object, required: [communicationChannel, recipientType, recipientTypeId, optIn], properties: { communicationChannel: { type: string, description: 'Communication channel type', enum: [email, phone, postal_mail, sms], example: email }, recipientType: { type: string, description: 'Recipient type', enum: [LEAD, RESIDENT], example: LEAD }, recipientTypeId: { type: integer, description: 'Recipient type ID', enum: [1, 2], example: 1 }, consentType: { type: string, description: 'Consent type name (optional, only for email and SMS)', example: Marketing }, consentTypeId: { type: integer, description: 'Consent type ID (optional, only for email and SMS)', example: 5 }, optIn: { type: string, description: 'Opt-in status (0 for false, 1 for true)', enum: ['0', '1'], example: '1' } } } } } }, description: 'Array of customers with their marketing preferences' } } } } } } }, getMarketingPreferencePickList-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [preferences], properties: { preferences: { type: array, items: { type: object, required: [communicationChannel, recipientType, recipientTypeId], properties: { communicationChannel: { type: string, description: 'Communication channel type', enum: [email, phone, postal_mail, sms], example: email }, recipientType: { type: string, description: 'Recipient type', enum: [LEAD, RESIDENT], example: LEAD }, recipientTypeId: { type: integer, description: 'Recipient type ID', enum: [1, 2], example: 1 }, consentType: { type: string, description: 'Consent type name (optional, only for email and SMS channels)', example: Marketing }, consentTypeId: { type: integer, description: 'Consent type ID (optional, only for email and SMS channels)', example: 5 } } }, description: 'Array of available marketing preference options' }, availabilityAlertFrequencies: { type: array, items: { type: object, required: [frequencyId, frequencyName], properties: { frequencyId: { type: integer, description: 'Frequency ID for availability alerts', example: 1 }, frequencyName: { type: string, description: 'Frequency name for availability alerts', example: Daily } } }, description: 'Array of available alert frequency options (optional)' } } } } } } }, getCustomers-r1-request-schema: { description: 'Retrieves detailed profiles for specific customers based on search criteria like property or lease status. The response includes comprehensive information such as contact details, addresses, and vehicle information for each customer found.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCustomers], description: 'Method name to be called', example: getCustomers }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to filter customers', example: 12345 }, leaseStatusTypeIds: { type: string, description: 'Comma separated lease status type IDs to filter customers, allowed range is 1 to 6. If not provided, returns CURRENT and NOTICE customers.', example: '1,2,3' }, customerIds: { type: string, description: 'Comma separated customer IDs to filter specific customers', example: '1001,1002,1003' }, isAgreedToTermsOnly: { type: integer, description: 'Filter customers who agreed to terms only (0 for false, 1 for true)', enum: [0, 1], example: 1 }, companyIdentificationTypeIds: { type: string, description: 'Comma separated company identification type IDs', example: '1,2' } }, description: 'Method parameters' } } } } }, getCustomerTestimonials-r1-request-schema: { description: 'Retrieves customer testimonials for a property, allowing you to filter them by approval status and submission date. The response includes the full review, author details, and a breakdown of ratings across various categories like staff and maintenance.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCustomerTestimonials], description: 'Method name to be called', example: getCustomerTestimonials }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyId: { type: integer, description: 'Property ID to filter testimonials', example: 12345 }, fromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Start date to filter testimonials in MM/DD/YYYY format', example: 01/01/2024 }, toDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'End date to filter testimonials in MM/DD/YYYY format', example: 12/31/2024 }, isApproved: { type: integer, description: 'Filter by approval status (0 for false, 1 for true)', enum: [0, 1], example: 1 } }, description: 'Method parameters' } } } } }, getTestimonialPickLists-r1-request-schema: { description: 'Retrieves the lists of selectable options used for categorizing customer testimonials. It provides the available testimonial sources, such as Google or Yelp, and the different categories that can be rated.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getTestimonialPickLists], description: 'Method name to be called', example: getTestimonialPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters (no parameters required for this method)' } } } } }, searchCustomers-r1-request-schema: { description: 'Searches for customers within a specific property using a keyword, such as a name or building. The API returns a summarized list of customers that match the search term.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [searchCustomers], description: 'Method name to be called', example: searchCustomers }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, search], properties: { propertyId: { type: integer, description: 'Property ID to search customers within', example: 12345 }, search: { type: string, description: 'Search term to find customers by name or phone number or building name or unit number.', example: 'John Doe' } }, description: 'Method parameters' } } } } }, sendCustomerTestimonials-r1-request-schema: { description: 'Submits one or more new customer testimonials, including the review text, ratings, and author details. The API processes the submission and returns a confirmation message with a unique ID for the newly created testimonial.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendCustomerTestimonials], description: 'Method name to be called', example: sendCustomerTestimonials }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [PropertyId, Testimonials], properties: { PropertyId: { type: integer, description: 'Property ID where testimonials will be added', example: 12345 }, Testimonials: { type: object, required: [Testimonial], properties: { Testimonial: { type: array, items: { type: object, required: [TestimonialTypeId], properties: { CustomerId: { type: integer, description: 'Customer ID (optional)', example: 98765 }, TestimonialTypeId: { type: integer, description: 'Type of testimonial (required), Allowed values are 1 = Resident testimonial, 2 = Employee testimonial, 3 = Client testimonial, 4 = Vacancy, 5 = Apartment Ratings.com, 6 = Yelp.com, 7 = Atlanta.citysearch.com', example: 1 }, Name: { type: string, description: 'Reviewer name', example: 'John Doe' }, Title: { type: string, description: 'Testimonial title', example: 'Great Experience' }, Review: { type: string, description: 'Testimonial review text', example: 'I had a wonderful experience living here.' }, TestimonialDatetime: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4} ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$', description: 'Testimonial date and time in mm/dd/yyyy HH:mm:ss format', example: '12/15/2023 14:30:00' }, Email: { type: string, format: email, description: 'Reviewer email address, required if CustomerId is not provided.', example: john.doe@example.com }, IpAddress: { type: string, description: 'IP address of reviewer', example: 192.168.1.1 }, RecommendToFriend: { type: integer, enum: [0, 1], description: 'Would recommend to friend (0 = no, 1 = yes)', example: 1 }, PropertyResponse: { type: string, description: 'Property management response to testimonial', example: 'Thank you for your feedback!' }, AutoApproveForProspectPortal: { type: integer, enum: [0, 1], description: 'Auto approve for prospect portal (0 = no, 1 = yes)', example: 1 }, AutoApproveForVacancy: { type: integer, enum: [0, 1], description: 'Auto approve for vacancy listings (0 = no, 1 = yes)', example: 1 }, AuthorizeToShowOnCorporateSites: { type: integer, enum: [0, 1], description: 'Authorize to show on corporate sites (0 = no, 1 = yes)', example: 0 }, TransmissionVendorId: { type: integer, description: 'Transmission vendor ID, allowed values are 1 = Yelp, 2 = Atlanta.citysearch.com, 3 = Apartment Ratings.com, 4 = Vacancy, 5 = Prospect Portal, 6 = Corporate Sites', example: 1234 }, TestimonialRatings: { type: object, properties: { TestimonialRating: { type: array, items: { type: object, required: [RatingTypeId, Rating], properties: { RatingTypeId: { type: integer, description: 'Rating category type ID', example: 1 }, Rating: { type: integer, description: 'Rating value', example: 5 } } } } } } } } } } } } } } } } }, updateCustomers-r1-request-schema: { description: 'Updates the profile information for one or more customers. This allows you to modify details like names, addresses, and phone numbers for multiple customers in a single transaction.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateCustomers], description: 'Method name to be called', example: updateCustomers }, version: { type: string, enum: [r1], example: r1, description: 'API version' }, params: { type: object, required: [customers], properties: { customers: { type: object, required: [customer], properties: { customer: { type: array, items: { type: object, required: [id], properties: { id: { type: integer, description: 'Customer ID (required)', example: 12345 }, firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe }, namePrefix: { type: string, description: 'Name prefix (Mr., Mrs., etc.)', example: Mr. }, middleName: { type: string, description: 'Middle name', example: Michael }, maidenName: { type: string, description: 'Maiden name', example: Smith }, nameSuffix: { type: string, description: 'Name suffix (Jr., Sr., etc.)', example: Jr. }, email: { type: string, format: email, description: 'Email address (cannot update if customer has login credentials)', example: john.doe@example.com }, birthDate: { type: string, format: date, description: 'Birth date in YYYY-MM-DD format', example: '1990-01-01' }, taxNumberTypeId: { type: integer, description: 'Tax number type ID', example: 1 }, taxNumber: { type: string, description: 'Tax identification number', example: 123-45-6789 }, phoneNumbers: { type: object, properties: { phoneNumber: { type: array, items: { type: object, properties: { phoneNumberTypeId: { type: integer, description: 'Phone number type ID', example: 1 }, phoneNumber: { type: string, description: 'Phone number (numeric only)', example: '5551234567' }, isPrimary: { type: integer, enum: [0, 1], description: 'Is primary phone number (0 = no, 1 = yes). Only one primary allowed per customer.', example: 1 } } } } } }, addresses: { type: object, properties: { address: { type: array, items: { type: object, properties: { addressTypeId: { type: integer, description: 'Address type ID', example: 1 }, streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Apt 4B' }, streetLine3: { type: string, description: 'Street address line 3', example: '' }, city: { type: string, description: 'City name', example: 'New York' }, state: { type: string, description: 'State name or code', example: NY }, country: { type: string, description: 'Country name or code', example: US }, postalCode: { type: string, description: 'Postal/ZIP code', example: '10001' } } } } } }, companyIdentificationValues: { type: object, properties: { companyIdentificationValue: { type: array, items: { type: object, properties: { companyIdentificationTypeId: { type: integer, description: 'Company identification type ID', example: 1 }, identificationValue: { type: string, description: 'Identification value', example: DL123456789 }, idExpirationDate: { type: string, format: date, description: 'ID expiration date in YYYY-MM-DD format', example: '2025-01-01' }, countryCode: { type: string, description: 'Country code', example: US }, stateCode: { type: string, description: 'State code', example: NY } } } } } } } } } } } } } } } } }, updateCustomerTestimonials-r1-request-schema: { description: 'Publishes or unpublishes a specific customer testimonial. This API allows you to change the visibility of a testimonial by marking it as active or inactive.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateCustomerTestimonials], description: 'Method name to be called', example: updateCustomerTestimonials }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, transmissionVendorId, isPublished], properties: { propertyId: { type: integer, description: 'Property ID where testimonials are managed', example: 12345 }, transmissionVendorId: { type: integer, description: 'Transmission vendor ID, allowed values are 1 = Yelp, 2 = Atlanta.citysearch.com, 3 = Apartment Ratings.com, 4 = Vacancy, 5 = Prospect Portal, 6 = Corporate Sites', example: 1 }, testimonialId: { type: integer, description: 'Testimonial ID to update (optional)', example: 98765 }, isPublished: { type: integer, enum: [0, 1], description: 'Whether to publish testimonial (0 = unpublish, 1 = publish)', example: 1 } } } } } } }, updatePropertyResponse-r1-request-schema: { description: "Adds or updates a property's response to a specific customer testimonial. This allows a user to post a public reply to a review and set its publication status.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updatePropertyResponse], description: 'Method name to be called', example: updatePropertyResponse }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, testimonialId, reviewResponse], properties: { propertyId: { type: integer, description: 'Property ID where the testimonial exists', example: 12345 }, testimonialId: { type: integer, description: 'Testimonial ID to respond to', example: 98765 }, reviewResponse: { type: string, description: 'Property management response to the testimonial', example: "Thank you for your feedback! We're glad you enjoyed your stay with us." }, isPublish: { type: integer, enum: [0, 1], description: 'Whether to publish the response (0 = no, 1 = yes). Optional parameter.', example: 1 } } } } } } }, getCustomers-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Customers], properties: { Customers: { type: object, properties: { Customer: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Customer ID', example: 12345 }, ExternalId: { type: string, description: 'External customer identifier', example: EXT-001 } } }, LeaseId: { type: object, properties: { Identification: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'Type of identification', example: 'Lease Id' }, IDRank: { type: string, description: 'Rank of identification', example: primary }, IDScopeType: { type: string, description: 'Scope type of identification', example: sender }, Status: { type: string, description: 'Lease status', example: Current } } }, IDValue: { type: integer, description: 'Lease ID value', example: 67890 } } } }, MoveOutDate: { type: array, items: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Move out date in MM/DD/YYYY format', example: 01/01/2025 } }, CustomerType: { type: array, items: { type: string, description: 'Customer type (Primary, Occupant, Minor, etc.)', example: Occupant } } } }, NamePrefix: { type: string, description: 'Name prefix (Mr., Mrs., etc.)', example: Mr. }, FirstName: { type: string, description: 'Customer first name', example: John }, MiddleName: { type: string, description: 'Customer middle name', example: Doe }, LastName: { type: string, description: 'Customer last name', example: Doe }, NameSuffix: { type: string, description: 'Name suffix (Jr., Sr., etc.)', example: Jr. }, MaidenName: { type: string, description: 'Maiden name', example: Doe }, UnitNumber: { type: string, description: 'Unit number', example: '101' }, BuildingName: { type: string, description: 'Building name', example: 'Building 1' }, Address: { type: string, description: 'Primary address', example: '123 Main St' }, City: { type: string, description: City, example: Anytown }, State: { type: string, description: 'State code', example: CA }, PostalCode: { type: string, description: 'Postal code', example: '12345' }, Email: { type: string, format: email, description: 'Primary email address', example: john.doe@example.com }, additionalEmail: { type: string, format: email, description: 'Additional email address', example: john.doe@example.com }, PhoneNumber: { type: string, description: 'Primary phone number with country code', example: 555-123-4567 }, MobileNumber: { type: string, description: 'Mobile phone number with country code', example: 555-123-4567 }, TermsApprovedDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Date when terms were approved in MM/DD/YYYY format', example: 01/01/2025 }, ExternalId: { type: string, description: 'External ID for integrated systems', example: EXT-001 }, PmsId: { type: integer, description: 'PMS ID for integrated systems', example: 12345 }, CustomerAddresses: { type: object, properties: { CustomerAddress: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: Primary } } }, Address: { type: string, description: 'Street address', example: '123 Main St' }, City: { type: string, description: City, example: Anytown }, State: { type: string, description: 'State code', example: CA }, PostalCode: { type: string, description: 'Postal code', example: '12345' }, Country: { type: string, description: 'Country code', example: US } } } } } }, pointsEarned: { type: number, description: 'Points earned by customer', example: 100 }, gender: { type: string, description: 'Customer gender', enum: [Male, Female], example: Male }, EmploymentDetails: { type: object, properties: { EmploymentDetail: { type: array, items: { type: object, properties: { Id: { type: integer, description: 'Employment detail ID', example: 1 }, Company: { type: string, description: 'Company name', example: 'Tech Corp' }, CompanyAddress: { type: string, description: 'Company full address with street, city, state, postal code and country code', example: '123 Main St, Anytown, CA, 12345, US' }, Position: { type: string, description: 'Job position', example: 'Software Engineer' }, Salary: { type: string, description: 'Formatted salary amount', example: '$75,000.00' }, StartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Employment start date in MM/DD/YYYY format', example: 01/01/2025 }, EndDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Employment end date in MM/DD/YYYY format', example: 01/01/2025 }, Supervisor: { type: string, description: 'Supervisor name', example: 'John Doe' }, SupervisorPhone: { type: string, description: 'Supervisor phone number without country code', example: 555-123-4567 } } } } } }, Vehicles: { type: object, properties: { Vehicle: { type: array, items: { type: object, properties: { Id: { type: integer, description: 'Vehicle ID', example: 1 }, Model: { type: string, description: 'Vehicle model', example: Camry }, Color: { type: string, description: 'Vehicle color', example: Blue }, Make: { type: string, description: 'Vehicle make', example: Toyota }, LicensePlateNumber: { type: string, description: 'License plate number', example: ABC123 }, StateCode: { type: string, description: 'State code for license plate', example: CA }, Year: { type: integer, description: 'Vehicle year', example: 2020 } } } } } }, CustomerIdentificationValues: { type: object, properties: { CustomerIdentificationValue: { type: array, items: { type: object, properties: { Id: { type: integer, description: 'Identification value ID', example: 1 }, Value: { type: string, description: 'Identification number', example: '1234567890' }, CompanyIdentificationTypeId: { type: integer, description: 'Company identification type ID', example: 1 } } } } } } } } } } } } } } } } }, ratings-schema: { type: object, properties: { LastThreeMonths: { type: string, description: 'Average rating for last three months', example: '4.50' }, LastSixMonths: { type: string, description: 'Average rating for last six months', example: '4.25' }, LastYear: { type: string, description: 'Average rating for last year', example: '4.30' }, AllTime: { type: string, description: 'All time average rating', example: '4.35' } } }, getCustomerTestimonials-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [CompanyAverageRating, PropertyAverageRating, Testimonials], properties: { CompanyAverageRating: { $ref: '#/components/schemas/ratings-schema' }, PropertyAverageRating: { $ref: '#/components/schemas/ratings-schema' }, Testimonials: { type: object, properties: { Testimonial: { type: array, items: { type: object, properties: { Id: { type: integer, description: 'Testimonial ID', example: 12345 }, Name: { type: string, description: 'Testimonial author name', example: 'John Doe' }, Title: { type: string, description: 'Testimonial title', example: 'Great Experience' }, Testimonial: { type: string, description: 'Testimonial text content', example: 'I had a wonderful experience living here.' }, PropertyId: { type: integer, description: 'Property ID', example: 12345 }, PropertyName: { type: string, description: 'Property name', example: 'Sunset Apartments' }, EmailAddress: { type: string, format: email, description: 'Author email address', example: john.doe@example.com }, TestimonialDatetime: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date and time when testimonial was created in MM/DD/YYYY HH:MM:SS format with timezone', example: '01/15/2024 10:30:00 MST' }, IpAddress: { type: string, description: 'IP address of testimonial author', example: 192.168.1.1 }, PropertyResponse: { type: string, description: 'Property management response to testimonial', example: 'Thank you for your feedback!' }, TestimonialType: { type: string, description: 'Type of testimonial', example: Resident }, IsRecommended: { type: string, enum: ['1', '0'], description: 'Whether the author recommends the property', example: '1' }, ResidentApprovedOn: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date when resident approved testimonial in MM/DD/YYYY HH:MM:SS format with timezone', example: '01/15/2024 10:30:00 MST' }, ShowUntil: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date until which testimonial should be shown in MM/DD/YYYY HH:MM:SS format with timezone', example: '12/31/2024 10:30:00 MST' }, FromDescription: { type: string, description: 'Description of testimonial source', example: 'Resident Portal' }, ShowOnCorporateSites: { type: string, enum: ['1', '0'], description: 'Whether to show on corporate sites', example: '1' }, VacancyPublished: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date when published on vacancy site in MM/DD/YYYY HH:MM:SS format with timezone', example: '01/15/2024 10:30:00 MST' }, ProspectPortalPublished: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date when published on prospect portal in MM/DD/YYYY HH:MM:SS format with timezone', example: '01/15/2024 10:30:00 MST' }, FirstName: { type: string, description: 'Author first name', example: John }, LastName: { type: string, description: 'Author last name', example: Doe }, Source: { type: string, description: 'Source system name', example: 'Resident Portal' }, TestimonialRatings: { type: object, properties: { TestimonialRating: { type: array, items: { type: object, properties: { Type: { type: string, description: 'Rating category type', example: Overall }, Rating: { type: string, description: 'Rating value', example: '5' } } } } } } } } } } } } } } } } }, getTestimonialPickLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { TestimonialTypes: { type: object, properties: { TestimonialType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Testimonial type ID', example: 1 }, Name: { type: string, description: 'Testimonial type name', example: 'Modern Message' } } } } } } } }, TestimonialRatingTypes: { type: object, properties: { TestimonialRatingType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Testimonial rating type ID', example: 1 }, Name: { type: string, description: 'Testimonial rating type name', example: Overall } } } } } } } } } } } } } }, searchCustomers-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [customers], properties: { customers: { type: object, properties: { customer: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer ID', example: 12345 }, namePrefix: { type: string, description: 'Name prefix (Mr., Mrs., etc.)', example: Mr. }, firstName: { type: string, description: 'Customer first name', example: John }, middleName: { type: string, description: 'Customer middle name', example: Michael }, lastName: { type: string, description: 'Customer last name', example: Doe }, nameSuffix: { type: string, description: 'Name suffix (Jr., Sr., etc.)', example: Jr. }, maidenName: { type: string, description: 'Maiden name', example: Smith }, email: { type: string, format: email, description: 'Customer email address', example: john.doe@example.com }, unitNumber: { type: string, description: 'Unit number', example: '101' }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, address: { type: string, description: 'Full street address', example: '123 Main St' }, city: { type: string, description: City, example: Anytown }, state: { type: string, description: 'State code', example: CA }, postalCode: { type: string, description: 'Postal code', example: '12345' } } } } } } } } } } } }, sendCustomerTestimonials-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Testimonials], properties: { Testimonials: { type: object, required: [Testimonial], properties: { Testimonial: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { node: { type: integer, description: 'Node number in processing order', example: 1 }, reference_id: { type: string, description: 'Reference ID of created testimonial (empty on failure)', example: '12345' }, status: { type: string, enum: [Success, Failure], description: 'Processing status', example: Success }, message: { type: string, description: 'Status message', example: 'Testimonial inserted successfully.' } } } } } } } } } } } } } }, updateCustomers-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [customers], properties: { customers: { type: object, required: [customer], properties: { customer: { type: array, items: { type: object, properties: { node: { type: integer, description: 'Node number in processing order', example: 1 }, referenceId: { type: string, description: 'Customer ID (empty on failure)', example: '12345' }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Status message (may include warnings)', example: 'Customer updated successfully.' } } } } } } } } } } } }, updateCustomerTestimonials-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Testimonials], properties: { Testimonials: { type: object, required: [Testimonial], properties: { Testimonial: { type: object, properties: { '@attributes': { type: object, properties: { status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Status message', example: 'Testimonial updated successfully.' } } } } } } } } } } } } }, updatePropertyResponse-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [testimonials], properties: { testimonials: { type: object, required: [testimonial], properties: { testimonial: { type: object, properties: { testimonialId: { type: integer, description: 'The testimonial ID that was updated', example: 98765 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Status message with details', example: 'Testimonial response updated successfully.' } } } } } } } } } } }, getApCodes-r1-request-schema: { description: 'Retrieves a list of Accounts Payable (AP) codes. The results can be filtered by General Ledger (GL) account IDs and AP code type IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getApCodes], description: 'Method name to be called', example: getApCodes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { glAccountIds: { type: string, description: 'Comma-separated list of GL Account IDs to filter AP codes', example: '1,2,3' }, apCodeTypeIds: { type: string, description: 'Comma-separated list of AP Code Type IDs to filter results. Currently only JOB COST [3] is supported.', example: '3' } }, description: 'Method parameters' } } } } }, getBankAccounts-r2-request-schema: { description: 'Retrieves a list of bank accounts and their associated properties. The results can be filtered by account type and whether or not the account is a credit card.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getBankAccounts], description: 'Method name to be called', example: getBankAccounts }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, properties: { bankAccountTypeId: { type: integer, enum: [1, 2, 3], description: 'Bank Account Type ID filter. Supported types - INTER_COMPANY [3], SHARED[2], SINGLE_PROPERTY [1]', example: 1 }, isCreditCardAccount: { type: integer, description: 'Filter for credit card accounts (1 for true, 0 for false)', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getBudgetActuals-r1-request-schema: { type: object, description: 'Retrieves a financial report that compares budgeted amounts to actual performance for specific accounts. The report provides a detailed breakdown of month-to-date and year-to-date variances, which can be filtered by property, date range, and accounting method.', required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getBudgetActuals], description: 'Method name to be called', example: getBudgetActuals }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, glTreeId, budgetId, postMonthFrom, postMonthTo], properties: { propertyId: { type: integer, description: 'Property ID for which to retrieve budget actuals', example: 12345 }, glTreeId: { type: integer, description: 'GL Tree ID to filter the budget actuals', example: 789 }, budgetId: { type: integer, description: 'Budget ID to retrieve actuals for', example: 456 }, postMonthFrom: { type: string, pattern: '^(0[1-9]|1[0-2])\/\d{4}$', description: 'Start post month in MM/YYYY format', example: 01/2024 }, postMonthTo: { type: string, pattern: '^(0[1-9]|1[0-2])\/\d{4}$', description: 'End post month in MM/YYYY format', example: 12/2024 }, accountingMethod: { type: string, enum: [cash, accrual], description: "Accounting method to use (defaults to 'cash')", example: cash }, glBookTypeIds: { type: string, description: 'Comma-separated list of GL Book Type IDs', example: '1,2,3' }, budgetStatusTypeId: { type: integer, description: 'Budget Status Type ID filter', example: 1 } }, description: 'Method parameters' } } } } }, getBudgets-r1-request-schema: { description: 'Retrieves detailed budget information for one or more properties. The data includes a monthly breakdown of budgeted amounts for each General Ledger (GL) account and can be filtered by property, fiscal year, or budget status.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getBudgets], description: 'Method name to be called', example: getBudgets }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'Comma-separated list of Property IDs to retrieve budgets for', example: '12345,67890' }, budgetStatusTypeIds: { type: string, description: 'Comma-separated list of Budget Status Type IDs to filter results', example: '1,2,3' }, budgetIds: { type: string, description: 'Comma-separated list of specific Budget IDs to retrieve', example: '100,200,300' }, fiscalYears: { type: string, description: 'Comma-separated list of fiscal years (4 years back to 5 years forward from current year)', example: '2023,2024,2025' } }, description: 'Method parameters' } } } } }, getFinancialPickList-r1-request-schema: { description: 'Retrieves a comprehensive set of predefined options and their corresponding IDs for various financial categories. These lists are typically used to populate dropdown selection menus in a user interface.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getFinancialPickList], description: 'Method name to be called', example: getFinancialPickList }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyId: { type: integer, description: 'Property ID to filter budgets (optional)', example: 12345 } }, description: 'Method parameters' } } } } }, getFinancialPickList-r2-request-schema: { description: 'Retrieves a wide range of predefined lists for financial data and entities. Each list contains names and their corresponding IDs, which are used to populate selection menus for categories like account types, owners, and transaction types.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getFinancialPickList], description: 'Method name to be called', example: getFinancialPickList }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, description: 'Method parameters' } } } } }, getGlTransactions-r1-request-schema: { description: 'Retrieves a detailed list of General Ledger (GL) transactions for specified accounts and properties. It provides both summary totals and individual line-item details, with extensive filtering options for date ranges and transaction types.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getGlTransactions], description: 'Method name to be called', example: getGlTransactions }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'Comma-separated list of property IDs to filter results', example: '1234,5678' }, glBookTypeIds: { type: string, description: 'Comma-separated list of GL book type IDs', example: '1,2,3' }, glAccountFrom: { type: string, description: 'Starting GL account number for range filtering', example: '1000' }, glAccountTo: { type: string, description: 'Ending GL account number for range filtering', example: '9999' }, glTreeId: { type: integer, description: 'GL tree ID to filter by', example: 1 }, postDateFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Starting post date in mm/dd/yyyy format', example: 01/01/2024 }, postDateTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Ending post date in mm/dd/yyyy format', example: 12/31/2024 }, transactionDateFrom: { type: string, format: date, description: 'Starting transaction date in YYYY-MM-DD format', example: '2024-01-01' }, transactionDateTo: { type: string, description: 'Ending transaction date in YYYY-MM-DD format', example: '2024-12-31' }, lastUpdatedOnFromDate: { type: string, format: date, description: 'Starting last updated date in YYYY-MM-DD format', example: '2024-01-01' }, lastUpdatedOnToDate: { type: string, format: date, description: 'Ending last updated date in YYYY-MM-DD format', example: '2024-12-31' }, postMonthFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', description: 'Starting post month in MM/YYYY format', example: 01/2024 }, postMonthTo: { type: string, pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', description: 'Ending post month in MM/YYYY format', example: 12/2024 }, isCashBook: { type: integer, description: 'Whether to use cash book basis (0 for false, 1 for true)', enum: [0, 1], example: 0 }, isDetailed: { type: integer, description: 'Whether to include detailed GL transactions (0 for false, 1 for true)', enum: [0, 1], example: 1 }, excludeApTransactions: { type: integer, description: 'Whether to exclude AP transactions (0 for false, 1 for true)', enum: [0, 1], example: 0 }, excludeExportedTransactions: { type: integer, description: 'Whether to exclude exported transactions (0 for false, 1 for true)', enum: [0, 1], example: 0 }, excludeArTransactions: { type: integer, description: 'Whether to exclude AR transactions (0 for false, 1 for true)', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getGlTrees-r1-request-schema: { description: "Retrieves the structure of a General Ledger (GL) Tree, which represents a hierarchical chart of accounts. The response includes the tree's main branches (groups) and a detailed list of the GL accounts, which can be filtered by property or account number.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getGlTrees], description: 'Method name to be called', example: getGlTrees }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyId: { type: integer, description: 'Property ID to filter GL trees', example: 1234 }, glTreeId: { type: integer, description: 'GL tree ID to filter specific tree', example: 101 }, glBranchId: { type: integer, description: 'GL branch/group ID to filter branches', example: 201 }, glGroupTypeId: { type: integer, description: 'GL group type ID to filter account types', example: 301 }, glTreeTypeId: { type: integer, description: 'GL tree type ID (defaults to standard [1] if not provided)', example: 1 }, accountNumbers: { type: string, description: 'Comma-separated list of account numbers to filter', example: '1010,1020,1030' } }, description: 'Method parameters' } } } } }, getGlTrees-r2-request-schema: { description: "Retrieves the structure of one or more General Ledger (GL) Trees, which represent a company's chart of accounts. The data includes the tree's branches, the detailed GL accounts, and an indicator to identify the master tree.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getGlTrees], description: 'Method name to be called', example: getGlTrees }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, properties: { glTreeId: { type: integer, description: 'GL Tree ID to filter results', example: 123 }, glBranchId: { type: integer, description: 'GL Branch ID to filter results', example: 456 }, glGroupTypeId: { type: integer, description: 'GL Group Type ID to filter results', example: 789 }, glTreeTypeId: { type: integer, description: 'GL Tree Type ID to filter results, defaults to standard [1] if not provided', example: 1 }, accountNumbers: { type: string, description: 'Comma separated list of account numbers to filter results', example: '1000,2000,3000' } }, description: 'Method parameters' } } } } }, getJobCategories-r1-request-schema: { description: 'Retrieves a list of job categories used for project accounting. The results can be filtered to show only categories associated with specific General Ledger (GL) accounts.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getJobCategories], description: 'Method name to be called', example: getJobCategories }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { glAccountIds: { type: string, description: 'Comma-separated list of GL Account IDs to filter job categories', example: '1,2,3' } }, description: 'Method parameters' } } } } }, getJobCostBudgets-r1-request-schema: { description: 'Retrieves detailed budget information for specific jobs or projects. The data provides a hierarchical breakdown of the budget by phase and cost code, including a month-by-month budget for each line item.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getJobCostBudgets], description: 'Method name to be called', example: getJobCostBudgets }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'Comma-separated list of Property IDs (required)', example: '1001,1002,1003' }, jobIds: { type: string, description: 'Comma-separated list of Job IDs to filter results', example: '501,502,503' }, jobStatusIds: { type: string, description: 'Comma-separated list of Job Status IDs to filter result', example: '1,2,3' }, apCodeIds: { type: string, description: 'Comma-separated list of AP Code IDs to filter results', example: '101,102,103' }, jobPhaseId: { type: integer, description: 'Job Phase ID to filter results', example: 5 } }, description: 'Method parameters' } } } } }, getJobs-r1-request-schema: { description: "Retrieves a detailed list of jobs or projects, which can be filtered by property, category, or status. Each job's data includes its phases, budget totals, and a full breakdown of any associated contracts.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getJobs], description: 'Method name to be called', example: getJobs }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID (required)', example: 1001 }, jobCategoryIds: { type: string, description: 'Comma-separated list of Job Category IDs to filter results', example: '1,2,3' }, jobStatusIds: { type: string, description: 'Comma-separated list of Job Status IDs to filter results', example: '1,2,3' } }, description: 'Method parameters' } } } } }, getTransactionTagLists-r1-request-schema: { description: 'Retrieves lists of tags that can be applied to financial transactions. It returns two distinct types - custom tags for general categorization and routing tags for workflows.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getTransactionTagLists], description: 'Method name to be called', example: getTransactionTagLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { }, description: 'Method parameters (none required)' } } } } }, markGlTransactionsExported-r1-request-schema: { description: 'Marks one or more General Ledger (GL) transactions as exported. This is used to flag specific transactions that have been processed and sent to an external system.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [markGlTransactionsExported], description: 'Method name to be called', example: markGlTransactionsExported }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [glDetails], properties: { glDetails: { type: object, required: [glDetailId], properties: { glDetailId: { type: array, description: 'Array of GL Detail IDs to mark as exported', items: { type: integer }, example: [1001, 1002, 1003] } } } }, description: 'Method parameters' } } } } }, sendBudgets-r1-request-schema: { description: 'Creates one or more new budgets for a specific property. Each budget requires a detailed breakdown of monthly amounts for every associated General Ledger (GL) account.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendBudgets], description: 'Method name to be called', example: sendBudgets }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, budgets], properties: { propertyId: { type: integer, description: 'Property ID for which budgets are being created', example: 1001 }, budgets: { type: object, required: [budget], properties: { budget: { type: array, description: 'Array of budget objects to create', items: { type: object, required: [budgetName, fiscalYear, fiscalStartMonth, fiscalEndMonth, glAccounts], properties: { budgetName: { type: string, description: 'Name of the budget', example: '2024 Operating Budget' }, fiscalYear: { type: integer, description: 'Fiscal year for the budget (within allowed range of 4 years back to 5 years forward from current year)', example: 2024 }, fiscalStartMonth: { type: string, description: 'Fiscal start month in MM/YYYY format', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 01/2024 }, fiscalEndMonth: { type: string, description: 'Fiscal end month in MM/YYYY format', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 12/2024 }, glAccounts: { type: object, required: [glAccount], properties: { glAccount: { type: array, description: 'Array of GL accounts with budget amounts', items: { type: object, required: [id, budgetMonths], properties: { id: { type: integer, description: 'GL Account ID', example: 4001 }, budgetMonths: { type: array, description: 'Array of monthly budget amounts', items: { type: object, required: [budgetMonth, amount], properties: { budgetMonth: { type: string, description: 'Budget month in MM/YYYY format', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 01/2024 }, amount: { type: number, description: 'Budget amount for the month (max 13 digits before decimal)', example: 15000.5 } } } } } } } } } } } } } } }, description: 'Method parameters' } } } } }, sendJournalEntries-r1-request-schema: { description: 'Posts one or more new General Ledger (GL) journal entries. Each entry requires a header with reference information and multiple detail lines with balanced debit and credit amounts.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendJournalEntries], description: 'Method name to be called', example: sendJournalEntries }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [glHeaders], properties: { glHeaders: { type: object, required: [glHeader], properties: { glHeader: { type: array, description: 'Array of GL header objects (journal entries)', items: { type: object, required: [propertyId, glBookId, glDetails], properties: { propertyId: { type: integer, description: 'Property ID for the journal entry', example: 1001 }, defaultPropertyBuildingId: { type: integer, description: 'Default property building ID (optional)', example: 2001 }, defaultPropertyUnitId: { type: integer, description: 'Default property unit ID (optional)', example: 3001 }, defaultJobPhaseId: { type: integer, description: 'Default job phase ID (optional)', example: 4001 }, defaultApContractId: { type: integer, description: 'Default AP contract ID (required if defaultJobPhaseId provided)', example: 5001 }, glHeaderTypeId: { type: integer, description: 'GL header type ID (optional, defaults to STANDARD)', example: 1 }, reference: { type: string, description: 'Reference text for the journal entry (optional)', example: 'Monthly accrual entry' }, accountingMethod: { type: string, description: 'Accounting method (optional)', enum: [cash, accrual], example: accrual }, glBookId: { type: integer, description: 'GL book ID (required)', example: 1 }, postDate: { type: string, description: 'Post date in YYYY-MM-DD(optional, defaults to current date)', format: date, example: '2024-01-15' }, postMonth: { type: string, description: 'Post month in MM/YYYY format (optional)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 01/2024 }, isReverse: { type: integer, description: 'Whether this is a reversing entry (0 for false, 1 for true)', enum: [0, 1], example: 0 }, reversePostMonth: { type: string, description: 'Reverse post month in MM/YYYY format (required if isReverse is 1)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 02/2024 }, routingTagId: { type: integer, description: 'Routing tag ID (optional)', example: 101 }, notes: { type: string, description: 'Notes for the journal entry (optional)', example: 'Monthly depreciation entry' }, defaultGlDimensionId: { type: integer, description: 'Default GL dimension ID (optional)', example: 201 }, glDetails: { type: object, required: [glDetail], properties: { glDetail: { type: array, description: 'Array of GL detail line items', items: { type: object, properties: { memo: { type: string, description: 'Memo for this detail line (optional)', example: 'Depreciation expense allocation' }, debitAmount: { type: number, description: 'Debit amount (cannot be used with creditAmount)', example: 1500 }, creditAmount: { type: number, description: 'Credit amount (cannot be used with debitAmount)', example: 1500 }, propertyId: { type: integer, description: 'Property ID for this detail line (overrides header level)', example: 1002 }, propertyBuildingId: { type: integer, description: 'Property building ID for this detail line (optional)', example: 2002 }, propertyUnitId: { type: integer, description: 'Property unit ID for this detail line (optional)', example: 3002 }, glAccountId: { type: integer, description: 'GL account ID for this detail line (required)', example: 6001 }, jobPhaseId: { type: integer, description: 'Job phase ID for this detail line (optional)', example: 4002 }, apContractId: { type: integer, description: 'AP contract ID for this detail line (optional)', example: 5002 }, apCodeId: { type: integer, description: 'AP code ID for this detail line (optional)', example: 7001 }, glDimensionId: { type: integer, description: 'GL dimension ID for this detail line (optional)', example: 202 } } } } } } } } } } } }, description: 'Method parameters' } } } } }, updateBudgets-r1-request-schema: { description: 'Updates the monthly budgeted amounts for one or more existing budgets. The request must identify each budget by its ID and provide the new monthly values for the specified General Ledger (GL) accounts.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateBudgets], description: 'Method name to be called', example: updateBudgets }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, budgets], properties: { propertyId: { type: integer, description: 'Property ID for which budgets are being updated', example: 1001 }, budgets: { type: object, required: [budget], properties: { budget: { type: array, description: 'Array of budget objects to update', items: { type: object, required: [budgetId, glAccounts], properties: { budgetId: { type: integer, description: "ID of the existing budget to update (must be in 'Working' status)", example: 5001 }, glAccounts: { type: object, required: [glAccount], properties: { glAccount: { type: array, description: 'Array of GL accounts with budget amounts', items: { type: object, required: [id, budgetMonths], properties: { id: { type: integer, description: 'GL Account ID', example: 4001 }, budgetMonths: { type: object, required: [budgetMonth], properties: { budgetMonth: { type: array, description: 'Array of monthly budget amounts', items: { type: object, required: [month, amount], properties: { month: { type: string, description: "Budget month in MM/YYYY format (must be within budget's fiscal year range)", pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 01/2024 }, amount: { type: number, description: 'Budget amount for the month (max 13 digits before decimal)', example: 15000.5 } } } } } } } } } } } } } } } } }, description: 'Method parameters' } } } } }, getApCodes-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [apCodeCategories], properties: { apCodeCategories: { type: object, required: [apCodeCategory], properties: { apCodeCategory: { type: array, items: { type: object, required: [id, name, apCodes], properties: { id: { type: integer, description: 'AP Code Category ID', example: 1 }, name: { type: string, description: 'AP Code Category name', example: 'General Expenses' }, apCodes: { type: object, required: [apCode], properties: { apCode: { type: array, items: { type: object, required: [id, name, glAccountId, apCodeTypeId, apCodeType], properties: { id: { type: integer, description: 'AP Code ID', example: 123 }, name: { type: string, description: 'AP Code name (includes code if available)', example: 'MAINT : Maintenance' }, glAccountId: { type: integer, description: 'Associated GL Account ID', example: 456 }, apCodeTypeId: { type: integer, description: 'AP Code Type ID', example: 1 }, apCodeType: { type: string, description: 'AP Code Type name', example: 'Job Cost' } } } } } } } } } } } } } } } } }, address-schema: { type: object, required: ['@attributes', Address], properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type [ BankAccount, Payer, Company, etc.]', example: BankAccount } } }, Address: { type: string, description: 'Address lines. Comma separated list of address lines.', example: '123 Main St, Suite 100' }, City: { type: string, description: City, example: 'New York' }, State: { type: string, description: State, example: NY }, PostalCode: { type: string, description: 'Postal code', example: '10001' } } }, getBankAccounts-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [BankAccounts], properties: { BankAccounts: { type: object, required: [BankAccount], properties: { BankAccount: { type: array, items: { type: object, required: ['@attributes', AccountName, BankAccountTypeId, AccountType], properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: integer, description: 'Bank Account ID', example: 123 } } }, AccountName: { type: string, description: 'Name of the bank account', example: 'Main Operating Account' }, BankAccountTypeId: { type: integer, description: 'Bank Account Type ID', example: 1 }, AccountType: { type: string, description: 'Type of account (Check or Credit)', enum: [Check, Credit], example: Check }, PropertyBankAccounts: { type: object, properties: { PropertyBankAccount: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [Id, PropertyId, GlAccountId, IsDueToFrom], properties: { Id: { type: integer, description: 'Property Bank Account ID', example: 456 }, PropertyId: { type: integer, description: 'Property ID', example: 789 }, GlAccountId: { type: integer, description: 'GL Account ID', example: 101 }, IsDueToFrom: { type: integer, description: 'Is Due To/From flag (1 for true, 0 for false)', enum: [0, 1], example: 0 } } } } } } } }, CheckBankName: { type: string, description: 'Bank name for check accounts', example: 'First National Bank' }, MerchantAccounts: { type: object, properties: { MerchantAccount: { type: array, items: { type: integer }, description: 'Array of merchant account IDs', example: [100, 101] } } }, BankAddress: { allOf: [{ $ref: '#/components/schemas/address-schema' }, { type: object, properties: { BankPhoneNumber: { type: string, description: 'Bank phone number', example: 555-123-4567 } } }] }, CheckRoutingNumber: { type: string, description: 'Bank routing number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned). Present only on Check accounts.', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, CheckAccountNumber: { type: string, description: 'Bank account number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned). Present only on Check accounts.', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, CheckFractionalRoutingNumber: { type: string, description: 'Fractional routing number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned). Present only on Check accounts.', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, NextCheckNumber: { type: integer, description: 'Next check number', example: 1001 }, PayerName: { type: string, description: 'Name on the account for check accounts', example: 'Property Management Company' }, PayerAddress: { allOf: [{ $ref: '#/components/schemas/address-schema' }, { type: object, properties: { PayerPhoneNumber: { type: string, description: 'Payer phone number', example: 555-987-6543 } } }] }, CompanyName: { type: string, description: 'Company name for credit card accounts', example: 'Credit Card Company' }, CompanyAddress: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, example: BankAccount } } }, Address: { type: string, description: 'Company street address', example: '789 Credit Way' }, City: { type: string, description: 'Company city', example: 'Los Angeles' }, State: { type: string, description: 'Company state code', example: CA }, PostalCode: { type: string, description: 'Company postal code', example: '90210' }, BankPhoneNumber: { type: string, description: 'Company phone number', example: 555-555-5555 } } }, NameOnCard: { type: string, description: 'Name on the credit card', example: 'John Doe' }, Address: { allOf: [{ $ref: '#/components/schemas/address-schema' }, { type: object, properties: { PayerPhoneNumber: { type: string, description: 'Payer phone number', example: 555-111-2222 } } }] } } } } } } } } } } } }, getBudgetActuals-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [budgetVsActuals], properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, budgetVsActuals: { type: object, required: [budgetVsActual], properties: { budgetVsActual: { type: array, items: { type: object, properties: { accountName: { type: string, description: 'Name of the GL account', example: 'Rental Income' }, accountId: { type: integer, description: 'GL Account ID', example: 4000 }, mtdActualIncome: { type: string, description: 'Month-to-date actual income amount (formatted to 2 decimal places)', example: '15000.00' }, mtdBudgetIncome: { type: string, description: 'Month-to-date budget income amount (formatted to 2 decimal places)', example: '14000.00' }, mtdVariance: { type: string, description: 'Month-to-date variance (actual - budget, formatted to 2 decimal places)', example: '1000.00' }, mtdPercentageVariance: { type: number, description: 'Month-to-date variance as percentage', example: 7.14 }, ytdActualIncome: { type: string, description: 'Year-to-date actual income amount (formatted to 2 decimal places)', example: '150000.00' }, ytdBudgetIncome: { type: string, description: 'Year-to-date budget income amount (formatted to 2 decimal places)', example: '140000.00' }, ytdVariance: { type: string, description: 'Year-to-date variance (actual - budget, formatted to 2 decimal places)', example: '10000.00' }, ytdPercentageVariance: { type: number, description: 'Year-to-date variance as percentage', example: 7.14 }, annualBudgetIncome: { type: string, description: 'Annual budget income amount (formatted to 2 decimal places)', example: '168000.00' } } } } } } } } } } } }, getBudgets-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [properties], properties: { properties: { type: object, required: [property], properties: { property: { type: array, items: { type: object, required: [propertyId, propertyName, budgets], properties: { propertyId: { type: integer, description: 'Property ID', example: 12345 }, propertyName: { type: string, description: 'Property name', example: 'Sunset Apartments' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, budgets: { type: object, required: [budget], properties: { budget: { type: array, items: { type: object, required: [id, budgetName, budgetStatusTypeId, isDefault, fiscalStartDate, fiscalEndDate, fiscalYear, budgetTotal], properties: { id: { type: integer, description: 'Budget ID', example: 100 }, budgetName: { type: string, description: 'Budget name', example: '2024 Operating Budget' }, budgetStatusTypeId: { type: integer, description: 'Budget Status Type ID', example: 1 }, isDefault: { type: integer, description: 'Whether this is the default budget (1 for true, 0 for false)', enum: [0, 1], example: 1 }, fiscalStartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Fiscal year start date in MM/DD/YYYY format', example: 01/01/2024 }, fiscalEndDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Fiscal year end date in MM/DD/YYYY format', example: 01/01/2024 }, fiscalYear: { type: integer, description: 'Fiscal year', example: 2024 }, budgetTotal: { type: string, description: 'Total budget amount (formatted to 2 decimal places)', example: '120000.00' }, glAccounts: { type: object, properties: { glAccount: { type: array, items: { type: object, required: [id, accountName, accountNumber, glTotals, budgetMonths], properties: { id: { type: integer, description: 'GL Account ID', example: 4000 }, accountName: { type: string, description: 'GL Account name', example: 'Rental Income' }, accountNumber: { type: string, description: 'GL Account number', example: 4000-000 }, glTotals: { type: object, required: [glTotal], properties: { glTotal: { type: array, items: { type: object, required: [amount], properties: { amount: { type: number, description: 'Total amount for GL dimension', example: -120000 }, glDimensionId: { type: integer, description: 'GL Dimension ID (optional)', example: 1 } } } } } }, budgetMonths: { type: object, required: [budgetMonth], properties: { budgetMonth: { type: array, items: { type: object, required: [month, amount], properties: { month: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Post month in MM/DD/YYYY format', example: 01/01/2024 }, amount: { type: string, description: 'Budget amount for the month (Income and Liabilities are negated)', example: '-10000.00' }, glDimensionId: { type: integer, description: 'GL Dimension ID (optional)', example: 1 } } } } } } } } } } } } } } } } } } } } } } } } } } }, attributes-schema: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: integer, description: ID, example: 1 }, Name: { type: string, description: 'Type Name', example: Assets } } } } }, getFinancialPickList-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { GlGroupTypes: { type: object, properties: { GlGroupType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlTreeTypes: { type: object, properties: { GlTreeType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlAccountTypes: { type: object, properties: { GlAccountType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlBooks: { type: object, properties: { GlBook: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlBranchTypes: { type: object, properties: { GlBranchType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlExportBatchTypes: { type: object, properties: { GlExportBatchType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlHeaderStatusTypes: { type: object, properties: { GlHeaderStatusType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlHeaderTypes: { type: object, properties: { GlHeaderType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlLedgerTypes: { type: object, properties: { GlLedgerType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlReconciliationStatusTypes: { type: object, properties: { GlReconciliationStatusTypes: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, GlTransactionTypes: { type: object, properties: { GlTransactionType: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } }, Budgets: { type: object, properties: { Budget: { type: array, items: { allOf: [{ $ref: '#/components/schemas/attributes-schema' }, { type: object, properties: { StatusTypeId: { type: integer, description: 'Budget Status Type ID', example: 1 }, IsDefault: { type: integer, description: 'Whether this is the default budget (1 for true, 0 for false)', enum: [0, 1], example: 1 }, StatusType: { type: string, description: 'Budget Status Type name', example: Current } } }] } } } }, LedgerIds: { type: object, properties: { LedgerId: { type: array, items: { $ref: '#/components/schemas/attributes-schema' } } } } } } } } } }, pickListNode-schema: { type: object, required: [id, name], properties: { id: { type: integer, description: ID, example: 1 }, name: { type: string, description: 'type name', example: Assets } } }, getFinancialPickList-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { glGroupTypes: { type: object, properties: { glGroupType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glTreeTypes: { type: object, properties: { glTreeType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glAccountTypes: { type: object, properties: { glAccountType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glBooks: { type: object, properties: { glBook: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glBranchTypes: { type: object, properties: { glBranchType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glExportBatchTypes: { type: object, properties: { glExportBatchType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glHeaderStatusTypes: { type: object, properties: { glHeaderStatusType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glHeaderTypes: { type: object, properties: { glHeaderType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glLedgerTypes: { type: object, properties: { glLedgerType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glReconciliationStatusTypes: { type: object, properties: { glReconciliationStatusType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, glTransactionTypes: { type: object, properties: { glTransactionType: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, budgetStatusTypeIds: { type: object, properties: { budgetStatusTypeId: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } }, owners: { type: object, properties: { owner: { type: array, items: { allOf: [{ $ref: '#/components/schemas/pickListNode-schema' }, { type: object, properties: { propertyIds: { type: string, description: 'Comma-separated property IDs associated with the owner', example: '1,2,3' } } }] } } } }, ledgerIds: { type: object, properties: { ledgerId: { type: array, items: { $ref: '#/components/schemas/pickListNode-schema' } } } } } } } } } }, getGlTransactions-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [properties], properties: { properties: { type: object, required: [property], properties: { property: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Property ID', example: 1234 }, name: { type: string, description: 'Property name', example: 'Sample Property' }, lookupCode: { type: string, description: 'Property lookup code', example: SP001 }, businessUnitCode: { type: string, description: 'Business unit code', example: BU001 } } }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, isCashBook: { type: boolean, enum: [true, false], description: 'Whether cash book basis is used', example: false }, transactions: { type: object, properties: { transaction: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { accountId: { type: integer, description: 'GL account ID', example: 101 }, accountName: { type: string, description: 'GL account name', example: 'Cash Operating Account' }, accountNumber: { type: string, description: 'GL account number', example: '1010' }, externalId: { type: string, description: 'External account identifier', example: EXT001 } } }, glTotal: { type: object, properties: { openingBalance: { type: string, description: 'Opening balance amount', example: '1000.00' }, debitOpeningBalance: { type: string, description: 'Debit opening balance amount', example: '1000.00' }, creditOpeningBalance: { type: string, description: 'Credit opening balance amount', example: '1000.00' }, debitClosingBalance: { type: string, description: 'Debit closing balance amount', example: '1000.00' }, creditClosingBalance: { type: string, description: 'Credit closing balance amount', example: '1000.00' }, netChange: { type: string, description: 'Net change amount', example: '1000.00' }, closingBalance: { type: string, description: 'Closing balance amount', example: '1000.00' } } }, glDetails: { type: object, properties: { glDetail: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'GL detail ID', example: 5001 }, transactionType: { type: string, description: 'Transaction type description', example: 'Cash Receipt' } } }, transactionDate: { type: string, pattern: '^\d{4}/(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])$', description: 'Transaction date in YYYY/MM/DD format', example: 2024/01/15 }, apDetailId: { type: integer, description: 'AP detail ID if applicable', example: 1001 }, postMonth: { type: string, description: 'Post month in Month name,Year format', example: 'Jan,2024' }, postDate: { type: string, pattern: '^\d{4}/(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])$', description: 'Post date in YYYY/MM/DD format', example: 2024/01/15 }, debit: { type: string, description: 'Debit amount', example: '1000.00' }, credit: { type: string, description: 'Credit amount', example: '1000.00' }, balance: { type: string, description: 'Running balance', example: '1000.00' }, reference: { type: string, description: 'Transaction reference', example: 'GJ#001 - Rent Payment' }, memo: { type: string, description: 'Transaction memo', example: 'Monthly rent collection' }, customTagId: { type: integer, description: 'Custom tag ID', example: 1001 }, customTagName: { type: string, description: 'Custom tag name', example: 'Sample Custom Tag' }, isResidentRefund: { type: integer, enum: [0, 1], description: 'Whether this is a resident refund [0 for false, 1 for true]', example: 0 }, unitDesignation: { type: string, description: 'Unit designation', example: 'Unit 101' }, unitId: { type: integer, description: 'Unit ID', example: 1001 }, unitNumber: { type: string, description: 'Unit number', example: '101' }, buildingId: { type: integer, description: 'Building ID', example: 1001 }, buildingNumber: { type: string, description: 'Building number', example: '101' }, vendorName: { type: string, description: 'Vendor name', example: 'Sample Vendor' }, vendorCode: { type: string, description: 'Vendor code', example: VND001 }, contractId: { type: integer, description: 'Contract ID', example: 1001 }, contract: { type: string, description: 'Contract name', example: 'Sample Contract' }, jobId: { type: integer, description: 'Job ID', example: 1001 }, job: { type: string, description: 'Job name', example: 'Sample Job' }, jobCostCodeId: { type: integer, description: 'Job cost code ID', example: 1001 }, jobCostCode: { type: string, description: 'Job cost code', example: 'Sample Job Cost Code' } } } } } } } } } } } } } } } } } } } } } }, getGlTrees-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [GlTrees], properties: { GlTrees: { type: object, required: [GlTree], properties: { GlTree: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'GL tree ID', example: 101 }, Name: { type: string, description: 'GL tree name', example: 'Standard GL Tree' } } }, Properties: { type: object, properties: { Property: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Property ID', example: 1234 }, Name: { type: string, description: 'Property name', example: 'Sample Property' } } } } } } } }, Branches: { type: object, properties: { Branch: { type: array, items: { type: object, properties: { BranchId: { type: integer, description: 'Branch/ GL group ID', example: 201 }, GroupType: { type: string, description: 'GL group type name', example: Assets }, IsEnabled: { type: integer, enum: [0, 1], description: 'Whether the branch is enabled (0 or 1)', example: 1 }, ShowGroupName: { type: integer, enum: [0, 1], description: 'Whether to show group name (0 or 1)', example: 1 }, GroupName: { type: string, description: 'Group location/name', example: 'Current Assets' }, ShowSummaryRow: { type: integer, enum: [0, 1], description: 'Whether to show summary row (0 or 1)', example: 1 }, SummaryRowName: { type: string, description: 'Summary row name', example: 'Total Current Assets' }, Description: { type: string, description: 'Group description', example: 'All current asset accounts' } } } } } }, GlAccounts: { type: object, properties: { GlAccount: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'GL account ID', example: 1001 }, BranchId: { type: integer, description: 'Branch/group ID this account belongs to', example: 201 } } }, AccountNumber: { type: string, description: 'Formatted account number', example: 1010-001 }, AccountName: { type: string, description: 'Account name', example: 'Cash Operating Account' }, ExternalId: { type: string, description: 'External account identifier', example: EXT001 }, GlGroupType: { type: string, description: 'GL account type', example: Asset }, GroupLocation: { type: string, description: 'Group location', example: 'Current Assets' }, Description: { type: string, description: 'Account description', example: 'Primary operating cash account' }, Status: { type: string, enum: [Enabled, Disabled], description: 'Account status', example: Enabled }, IsSystem: { type: integer, enum: [0, 1], description: 'Whether this is a system account (0 or 1)', example: 0 } } } } } } } } } } } } } } } } }, getGlTrees-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [glTrees], properties: { glTrees: { type: object, required: [glTree], properties: { glTree: { type: array, items: { type: object, required: [id, name, isMasterGlTree], properties: { id: { type: integer, description: 'GL Tree ID', example: 123 }, name: { type: string, description: 'GL Tree name', example: 'Main GL Tree' }, isMasterGlTree: { type: integer, description: 'Whether this is the master GL tree (0 for false, 1 for true)', enum: [0, 1], example: 1 }, branches: { type: object, properties: { branch: { type: array, items: { type: object, required: [branchId, groupType, isEnabled, showGroupName, groupName, showSummaryRow], properties: { branchId: { type: integer, description: 'Branch ID', example: 456 }, groupType: { type: string, description: 'Group type name', example: Assets }, isEnabled: { type: integer, description: 'Whether the branch is enabled (0 for false, 1 for true)', enum: [0, 1], example: 1 }, showGroupName: { type: integer, description: 'Whether to show group name (0 for false, 1 for true)', enum: [0, 1], example: 1 }, groupName: { type: string, description: 'Group name/location', example: 'Current Assets' }, showSummaryRow: { type: integer, description: 'Whether to show summary row (0 for false, 1 for true)', enum: [0, 1], example: 1 }, summaryRowName: { type: string, description: 'Summary row name', example: 'Total Current Assets' }, description: { type: string, description: 'Group description', example: 'Current asset accounts' } } } } } }, glAccounts: { type: object, properties: { glAccount: { type: array, items: { type: object, required: [id, branchId, accountNumber, accountName, glGroupType, groupLocation, description, status, isSystem], properties: { id: { type: integer, description: 'GL Account ID', example: 789 }, branchId: { type: integer, description: 'Branch ID this account belongs to', example: 456 }, accountNumber: { type: string, description: 'Formatted account number', example: 1000-001 }, accountName: { type: string, description: 'Account name', example: 'Cash - Operating' }, externalId: { type: string, description: 'External/secondary account number', example: EXT001 }, glGroupType: { type: string, description: 'GL account type', example: 'Current Assets' }, groupLocation: { type: string, description: 'Group location', example: 'Current Assets' }, description: { type: string, description: 'Account description', example: 'Primary operating cash account' }, status: { type: string, description: 'Account status', enum: [Enabled, Disabled], example: Enabled }, isSystem: { type: integer, description: 'Whether this is a system account (0 for false, 1 for true)', enum: [0, 1], example: 0 } } } } } } } } } } } } } } } } }, getJobCategories-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [jobCategories], properties: { jobCategories: { type: object, required: [jobCategory], properties: { jobCategory: { type: array, items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Unique identifier for the job category', example: 1 }, name: { type: string, description: 'Name of the job category', example: Construction }, glAccountId: { type: integer, description: 'Default GL Account ID associated with the job category', example: 1001 } } } } } } } } } } } }, getJobCostBudgets-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [jobs], properties: { jobs: { type: object, required: [job], properties: { job: { type: array, items: { type: object, required: [propertyId, jobId, jobStatusId, jobPhases], properties: { propertyId: { type: integer, description: 'Property ID associated with the job', example: 1001 }, jobId: { type: integer, description: 'Unique identifier for the job', example: 501 }, jobStatusId: { type: integer, description: 'Current status ID of the job', example: 2 }, jobPhases: { type: object, required: [jobPhase], properties: { jobPhase: { type: array, items: { type: object, required: [jobPhaseId, jobPhaseName, apCodes], properties: { jobPhaseId: { type: integer, description: 'Unique identifier for the job phase', example: 5 }, jobPhaseName: { type: string, description: 'Name of the job phase', example: 'Planning Phase' }, apCodes: { type: object, required: [apCode], properties: { apCode: { type: array, items: { type: object, required: [apCodeId, apCodeName, unitTypeBudget, locationBudget, generalBudget, postMonths], properties: { apCodeId: { type: integer, description: 'Unique identifier for the AP code', example: 101 }, apCodeName: { type: string, description: 'Name of the AP code', example: Materials }, unitTypeBudget: { type: number, description: 'Budget amount for unit type', example: 1500 }, locationBudget: { type: number, description: 'Budget amount for location', example: 2000 }, generalBudget: { type: number, description: 'General budget amount', example: 3000 }, postMonths: { type: object, required: [postMonth], properties: { postMonth: { type: array, items: { type: object, required: [apDetailId, postMonth, monthlyAmount], properties: { apDetailId: { type: integer, description: 'Unique identifier for the AP detail', example: 1001 }, postMonth: { type: string, pattern: '^(0[1-9]|1[0-2])/\d{4}$', description: 'Post month in MM/YYYY format', example: 01/2024 }, monthlyAmount: { type: number, description: 'Budget amount for the month', example: 500 }, unitTypeId: { type: integer, description: 'Unit type ID (optional)', example: 10 }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID (optional)', example: 20 } } } } } } } } } } } } } } } } } } } } } } } } } } }, getJobs-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [jobs], properties: { jobs: { type: object, required: [job], properties: { job: { type: array, items: { type: object, required: [id, name, propertyId, jobCategoryId, jobStatusId, budgetTotal], properties: { id: { type: integer, description: 'Unique identifier for the job', example: 501 }, name: { type: string, description: 'Name of the job', example: 'Building Renovation' }, propertyId: { type: integer, description: 'Property ID associated with the job', example: 1001 }, jobCategoryId: { type: integer, description: 'Job category ID', example: 1 }, glAccountId: { type: integer, description: 'Default GL Account ID from job category (optional)', example: 4001 }, jobStatusId: { type: integer, description: 'Current status ID of the job', example: 2 }, jobStatus: { type: string, description: 'Current status name of the job (optional)', example: 'In Progress' }, plannedStartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Planned start date of the job (optional) in mm/dd/yyyy format', example: 01/15/2024 }, plannedCompletionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Planned completion date of the job (optional) in mm/dd/yyyy format', example: 06/30/2024 }, actualStartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Actual start date of the job (optional) in mm/dd/yyyy format', example: 01/20/2024 }, actualCompletionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Actual completion date of the job (optional) in mm/dd/yyyy format', example: 07/05/2024 }, budgetTotal: { type: string, description: 'Total budget amount for the job (formatted as string)', example: '25000.00' }, jobPhases: { type: object, description: 'Job phases (optional)', properties: { jobPhase: { type: array, items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Unique identifier for the job phase', example: 101 }, name: { type: string, description: 'Name of the job phase', example: 'Planning Phase' }, budget: { type: number, description: 'Budget amount for the phase (optional)', example: 5000 } } } } } }, apContracts: { type: object, description: 'AP contracts associated with the job (optional)', properties: { apContract: { type: array, items: { type: object, required: [id, name, contractTotal, contractVendor], properties: { id: { type: integer, description: 'Unique identifier for the contract', example: 201 }, name: { type: string, description: 'Name of the contract', example: 'Construction Contract' }, contractTotal: { type: number, description: 'Total contract amount', example: 15000 }, contractVendor: { type: string, description: 'Vendor name for the contract', example: 'ABC Construction Inc' }, plannedStartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Planned start date of the contract (optional) in mm/dd/yyyy format', example: 02/01/2024 }, plannedCompletionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Planned completion date of the contract (optional) in mm/dd/yyyy format', example: 05/31/2024 }, actualStartDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Actual start date of the contract (optional) in mm/dd/yyyy format', example: 02/05/2024 }, actualCompletionDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Actual completion date of the contract (optional) in mm/dd/yyyy format', example: 06/10/2024 }, apCodes: { type: object, description: 'AP codes associated with the contract (optional)', properties: { apCode: { type: array, items: { type: object, required: [id, jobPhaseId, glAccountId, contractAmount], properties: { id: { type: integer, description: 'Unique identifier for the AP code', example: 301 }, jobPhaseId: { type: integer, description: 'Job phase ID associated with the AP code', example: 101 }, glAccountId: { type: integer, description: 'GL Account ID for the AP code', example: 4001 }, contractAmount: { type: number, description: 'Contract amount for this AP code', example: 2500 }, changeOrderId: { type: integer, description: 'Change order ID (optional)', example: 401 } } } } } } } } } } } } } } } } } } } } } }, getTransactionTagLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { transactionCustomTags: { type: object, description: 'Custom transaction tags (GL dimensions) - optional', properties: { transactionCustomTag: { type: array, items: { type: object, required: [id, name, isPublished, transactionTypes], properties: { id: { type: integer, description: 'Unique identifier for the custom tag', example: 1 }, name: { type: string, description: 'Name of the custom tag', example: Department }, code: { type: string, description: 'Code of the custom tag (optional)', example: DEPT }, description: { type: string, description: 'Description of the custom tag (optional)', example: 'Department classification for transactions' }, isPublished: { type: integer, description: 'Whether the tag is published (0 for false, 1 for true)', enum: [0, 1], example: 1 }, transactionTypes: { type: array, description: 'Transaction types associated with this tag', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Transaction type ID', example: 1 }, name: { type: string, description: 'Transaction type name', example: 'AP Invoice' } } } } } } } } }, transactionRoutingTags: { type: object, description: 'Transaction routing tags - optional', properties: { transactionRoutingTag: { type: array, items: { type: object, required: [id, name, isPublished, transactionTypes], properties: { id: { type: integer, description: 'Unique identifier for the routing tag', example: 101 }, name: { type: string, description: 'Name of the routing tag', example: Maintenance }, description: { type: string, description: 'Description of the routing tag (optional)', example: 'Routing tag for maintenance transactions' }, isPublished: { type: integer, description: 'Whether the tag is published (0 for false, 1 for true)', enum: [0, 1], example: 1 }, transactionTypes: { type: array, description: 'Transaction types associated with this routing tag', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Transaction type ID', example: 2 }, name: { type: string, description: 'Transaction type name', example: 'AP Check' } } } } } } } } } } } } } } }, markGlTransactionsExported-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'Status of the operation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Descriptive message about the operation result', example: 'Gl Transactions marked as exported successfully.' } } } } } } }, sendBudgets-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [budgets], properties: { budgets: { type: object, required: [budget], properties: { budget: { type: array, description: 'Results for each budget processed', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Node number (sequential order of budget processed)', example: 1 }, status: { type: string, description: 'Processing status for this budget', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Descriptive message about the processing result', example: 'Budget inserted successfully.' } } } } } } } } } } } }, sendJournalEntries-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [glHeaders], properties: { glHeaders: { type: object, required: [glHeader], properties: { glHeader: { type: array, description: 'Results for each GL header processed', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Node number (sequential order of GL header processed)', example: 1 }, status: { type: string, description: 'Processing status for this GL header', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Descriptive message about the processing result', example: 'GL Header inserted successfully.' }, glHeaderId: { type: integer, description: 'Generated GL header ID (only on success)', example: 12345 }, jeNumber: { type: string, description: 'Generated journal entry number (only on success)', example: JE-2024-001234 } } } } } } } } } } } }, updateBudgets-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [budgets], properties: { budgets: { type: object, required: [budget], properties: { budget: { type: array, description: 'Results for each budget processed', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Node number (sequential order of budget processed)', example: 1 }, status: { type: string, enum: [Success, Failed], description: 'Processing status for this budget', example: Success }, message: { type: string, description: 'Descriptive message about the processing result', example: 'Budget updated successfully.' } } } } } } } } } } } }, getLeadPickLists-r1-request-schema: { description: 'Retrieves lists of predefined options used when managing information about prospective renters. These lists include values for lead sources, leasing agents, event types, and lead statuses for one or more properties.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeadPickLists], description: 'Method name to be called', example: getLeadPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyIds: { type: string, description: 'Comma-separated list of property IDs to filter results', example: '1,2,3' } }, description: 'Method parameters' } } } } }, getLeadPickLists-r2-request-schema: { description: 'Retrieves a comprehensive set of predefined option lists for a specific property. The data provides values for nearly all lead-related fields, including lead sources, event types, cancellation reasons, and quote provisions.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeadPickLists], description: 'Method name to be called', example: getLeadPickLists }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch lead pick lists for', example: 1234 } }, description: 'Method parameters' } } } } }, getLeadEvents-r1-request-schema: { description: 'Retrieves the communication and activity history for a specific lead. The list of events can include calls, emails, appointments, tours, and notes.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeadEvents], description: 'Method name to be called', example: getLeadEvents }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to filter lead events', example: 19463 }, applicationId: { type: integer, description: 'Application/Lead ID to filter events for a specific lead. Conditionally required, If eventTypeIds and eventDates are not passed then applicationId is required.', example: 123 }, eventTypeIds: { type: string, description: 'Comma-separated list of event type IDs to filter events. Conditionally required, If applicationId and eventDates are not passed then eventTypeIds is required.', example: '1,2,3' }, eventDateFrom: { type: string, description: 'Start date for event date range in mm/dd/yyyy format (optional). Required if eventDateTo is provided.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', example: 05/25/2023 }, eventDateTo: { type: string, description: 'End date for event date range in mm/dd/yyyy format (optional). Required if eventDateFrom is provided. The from date and to date range should not be more than one year.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', example: 08/01/2023 } }, description: 'Method parameters' } } } } }, getLeads-r1-request-schema: { description: 'Retrieves lead/prospect information with comprehensive filtering options including events and customer preferences.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '17' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeads], description: 'Method name to be called', example: getLeads }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to filter leads', example: 1234 }, leadId: { type: string, description: 'Comma-separated list of specific lead IDs to retrieve', example: '1001,1002,1003' }, name: { type: string, description: 'Lead name to search for (searches first and last name)', example: 'John Smith' }, telephone: { type: string, description: 'Phone number to search for', example: 555-123-4567 }, email: { type: string, format: email, description: 'Email address to search for', example: john.smith@example.com }, leadStatusIds: { type: string, description: 'Comma-separated list of lead status IDs to filter by', example: '1,2,3' }, psProductIds: { type: string, description: 'Comma-separated list of product service IDs to filter by', example: '10,20,30' }, fromDate: { type: string, description: 'Start date for lead creation date range (mm/dd/yyyy)', example: 01/01/2024 }, toDate: { type: string, description: 'End date for lead creation date range (mm/dd/yyyy)', example: 12/31/2024 }, createdOnDateFrom: { type: string, description: 'Start date for lead creation date range (mm/dd/yyyy)', example: 01/01/2024 }, createdOnDateTo: { type: string, description: 'End date for lead creation date range (mm/dd/yyyy)', example: 12/31/2024 }, eventDateFrom: { type: string, description: 'Start date for event date range (mm/dd/yyyy)', example: 01/01/2024 }, eventDateTo: { type: string, description: 'End date for event date range (mm/dd/yyyy)', example: 12/31/2024 }, eventTypeIds: { type: string, description: 'Comma-separated list of event type IDs (max 5) to filter by', example: '1,2,3,4,5' }, excludeAmenities: { type: integer, description: 'Exclude amenity information from the response (0 for false, 1 for true)', enum: [0, 1], example: 1 } }, description: 'Method parameters' } } } } }, getMitsLeads-r1-request-schema: { description: 'Retrieves detailed lead and prospect information based on various search criteria. The response data is structured to comply with the MITS (Multifamily Information and Transactions Standard) format.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '18' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMitsLeads], description: 'Method name to be called', example: getMitsLeads }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { leadId: { type: integer, description: 'Specific lead ID to retrieve (alternative to propertyId)', example: 1001 }, propertyId: { type: integer, description: 'Property ID to filter leads (required if leadId not provided)', example: 1234 }, fromDateTime: { type: string, description: 'Start date for lead creation date range (mm/dd/yyyy)', example: 01/01/2024 }, toDateTime: { type: string, description: 'End date for lead creation date range (mm/dd/yyyy)', example: 12/31/2024 }, psProductIds: { type: string, description: 'Comma-separated list of product service IDs to filter by', example: '10,20,30' }, includeDemographics: { type: integer, description: 'Include demographic information in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 }, sendUnitSpaces: { type: integer, description: 'Include unit space information in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 }, eventDateFrom: { type: string, description: 'Start date for event date range (mm/dd/yyyy)', example: 01/01/2024 }, eventDateTo: { type: string, description: 'End date for event date range (mm/dd/yyyy)', example: 12/31/2024 }, leadStatusIds: { type: string, description: 'Comma-separated list of lead status IDs to filter by', example: '1,2,3' }, eventTypeIds: { type: string, description: 'Comma-separated list of event type IDs to filter by', example: '1,2,3,4,5' }, name: { type: string, description: 'Lead name to search for (searches first and last name)', example: 'John Smith' }, email: { type: string, format: email, description: 'Email address to search for', example: john.smith@example.com }, telephone: { type: string, description: 'Phone number to search for', example: 555-123-4567 } }, description: 'Method parameters' } } } } }, applyQuote-r1-request-schema: { description: "Applies a specific rental price quote to a prospective tenant's application for a chosen lease term.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [applyQuote], description: 'Method name to be called', example: applyQuote }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, applicationId, quoteId, leaseTermId], properties: { propertyId: { type: integer, description: 'Property ID associated with the application', example: 1234 }, applicationId: { type: integer, description: 'Application ID to apply the quote to', example: 5678 }, quoteId: { type: integer, description: 'Quote ID to be applied to the application', example: 9012 }, leaseTermId: { type: integer, description: 'Lease term ID for the quote application', example: 3456 } }, description: 'Method parameters' } } } } }, generateQuotes-r1-request-schema: { description: 'Creates one or more rental price quotes for a prospective tenant. Each quote is generated based on a specific unit, move-in date, lease term, and optional add-ons.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '16' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [generateQuotes], description: 'Method name to be called', example: generateQuotes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, applicationId, quotes], properties: { propertyId: { type: integer, description: 'Property ID associated with the application', example: 1234 }, applicationId: { type: integer, description: 'Application ID to generate quotes for', example: 5678 }, quotes: { type: object, required: [quote], properties: { quote: { type: array, items: { type: object, required: [unitSpaceId, moveInDate, leaseTermIds], properties: { unitSpaceId: { type: integer, description: 'Unit space ID for the quote', example: 1001 }, moveInDate: { type: string, format: date, description: 'Move-in date in ISO date format (YYYY-MM-DD)', example: '2024-03-01' }, leaseTermIds: { type: string, description: 'Comma-separated list of lease term IDs', example: '12,24,36' }, note: { type: string, description: 'Optional note for the quote', example: 'First floor unit preferred' }, pets: { type: object, properties: { pet: { type: array, items: { type: object, properties: { petTypeId: { type: integer, description: 'Pet type ID', example: 1 }, count: { type: integer, description: 'Number of pets of this type', example: 2 } } } } } }, addOns: { type: object, properties: { addOn: { type: array, items: { type: object, properties: { addOnTypeId: { type: integer, description: 'Add-on type ID (1=Rentable Items, 2=Services, 3=Assignable Items)', enum: [1, 2, 3], example: 1 }, addOnId: { type: integer, description: 'Add-on ID', example: 101 }, agentId: { type: integer, description: 'Leasing agent ID', example: 201 }, startDate: { type: string, format: date, description: 'Add-on start date in format (YYYY-MM-DD)', example: '2024-03-01' }, endDate: { type: string, format: date, description: 'Add-on end date in format (YYYY-MM-DD)', example: '2024-12-31' } } } } } } } } } } } }, description: 'Method parameters' } } } } }, getQuotes-r1-request-schema: { description: "Retrieves one or more rental quotes associated with a prospective tenant's application. Each quote provides a complete price breakdown, including base rent, optional add-ons, pet fees, and other charges for various lease terms.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '19' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getQuotes], description: 'Method name to be called', example: getQuotes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to retrieve quotes for', example: 1234 }, applicationId: { type: integer, description: 'Specific application ID to filter quotes (optional)', example: 1001 }, leaseStartDate: { type: string, format: date, description: 'Lease start date to filter quotes (YYYY-MM-DD) (optional)', example: '2024-04-01' }, includeExpiredQuotes: { type: integer, description: 'Include expired quotes in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 }, quoteId: { type: integer, description: 'Specific quote ID to retrieve (optional)', example: 5001 } }, description: 'Method parameters' } } } } }, sendLeads-r1-request-schema: { description: "Adds a new sales lead to a property's database. The API captures the prospect's contact information, their housing preferences, and a complete history of interactions like calls, emails, and tours.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '20' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeads], description: 'Method name to be called', example: sendLeads }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, prospects], properties: { propertyId: { type: integer, description: 'Property ID to create leads for', example: 1234 }, isWaitList: { type: integer, description: 'Whether to add leads to waitlist (0 for false, 1 for true)', enum: [0, 1], example: 1 }, doNotSendConfirmationEmail: { type: integer, description: 'Whether to skip sending confirmation emails (0 for false, 1 for true)', enum: [0, 1], example: 1 }, prospects: { type: object, required: [prospect], properties: { prospect: { type: array, items: { type: object, required: [createdDate, customers], properties: { createdDate: { type: string, description: 'Lead creation date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T10:30:00' }, leasingAgentId: { type: string, description: 'Leasing agent ID (optional)', example: '1234' }, communicationType: { type: string, description: 'Communication type (optional)', example: Call }, customers: { type: object, required: [customer], properties: { customer: { type: array, items: { type: object, properties: { name: { type: object, properties: { firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe }, namePrefix: { type: string, description: 'Name prefix (optional)', example: Mr. }, middleName: { type: string, description: 'Middle name (optional)', example: Michael }, maidenName: { type: string, description: 'Maiden name (optional)', example: Smith }, nameSuffix: { type: string, description: 'Name suffix (optional)', example: Jr. } } }, phone: { type: object, properties: { personalPhoneNumber: { type: string, description: 'Personal phone number', example: '+1234567890' }, cellPhoneNumber: { type: string, description: 'Cell phone number', example: '+1234567891' }, officePhoneNumber: { type: string, description: 'Office phone number', example: '+1234567892' }, faxNumber: { type: string, description: 'Fax number (optional)', example: '+1234567893' } } }, email: { type: string, format: email, description: 'Email address', example: john.doe@example.com }, address: { type: object, properties: { addressLine1: { type: string, description: 'Address line 1', example: '123 Main St' }, addressLine2: { type: string, description: 'Address line 2 (optional)', example: 'Apt 4B' }, addressLine3: { type: string, description: 'Address line 3 (optional)', example: 'Building A' }, city: { type: string, description: City, example: 'New York' }, state: { type: string, description: 'State code (2 characters)', example: NY }, postalCode: { type: string, description: 'Postal/ZIP code', example: '10001' } } }, customerRelationshipTypeId: { type: integer, description: 'Customer relationship type ID (optional)', example: 1234 }, googleClickId: { type: string, description: 'Google Click ID (optional)', example: gclid123456789 }, googleClientId: { type: string, description: 'Google Client ID (optional)', example: '123456789.1234567890' }, marketingPreferences: { type: object, description: 'Marketing preferences (optional)', properties: { email: { type: object, properties: { optInLeadCommunication: { type: string, description: 'Opt-in for lead communication emails - "1" for true, "0" for false', enum: ['0', '1'], example: '1' }, optInMessageCenter: { type: string, description: 'Opt-in for message center emails - "1" for true, "0" for false', enum: ['0', '1'], example: '0' }, optInContactPoints: { type: string, description: 'Opt-in for contact points emails - "1" for true, "0" for false', enum: ['0', '1'], example: '1' }, optInMarketingMessages: { type: string, description: 'Opt-in for marketing messages - "1" for true, "0" for false', enum: ['0', '1'], example: '0' } } }, optInphone: { type: string, description: 'Phone opt-in preference - "1" for true, "0" for false', enum: ['0', '1'], example: '1' }, optInMail: { type: string, description: 'Mail opt-in preference - "1" for true, "0" for false', enum: ['0', '1'], example: '0' } } } } } } } }, leadSource: { type: object, properties: { originatingLeadSourceId: { type: integer, description: 'Primary lead source ID', example: 101 }, additionalLeadSourceIds: { type: string, description: 'Additional lead source IDs as comma-separated string', example: '123,456,789' } } }, customerPreferences: { type: object, properties: { desiredFloorplanId: { type: integer, description: 'Desired floor plan ID', example: 301 }, desiredUnitId: { type: integer, description: 'Desired unit ID', example: 401 }, desiredUnitTypeId: { type: integer, description: 'Desired unit type ID', example: 501 }, desiredRent: { type: object, properties: { min: { type: string, description: 'Minimum desired rent', example: '200' }, max: { type: string, description: 'Maximum desired rent', example: '300' } } }, desiredNumBedrooms: { type: string, description: 'Desired number of bedrooms', example: '2' }, desiredNumBathrooms: { type: string, description: 'Desired number of bathrooms', example: '3' }, desiredLeaseTerms: { type: string, description: 'Desired lease terms in months', example: '18' }, desiredLeaseTermId: { type: string, description: 'Desired lease term ID', example: '1234' }, numberOfOccupants: { type: string, description: 'Number of occupants', example: '1' }, desiredMoveInDate: { type: string, description: 'Desired move-in date (mm/dd/yyyy)', example: 04/01/2024 }, comment: { type: string, description: 'Additional comments', example: 'Looking for pet-friendly unit' } } }, events: { type: object, properties: { event: { type: array, items: { type: object, properties: { eventTypeId: { type: string, description: 'Event type ID', example: '3' }, type: { type: string, description: 'Event type name', example: CallFromProspect }, date: { type: string, description: 'Event date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T14:30:00' }, comments: { type: string, description: 'Event comments', example: 'Prospect called about availability' }, callData: { type: object, properties: { callFrom: { type: string, description: 'Caller phone number', example: '+1234567890' }, ringThrough: { type: string, description: 'Ring-through number', example: '+1234567891' }, callStatus: { type: string, description: 'Call status', example: Answer }, duration: { type: string, description: 'Call duration in seconds', example: '900' }, audioLink: { type: string, description: 'Audio recording link', example: 'https://example.com/audio.mp3' } } }, appointmentDate: { type: string, description: 'Appointment date (mm/dd/yyyy)', example: 03/20/2024 }, timeFrom: { type: string, description: 'Appointment start time (HH:MM:SS)', example: '14:00:00' }, timeTo: { type: string, description: 'Appointment end time (HH:MM:SS)', example: '15:00:00' }, subtypeId: { type: string, description: 'Event subtype ID', example: '454' }, agentId: { type: string, description: 'Agent ID', example: '12345' }, unitSpaceIds: { type: string, description: 'Comma-separated unit space IDs', example: '101,102' }, eventReasons: { type: string, description: 'Event reasons', example: 'Property tour scheduled' }, eventReasonId: { type: string, description: 'Event reason ID', example: '1234' }, emailAddresses: { type: object, properties: { from: { type: string, format: email, description: 'From email address', example: agent@property.com }, to: { type: string, format: email, description: 'To email address', example: prospect@example.com }, cc: { type: string, format: email, description: 'CC email address (optional)', example: manager@property.com }, bcc: { type: string, format: email, description: 'BCC email address (optional)', example: admin@property.com } } }, subject: { type: string, description: 'Email subject', example: 'Property Information' }, emailBody: { type: string, description: 'Email body content', example: 'Thank you for your interest in our property.' }, doNotSendEmail: { type: integer, description: 'Whether to skip sending email (0 for false, 1 for true)', enum: [0, 1], example: 1 }, eventResultId: { type: string, description: 'Event result ID', example: '1234' } } } } } } } } } } } }, description: 'Method parameters' } } } } }, sendMitsLeads-r1-request-schema: { description: "Submits a batch of one or more new sales leads to a property's management system. For each lead, the API captures the prospect's contact details, their housing preferences, and a full history of interactions.", type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendMitsLeads], description: 'Method name to be called', example: sendMitsLeads }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, Prospects], properties: { propertyId: { type: integer, description: 'Property ID to create leads for', example: 1234 }, isWaitList: { type: integer, description: 'Whether to add leads to waitlist (0 for false, 1 for true)', enum: [0, 1], example: 1 }, doNotSendConfirmationEmail: { type: integer, description: 'Whether to skip sending confirmation emails (0 for false, 1 for true)', enum: [0, 1], example: 0 }, Prospects: { type: object, required: [Prospect], properties: { Prospect: { type: array, items: { type: object, required: [Customers], properties: { TransactionData: { type: object, properties: { OriginatingLeadSource: { type: string, description: 'Primary lead source name', example: 'Phone Book' }, InternetListingService: { type: string, description: 'Internet listing service name', example: 'ILS Name' } } }, LastUpdateDate: { type: string, description: 'Lead creation date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T10:30:00' }, LeasingAgentId: { type: integer, description: 'Leasing agent ID (optional)', example: 12345 }, Customers: { type: object, required: [Customer], properties: { Customer: { type: object, required: [Name], properties: { Name: { type: object, required: [FirstName, LastName], properties: { FirstName: { type: string, description: 'Customer first name', example: abc }, LastName: { type: string, description: 'Customer last name', example: abc }, NamePrefix: { type: string, description: 'Name prefix (optional)', example: abc }, MiddleName: { type: string, description: 'Middle name (optional)', example: abc }, MaidenName: { type: string, description: 'Maiden name (optional)', example: abc }, NameSuffix: { type: string, description: 'Name suffix (optional)', example: abc } } }, Phone: { type: array, items: { type: object, required: [PhoneNumber, '@attributes'], properties: { PhoneNumber: { type: string, description: 'Phone number', example: '123456789' }, '@attributes': { type: object, required: [PhoneType], properties: { PhoneType: { type: string, description: 'Type of phone number', enum: [personal, cell, office, fax, home, other], example: personal } } } } } }, Email: { type: string, format: email, description: 'Email address', example: test@email.com }, Address: { type: object, properties: { AddressLine1: { type: string, description: 'Address line 1', example: AddressLine1 }, AddressLine2: { type: string, description: 'Address line 2 (optional)', example: AddressLine2 }, AddressLine3: { type: string, description: 'Address line 3 (optional)', example: AddressLine3 }, City: { type: string, description: City, example: City }, State: { type: string, description: 'State code (2 characters)', example: NY }, PostalCode: { type: string, description: 'Postal/ZIP code', example: '12345' }, '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: current } } } } } } } } }, CustomerPreferences: { type: object, properties: { TargetMoveInDate: { type: string, description: 'Desired move-in date (mm/dd/yyyy)', example: 04/01/2024 }, DesiredFloorplan: { type: string, description: 'Desired floor plan name', example: '1 floor' }, DesiredUnit: { type: object, properties: { Identification: { type: object, required: [IDValue, '@attributes'], properties: { IDValue: { type: integer, description: 'Property unit ID', example: 12345 }, '@attributes': { type: object, required: [IDRank, IDScopeType, IDType], properties: { IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDType: { type: string, description: 'ID type', example: property_unit_id } } } } }, MarketingName: { type: string, description: 'Marketing name for the unit', example: 1A1-A }, UnitType: { type: string, description: 'Unit type', example: one }, UnitBedrooms: { type: integer, description: 'Number of bedrooms', example: 1 }, UnitBathrooms: { type: integer, description: 'Number of bathrooms', example: 1 }, MinSquareFeet: { type: string, description: 'Minimum square feet', example: '900' }, MaxSquareFeet: { type: string, description: 'Maximum square feet', example: '1200' }, UnitRent: { type: number, description: 'Unit rent amount', example: 50 }, MarketRent: { type: number, description: 'Market rent amount', example: 35 }, NumberOccupants: { type: integer, description: 'Number of occupants', example: 5 } } }, DesiredRent: { type: object, properties: { '@attributes': { type: object, properties: { Min: { type: string, description: 'Minimum desired rent', example: $200.00 }, Max: { type: string, description: 'Maximum desired rent', example: $500.00 } } } } }, DesiredNumBedrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: integer, description: 'Exact number of desired bedrooms', example: 1 }, Min: { type: integer, description: 'Minimum number of desired bedrooms', example: 1 }, Max: { type: integer, description: 'Maximum number of desired bedrooms', example: 3 } } } } }, DesiredNumBathrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: number, description: 'Exact number of desired bathrooms', example: 2 }, Min: { type: number, description: 'Minimum number of desired bathrooms', example: 1 }, Max: { type: number, description: 'Maximum number of desired bathrooms', example: 3 } } } } }, DesiredLeaseTerms: { type: integer, description: 'Desired lease terms in months', example: 12 }, DesiredLeaseTermId: { type: integer, description: 'Desired lease term ID', example: 12345 }, NumberOfOccupants: { type: integer, description: 'Number of occupants', example: 1 }, Comment: { type: string, description: 'Additional comments', example: Comment } } }, Events: { type: object, properties: { Event: { type: array, items: { type: object, properties: { CallData: { type: object, properties: { CallFrom: { type: string, description: 'Caller phone number', example: '123456789' }, RingThrough: { type: string, description: 'Ring-through number', example: '123456789' }, CallStatus: { type: string, description: 'Call status', enum: [Answer, Busy, Abandoned, Disconnect, FailureToConnect, NoAnswer], example: Answer }, Duration: { type: integer, description: 'Call duration in seconds', example: 900 }, AudioLink: { type: string, description: 'Audio recording link', example: 'http://www.test.co.in' } } }, EventReasons: { type: string, description: 'Event reasons/description', example: 'Appointment Title' }, Comments: { type: string, description: 'Event comments', example: 'Appointment Description' }, Agent: { type: object, properties: { AgentName: { type: object, properties: { FirstName: { type: string, description: 'Agent first name', example: abc }, LastName: { type: string, description: 'Agent last name', example: abc } } } } }, UnitSpaceIds: { type: string, description: 'Comma-separated unit space IDs', example: '1234,5678' }, EmailData: { type: object, properties: { EmailDate: { type: string, description: 'Email date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T14:30:00' }, EmailAddresses: { type: object, properties: { EmailAddress: { type: array, items: { type: object, required: ['@value', '@attributes'], properties: { '@value': { type: string, format: email, description: 'Email address', example: from@test.com }, '@attributes': { type: object, required: [Scope], properties: { Scope: { type: string, description: 'Email scope', enum: [From, To, Cc, Bcc], example: From } } } } } } } }, Subject: { type: string, description: 'Email subject', example: 'Email Subject' }, EmailBody: { type: string, description: 'Email body content', example: 'Email Body' } } }, '@attributes': { type: object, properties: { EventType: { type: string, description: 'Type of event', enum: [CallFromProspect, CallToProspect, Appointment, Show, EmailToProspect, EmailFromProspect, Note, IncomingText, OutgoingText, VirtualTour, SelfGuidedTour], example: CallFromProspect }, EventDate: { type: string, description: 'Event date and time (MM/DD/YYYYTHH:MM:SS )', example: '03/15/2024T14:30:00' }, AppointmentDate: { type: string, description: 'Appointment date (MM/DD/YYYY)', example: 03/20/2024 }, TimeFrom: { type: string, description: 'Appointment start time (HH:MMam/pm)', example: '02:00pm' }, TimeTo: { type: string, description: 'Appointment end time (HH:MMam/pm)', example: '03:00pm' } } } } } } } } } } } } } }, description: 'Method parameters' } } } } }, updateLeads-r1-request-schema: { description: 'Updates an existing lead/prospect with comprehensive customer information, events, and preferences.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateLeads], description: 'Method name to be called', example: updateLeads }, version: { type: string, description: 'Method version', example: r1 }, params: { type: object, required: [PropertyId, ApplicationId, Prospects], properties: { PropertyId: { type: integer, description: 'Property ID where the lead belongs', example: 1234 }, ApplicationId: { type: integer, description: 'Application ID to update', example: 5678 }, Prospects: { type: object, required: [Prospect], properties: { Prospect: { type: array, items: { type: object, required: [TransactionData, Customers], properties: { TransactionData: { type: object, properties: { OriginatingLeadSource: { type: string, description: 'Original lead source', example: 'Phone Book' }, InternetListingService: { type: string, description: 'Internet listing service name', example: 'ILS Name' } } }, LastUpdateDate: { type: string, description: 'Last update date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T10:30:00' }, LeasingAgentId: { type: integer, description: 'Leasing agent ID', example: 12345 }, Customers: { type: object, required: [Customer], properties: { Customer: { type: object, required: [Identification, Name], properties: { Identification: { type: object, required: [IDValue], properties: { IDValue: { type: string, description: 'Applicant ID', example: '19760815' } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'Customer first name', example: John }, LastName: { type: string, description: 'Customer last name', example: Doe }, NamePrefix: { type: string, description: 'Name prefix', example: Mr. }, MiddleName: { type: string, description: 'Middle name', example: Michael }, MaidenName: { type: string, description: 'Maiden name', example: Smith }, NameSuffix: { type: string, description: 'Name suffix', example: Jr. } } }, Phone: { type: array, items: { type: object, required: [PhoneNumber, '@attributes'], properties: { PhoneNumber: { type: string, description: 'Phone number', example: '123456789' }, '@attributes': { type: object, required: [PhoneType], properties: { PhoneType: { type: string, enum: [personal, cell, office, fax, home, other], description: 'Type of phone number', example: personal } } } } } }, Email: { type: string, format: email, description: 'Email address', example: john.doe@example.com } } } } }, CustomerPreferences: { type: object, properties: { TargetMoveInDate: { type: string, description: 'Target move-in date (mm/dd/yyyy)', example: 04/01/2024 }, DesiredFloorplan: { type: string, description: 'Desired floor plan', example: '1 floor' }, DesiredUnit: { type: object, properties: { Identification: { type: object, required: [IDValue], properties: { IDValue: { type: integer, description: 'Property unit ID', example: 12345 }, '@attributes': { type: object, properties: { IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDType: { type: string, description: 'ID type', example: property_unit_id } } } } }, MarketingName: { type: string, description: 'Marketing name for the unit', example: 1A1-A }, UnitType: { type: string, description: 'Unit type', example: '1' }, UnitBedrooms: { type: integer, description: 'Number of bedrooms', example: 1 }, UnitBathrooms: { type: number, description: 'Number of bathrooms', example: 1 }, MinSquareFeet: { type: string, description: 'Minimum square feet', example: '900' }, MaxSquareFeet: { type: string, description: 'Maximum square feet', example: '1200' }, UnitRent: { type: number, description: 'Unit rent', example: 50 }, MarketRent: { type: number, description: 'Market rent', example: 35 }, NumberOccupants: { type: integer, description: 'Number of occupants', example: 5 } } }, DesiredRent: { type: object, properties: { '@attributes': { type: object, properties: { Min: { type: string, description: 'Minimum desired rent', example: $200.00 }, Max: { type: string, description: 'Maximum desired rent', example: $500.00 } } } } }, DesiredNumBedrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: integer, description: 'Exact number of bedrooms', example: 2 }, Min: { type: integer, description: 'Minimum number of bedrooms', example: 1 }, Max: { type: integer, description: 'Maximum number of bedrooms', example: 3 } } } } }, DesiredNumBathrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: number, description: 'Exact number of bathrooms', example: 2 }, Min: { type: number, description: 'Minimum number of bathrooms', example: 1 }, Max: { type: number, description: 'Maximum number of bathrooms', example: 3 } } } } }, DesiredLeaseTerms: { type: string, description: 'Desired lease terms in months', example: '18' }, DesiredLeaseTermId: { type: string, description: 'Desired lease term ID', example: '1234' }, NumberOfOccupants: { type: string, description: 'Number of occupants', example: '2' }, Comment: { type: string, description: 'Customer preferences comment', example: 'Looking for a quiet unit' } } }, Events: { type: object, properties: { Event: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { EventType: { type: string, enum: [CallFromProspect, CallToProspect, Appointment, Show, EmailToProspect, EmailFromProspect], description: 'Type of event', example: CallFromProspect }, EventDate: { type: string, description: 'Event date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T14:30:00' }, AppointmentDate: { type: string, description: 'Appointment date (MM/DD/YYYY)', example: 03/20/2024 }, TimeFrom: { type: string, description: 'Appointment start time (HH:MMam/pm)', example: '02:00pm' }, TimeTo: { type: string, description: 'Appointment end time (HH:MMam/pm)', example: '03:00pm' }, EventId: { type: string, description: 'Event ID for updates', example: '12345' } } }, CallData: { type: object, properties: { CallFrom: { type: string, description: 'Call from phone number', example: 123-456-7890 }, RingThrough: { type: string, description: 'Ring through phone number', example: 123-456-7891 }, CallStatus: { type: string, enum: [Answer, Busy, NoAnswer, Abandoned, Disconnect, FailureToConnect], description: 'Call status', example: Answer }, Duration: { type: string, description: 'Call duration in seconds', example: '180' }, AudioLink: { type: string, description: 'URL for the call audio', example: 'https://example.com/audio.mp3' } } }, Comments: { type: string, description: 'Event comments', example: 'Customer called about availability' }, EventReasons: { type: string, description: 'Event reasons', example: 'Incoming Call from John Doe | Result: High Probability of Leasing' }, UnitSpaceIds: { type: string, description: 'Comma-separated unit space IDs', example: '123,456,789' }, EmailData: { type: object, properties: { EmailDate: { type: string, description: 'Email date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T15:30:00' }, EmailAddresses: { type: object, properties: { EmailAddress: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Scope: { type: string, enum: [from, to, cc, bcc], description: 'Email scope', example: to } } }, '@value': { type: string, description: 'Email address', example: john.doe@example.com } } } } } }, Subject: { type: string, description: 'Email subject', example: 'Property Inquiry' }, EmailBody: { type: string, description: 'Email body content', example: 'I am interested in your property...' } } }, Agent: { type: object, properties: { AgentName: { type: object, properties: { FirstName: { type: string, description: 'Agent first name', example: Jane }, LastName: { type: string, description: 'Agent last name', example: Smith } } } } } } } } } } } } } } } } } } } } }, updateLeads-r2-request-schema: { description: 'Updates an existing lead/prospect with comprehensive customer information, events, and preferences.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateLeads], description: 'Method name to be called', example: updateLeads }, version: { type: string, description: 'Method version', example: r2 }, params: { type: object, required: [propertyId, prospects], properties: { propertyId: { type: integer, description: 'Property ID where the lead belongs', example: 1234 }, doNotSendConfirmationEmail: { type: integer, enum: [0, 1], description: 'Whether to skip sending confirmation emails (0 for false, 1 for true) (optional)', example: 0 }, prospects: { type: object, required: [prospect], properties: { prospect: { type: array, items: { type: object, required: [applicationId, leadSource], properties: { applicationId: { type: integer, description: 'Application ID to update', example: 5678 }, leadSource: { type: object, properties: { originatingLeadSourceId: { type: integer, description: 'Originating lead source ID', example: 123 }, internetListingServiceId: { type: integer, description: 'Internet listing service ID', example: 456 }, additionalLeadSourceIds: { type: string, description: 'Comma-separated lead source IDs', example: '102,103' } } }, leasingAgentId: { type: integer, description: 'Leasing agent ID (optional)', example: 201 }, leadScore: { type: number, description: 'External lead score (optional)', example: 85.5 }, leadScoreMin: { type: number, description: 'Minimum lead score range (optional)', example: 0 }, leadScoreMax: { type: number, description: 'Maximum lead score range (optional)', example: 100 }, customers: { type: object, properties: { customer: { type: array, items: { type: object, properties: { applicantId: { type: integer, description: 'Applicant ID', example: 123 }, email: { type: string, format: email, description: 'Email address', example: john.doe@example.com }, phone: { type: object, properties: { personalPhoneNumber: { type: string, description: 'Personal phone number', example: '+1234567890' }, cellPhoneNumber: { type: string, description: 'Cell phone number', example: '+1234567891' }, officePhoneNumber: { type: string, description: 'Office phone number', example: '+1234567892' }, faxNumber: { type: string, description: 'Fax number', example: '+1234567893' } } }, name: { type: object, properties: { firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe }, middleName: { type: string, description: 'Middle name', example: Michael }, maidenName: { type: string, description: 'Maiden name', example: Smith }, namePrefix: { type: string, description: 'Name prefix', example: Mr. }, nameSuffix: { type: string, description: 'Name suffix', example: Jr. } } }, customerRelationshipTypeId: { type: integer, description: 'Customer relationship type ID (optional)', example: 1 }, address: { type: object, properties: { addressLine1: { type: string, description: 'Address line 1', example: '123 Main St' }, addressLine2: { type: string, description: 'Address line 2', example: 'Apt 4B' }, addressLine3: { type: string, description: 'Address line 3', example: 'Building A' }, city: { type: string, description: City, example: 'New York' }, state: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '10001' } } } } } } } }, customerPreferences: { type: object, properties: { desiredUnitTypeId: { type: integer, description: 'Desired unit type ID', example: 1234 }, desiredUnitId: { type: integer, description: 'Desired unit ID', example: 1234 }, desiredFloorplanId: { type: integer, description: 'Desired floor plan ID', example: 1234 }, desiredNumBedrooms: { type: integer, description: 'Desired number of bedrooms', example: 2 }, desiredNumBathrooms: { type: number, description: 'Desired number of bathrooms', example: 2 }, desiredLeaseTermMonth: { type: integer, description: 'Desired lease term in months', example: 12 }, desiredLeaseTermId: { type: integer, description: 'Desired lease term ID', example: 601 }, desiredMoveInDate: { type: string, description: 'Desired move-in date (mm/dd/yyyy)', example: 04/01/2024 }, numberOfOccupants: { type: integer, description: 'Number of occupants', example: 2 }, desiredRent: { type: object, properties: { min: { type: number, description: 'Minimum desired rent', example: 1200 }, max: { type: number, description: 'Maximum desired rent', example: 1800 } } }, comment: { type: string, description: 'Customer preferences comment', example: 'Looking for a quiet unit' } } }, events: { type: object, properties: { event: { type: array, items: { type: object, properties: { eventId: { type: integer, description: 'Event ID', example: 12345 }, typeId: { type: integer, description: 'Event type ID', example: 1 }, unitSpaceIds: { type: string, description: 'Comma-separated unit space IDs', example: '123,456,789' }, date: { type: string, description: 'Event date and time (YYYY-MM-DDTHH:MM:SS)', example: '2024-03-15T14:30:00' }, type: { type: string, enum: [CallFromProspect, CallToProspect, Appointment, Tour, EmailToProspect, EmailFromProspect], description: 'Type of event', example: CallFromProspect }, callData: { type: object, properties: { callFrom: { type: string, description: 'Call from phone number', example: 123-456-7890 }, ringThrough: { type: string, description: 'Ring through phone number', example: 123-456-7891 }, callStatus: { type: string, enum: [Answer, Busy, NoAnswer, Abandoned, Disconnect, FailureToConnect], description: 'Call status', example: Answer }, duration: { type: integer, description: 'Call duration in seconds', example: 180 }, audioLink: { type: string, description: 'URL for the call audio', example: 'https://example.com/audio.mp3' } } }, comments: { type: string, description: 'Event comments', example: 'Customer called about availability' }, subtypeId: { type: integer, description: 'Subtype ID', example: 1 }, appointmentDate: { type: string, description: 'Appointment date (mm/dd/yyyy)', example: 03/20/2024 }, timeFrom: { type: string, description: 'Appointment start time (HH:MMam/pm)', example: '02:00pm' }, timeTo: { type: string, description: 'Appointment end time (HH:MMam/pm)', example: '03:00pm' }, title: { type: string, description: 'Event title', example: 'Incoming Call from John Doe' }, deleteAppointment: { type: boolean, description: 'Indicates if the appointment should be deleted', example: false }, eventResultId: { type: integer, description: 'Identifier for the result of the event', example: 5 } } } } } } } } } } } } } } } } }, getLeadPickLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { EventTypes: { type: object, required: [EventType], properties: { EventType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'MITS event name', example: EmailFromProspect }, Id: { type: integer, description: 'Event type ID', example: 1 }, entrataName: { type: string, description: 'Entrata event name', example: 'Email Incoming' } } } } } } } }, Property: { type: object, additionalProperties: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Property ID', example: 123 } } }, LeasingAgents: { type: object, properties: { LeasingAgent: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Full name of leasing agent', example: 'John Smith' }, Id: { type: integer, description: 'Leasing agent ID', example: 456 } } } } } } } }, LeadSources: { type: object, properties: { LeadSource: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Lead source name', example: Website }, Id: { type: integer, description: 'Lead source ID', example: 789 }, WebVisible: { type: string, enum: ['true', 'false'], description: 'Whether the lead source is visible on web', example: 'true' } } } } } } } } } } }, EventResults: { type: object, properties: { EventResult: { type: array, items: { type: object, properties: { name: { type: string, description: 'Event result name', example: Scheduled }, Id: { type: integer, description: 'Event result ID', example: 101 } } } } } }, LeadStatuses: { type: object, properties: { LeadStatus: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Lead status ID', example: 201 }, name: { type: string, description: 'Combined stage and status name', example: 'Prospect Inquiry' }, leaseIntervalTypeName: { type: string, description: 'Lease interval type name', example: 'Fixed Term' } } } } } } } } } } } } } }, getLeadPickLists-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { eventTypes: { type: object, properties: { eventType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'MITS event name', example: 'Email From Prospect' }, id: { type: integer, description: 'Event type ID', example: 1 }, entrataName: { type: string, description: 'Entrata event name', example: 'Email Incoming' } } } } } } } }, eventSubTypes: { type: object, properties: { eventSubType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Event sub type name', example: 'Virtual Tour' }, id: { type: integer, description: 'Event sub type ID', example: 1 }, eventTypeId: { type: integer, description: 'Associated event type ID', example: 17 } } } } } } } }, property: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Property ID', example: 1234 } } }, leasingAgents: { type: object, properties: { leasingAgent: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Leasing agent full name', example: 'John Smith' }, id: { type: integer, description: 'Leasing agent ID', example: 101 } } } } } } } }, leadSources: { type: object, properties: { leadSource: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Lead source name', example: Walk-in }, id: { type: integer, description: 'Lead source ID', example: 1 }, webVisible: { type: string, enum: ['true', 'false'], description: 'Whether lead source is web visible', example: 'true' }, vanityNumber: { type: string, description: 'Vanity phone number if available', example: 555-RENT } } } } } } } } } } }, quoteProvisions: { type: object, properties: { quoteProvision: { type: array, items: { type: object, description: 'Quote provision details', properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Quote provision ID', example: 1 }, name: { type: string, description: 'Quote provision name', example: Rent } } } } } } } }, eventResults: { type: object, properties: { eventResult: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { name: { type: string, description: 'Event result name', example: Scheduled }, id: { type: integer, description: 'Event result ID', example: 1 }, eventTypeId: { type: integer, description: 'Associated event type ID', example: 17 }, defaultEventResultId: { type: integer, description: 'Default event result ID', example: 1 }, defaultEventResult: { type: string, description: 'Default event result name', example: Scheduled } } } } } } } }, leadStatuses: { type: object, properties: { leadStatus: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Lead status ID', example: 1 }, name: { type: string, description: 'Lead status name', example: 'Prospect New' }, leaseIntervalTypeName: { type: string, description: 'Lease interval type name', example: Traditional } } } } } } } }, applicationStages: { type: object, properties: { applicationStage: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Application stage ID', example: 1 }, name: { type: string, description: 'Application stage name', example: Prospect } } } } } } } }, applicationStatuses: { type: object, properties: { applicationStatus: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Application status ID', example: 1 }, name: { type: string, description: 'Application status name', example: New } } } } } } } }, psProducts: { type: object, properties: { psProduct: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'PS product ID', example: 1 }, name: { type: string, description: 'PS product name', example: 'API Services' } } } } } } } }, listItemTypes: { type: object, properties: { listItemType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'List item type ID', example: 1 }, name: { type: string, description: 'List item type name', example: 'Lead Cancellation' } } }, listItems: { type: object, properties: { listItem: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'List item ID', example: 1 }, name: { type: string, description: 'List item name', example: 'Not Interested' } } } } } } } } } } } } }, customerRelationshipTypes: { type: object, properties: { customerRelationshipType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Customer relationship type ID', example: 1 }, name: { type: string, description: 'Customer relationship type name', example: 'Primary Applicant' }, isDefault: { type: integer, enum: [0, 1], description: 'Whether this is the default relationship type', example: 1 }, customerType: { type: string, description: 'Customer type name', example: Applicant }, customerTypeId: { type: integer, description: 'Customer type ID', example: 1 } } } } } } } } } } } } } }, getLeadEvents-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', example: 200 }, result: { type: object, required: [prospects], properties: { prospects: { type: object, properties: { prospect: { type: array, items: { type: object, properties: { applicationId: { type: integer, description: 'Application ID', example: 123 }, events: { type: object, properties: { event: { type: array, items: { type: object, properties: { eventId: { type: integer, description: 'Event ID', example: 987654 }, typeId: { type: integer, description: 'Event type ID', example: 1 }, type: { type: string, description: 'Event type name', example: 'Call - Incoming' }, date: { type: string, format: date, description: 'Event date (YYYY-MM-DD)', example: '2023-06-15' }, dateTime: { type: string, pattern: '^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Event date and time with timezone (YYYY-MM-DD HH:MM:SS TZ)', example: '2023-06-15 14:30:00 MST' }, leaseId: { type: string, description: 'Associated lease ID (optional)', example: lease123 }, leaseIntervalId: { type: string, description: 'Associated lease interval ID (optional)', example: interval456 }, applicantId: { type: string, description: 'Associated applicant ID (optional)', example: applicant789 }, subtypeId: { type: integer, description: 'Event subtype ID (optional)', example: 5 }, subtype: { type: string, description: 'Event subtype name (optional)', example: 'Incoming Call' }, appointmentDate: { type: string, format: date, description: 'Appointment date for scheduled appointments (optional)', example: '2023-06-20' }, timeFrom: { type: string, description: 'Appointment start time (optional) (HH:MM:SS)', example: '10:00:00' }, timeTo: { type: string, description: 'Appointment end time (optional) (HH:MM:SS)', example: '11:00:00' }, callData: { type: object, description: 'Call data for phone events (optional)', properties: { callId: { type: integer, description: 'Call ID', example: 123456 }, callFrom: { type: string, description: 'Caller phone number', example: +1-555-123-4567 }, ringThrough: { type: string, description: 'Destination phone number', example: +1-555-987-6543 }, duration: { type: string, description: 'Call duration in seconds', example: '180' }, callStatus: { type: string, description: 'Call status', example: answered }, audioLink: { type: string, description: 'Audio recording link (optional)', example: 'https://example.com/audio/123456.mp3' } } }, appointmentEventId: { type: integer, description: 'Appointment event ID for tours/visits (optional)', example: 789123 }, emailAddresses: { type: object, description: 'Email data for email events (optional)', properties: { from: { type: string, description: 'Sender email address', example: leasing@property.com }, to: { type: string, description: 'Recipient email address', example: prospect@example.com }, cc: { type: string, description: 'CC email addresses (optional)', example: cc1@example.com }, bcc: { type: string, description: 'BCC email addresses (optional)', example: bcc1@example.com }, subject: { type: string, description: 'Email subject', example: 'Tour Confirmation' } } }, Comments: { type: string, description: 'Event comments/notes (optional)', example: 'Prospect interested in 2-bedroom units' }, eventResultId: { type: integer, description: 'Event result ID (optional)', example: 3 }, eventResult: { type: string, description: 'Event result name (optional)', example: 'Qualified Lead' }, eventReason: { type: string, description: 'Event reason/handle (optional)', example: 'Follow-up call' }, unitSpaceIds: { type: string, description: 'Comma-separated unit space IDs (optional)', example: '101,102,201' }, agentId: { type: integer, description: 'Leasing agent ID (optional)', example: 456 }, agentFirstName: { type: string, description: 'Leasing agent first name (optional)', example: John }, agentLastName: { type: string, description: 'Leasing agent last name (optional)', example: Smith } } } } } } } } } } } } } } } } }, getLeads-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '17' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [propertyId, prospects], properties: { propertyId: { type: integer, description: 'Property ID', example: 1234 }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, prospects: { type: object, required: [prospect], properties: { prospect: { type: array, items: { type: object, required: [applicationId, status, statusId, lastUpdatedDate, lastUpdatedDateTime, createdOn, createdOnDateTime], properties: { applicationId: { type: integer, description: 'Application/Lead ID', example: 1001 }, status: { type: string, description: 'Lead status name', example: Active }, statusId: { type: integer, description: 'Lead status ID', example: 1 }, leadSourceId: { type: integer, description: 'Lead source ID (optional)', example: 5 }, leadSource: { type: string, description: 'Lead source name (optional)', example: Website }, leasingAgentId: { type: integer, description: 'Leasing agent ID (optional)', example: 201 }, leasingAgent: { type: string, description: 'Leasing agent name (optional)', example: 'Jane Doe' }, psProductId: { type: integer, description: 'Product service ID (optional)', example: 10 }, internetListingServiceId: { type: integer, description: 'Internet listing service ID (optional)', example: 15 }, internetListingService: { type: string, description: 'Internet listing service name (optional)', example: Apartments.com }, lastUpdatedDate: { type: string, format: date, description: 'Last updated date (YYYY-MM-DD)', example: '2024-03-15' }, lastUpdatedDateTime: { type: string, description: 'Last updated date and time (YYYY-MM-DDTHH:MM:SS)', example: '2024-03-15T10:30:00' }, createdOn: { type: string, format: date, description: 'Creation date (YYYY-MM-DD)', example: '2024-01-15' }, createdOnDateTime: { type: string, description: 'Creation date and time (YYYY-MM-DDTHH:MM:SS)', example: '2024-01-15T10:30:00' }, screeningResultStatus: { type: string, description: 'Screening result status (optional)', example: Approved }, spaceConfiguration: { type: string, description: 'Space configuration name (optional)', example: '2 Bedroom / 2 Bath' }, lease: { type: object, description: 'Lease information (optional)', properties: { leaseId: { type: integer, description: 'Lease ID', example: 5001 }, status: { type: string, description: 'Lease status', example: Active }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 3001 }, expectedMoveInDate: { type: string, format: date, description: 'Expected move-in date (YYYY-MM-DD)', example: '2024-04-01' }, expectedMoveOutDate: { type: string, format: date, description: 'Expected move-out date (YYYY-MM-DD)', example: '2025-03-31' }, leaseFromDate: { type: string, format: date, description: 'Lease start date (YYYY-MM-DD)', example: '2024-04-01' }, leaseToDate: { type: string, format: date, description: 'Lease end date (YYYY-MM-DD)', example: '2025-03-31' } } }, customers: { type: object, description: 'Customer information', properties: { customer: { type: array, items: { type: object, properties: { applicantId: { type: integer, description: 'Applicant ID', example: 123 }, customerId: { type: integer, description: 'Customer ID', example: 2001 }, customerRelationshipTypeId: { type: integer, description: 'Customer Relationship Type ID', example: 2 }, customerRelationshipType: { type: string, description: 'Customer Relationship Type', example: Guarantor }, customerType: { type: string, description: 'Customer Type (e.g. Applicant, Guarantor, etc)', example: Applicant }, namePrefix: { type: string, description: 'Name prefix', example: Mr. }, firstName: { type: string, description: 'Customer first name', example: John }, middleName: { type: string, description: 'Customer middle name', example: Allen }, lastName: { type: string, description: 'Customer last name', example: Smith }, maidenName: { type: string, description: 'Customer maiden name', example: Johnson }, nameSuffix: { type: string, description: 'Name suffix', example: Jr. }, personalPhoneNumber: { type: string, description: 'Primary phone number (personal)', example: 555-123-4567 }, cellPhoneNumber: { type: string, description: 'Cell phone number', example: 555-223-7890 }, officePhoneNumber: { type: string, description: 'Office phone number', example: 555-333-9999 }, faxPhoneNumber: { type: string, description: 'Fax number', example: 555-555-0000 }, phones: { type: object, description: 'List of phone numbers', properties: { phone: { type: array, items: { type: object, properties: { isPrimary: { type: integer, description: '1 if primary, 0 otherwise', example: 1 }, phoneType: { type: string, description: 'Phone type name', example: Mobile }, phoneNumber: { type: string, description: 'Phone number without country code', example: 555-223-7890 }, countryCode: { type: string, description: 'Country code', example: '+1' } } } } } }, email: { type: string, format: email, description: 'Customer email', example: john.smith@example.com }, isActiveBankruptcy: { type: boolean, description: 'Indicates if customer has an active bankruptcy', example: false }, bankruptcyDate: { type: string, format: date, description: 'Bankruptcy date', example: '2020-05-01' }, bankruptcyNote: { type: string, description: 'Notes relating to bankruptcy status', example: 'Discharged 2021' }, googleClickId: { type: string, description: 'Google Click ID (gclid)', example: EAIaIQobChMInr7Y6KLhjAMV }, googleClientId: { type: string, description: 'Google Client ID', example: '123456789.987654321' }, birthDate: { type: string, format: date, description: 'Customer birth date', example: '1990-06-15' }, addresses: { type: object, description: 'List of addresses for the customer', properties: { address: { type: array, items: { type: object, properties: { addressType: { type: string, description: 'Address type name', example: Current }, addressLine: { type: string, description: 'Full street address (concatenated)', example: '123 Main St Apt B' }, city: { type: string, description: City, example: Anytown }, state: { type: string, description: 'State code', example: CA }, province: { type: string, description: Province, example: 'British Columbia' }, countryCode: { type: string, description: 'Country code', example: US }, postalCode: { type: string, description: 'ZIP/Postal code', example: '12345' } } } } } }, pets: { type: object, description: 'Customer Pets', properties: { pet: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Pet ID', example: 45 }, petType: { type: string, description: 'Pet type (e.g. Dog, Cat)', example: Dog }, name: { type: string, description: 'Pet name', example: Buddy }, breed: { type: string, description: 'Pet breed', example: 'Golden Retriever' }, color: { type: string, description: 'Pet color', example: Golden }, weight: { type: number, description: 'Pet weight', example: 65.5 }, age: { type: string, description: 'Pet age', example: '3' }, gender: { type: string, description: 'Pet gender', example: Male }, description: { type: string, description: 'Additional description of pet', example: 'Service Animal' }, licenseCity: { type: string, description: 'City that issued the pet license', example: Anytown }, licenseNumber: { type: string, description: 'Pet license number', example: XYZ123 } } } } } } } } } } }, customerPreferences: { type: array, items: { type: object, properties: { targetMoveInDate: { type: string, format: date, description: 'Target move-in date (YYYY-MM-DD)', example: '2024-04-01' }, desiredFloorplan: { type: string, description: 'Desired floorplan', example: '2 Bedroom / 2 Bath' }, desiredUnit: { type: object, description: 'Desired unit specifications', properties: { propertyUnitId: { type: integer, description: 'Property unit ID', example: 101 }, unitNumber: { type: string, description: 'Unit number or marketing name', example: 5A }, unitSpaceId: { type: integer, description: 'Unit space ID', example: 2105 }, unitType: { type: string, description: 'Unit type name', example: Apartment }, unitBedrooms: { type: integer, description: 'Number of bedrooms in the unit', example: 2 }, unitBathrooms: { type: integer, description: 'Number of bathrooms in the unit', example: 2 }, minSquareFeet: { type: integer, description: 'Minimum square feet for the unit', example: 1050 }, maxSquareFeet: { type: integer, description: 'Maximum square feet for the unit', example: 1250 }, initialRent: { type: number, description: 'Initial rent for the unit', example: 1550 }, marketRent: { type: number, description: 'Market rent for the unit', example: 1750 }, maxOccupants: { type: integer, description: 'Maximum number of occupants allowed', example: 4 }, floorplanId: { type: integer, description: 'Property floorplan ID', example: 3005 }, floorplanName: { type: string, description: 'Property floorplan name', example: 'Plan C - 2 Bed / 2 Bath' }, squareFootType: { type: string, description: 'Type of square footage measurement', example: internal }, unitEconomicStatus: { type: string, description: 'Economic status of the unit', example: residential }, unitOccupancyStatus: { type: string, description: 'Occupancy status of the unit', example: vacant }, unitLeasedStatus: { type: string, description: 'Lease status of the unit', example: leased }, buildingName: { type: string, description: 'Name of the building (if available)', example: 'West Wing' } } }, desiredMinRent: { type: number, description: 'Minimum desired rent', example: 1500 }, desiredMaxRent: { type: number, description: 'Maximum desired rent', example: 2000 }, desiredNumBedrooms: { type: integer, description: 'Desired number of bedrooms', example: 2 }, desiredNumBathrooms: { type: integer, description: 'Desired number of bathrooms', example: 2 }, desiredLeaseTerms: { type: integer, description: 'Desired lease term in months', example: 12 }, desiredLeaseTermName: { type: string, description: 'Desired lease term name', example: '12 Month' }, numberOfOccupants: { type: integer, description: 'Number of occupants', example: 2 }, amenities: { type: object, description: 'Amenity preferences', properties: { propertyAmenities: { type: array, description: 'List of community amenities', items: { type: object, properties: { amenity: { type: array, items: { type: object, properties: { amenityType: { type: string, description: 'Amenity type: "Apartment" or "Community"', example: Community }, amenity: { type: string, description: 'Amenity name', example: 'Swimming Pool' }, description: { type: string, description: 'Amenity description', example: 'Outdoor swimming pool' } } } } } } }, unitAmenities: { type: array, description: 'List of apartment (unit) amenities', items: { type: object, properties: { amenity: { type: array, items: { type: object, properties: { amenityType: { type: string, description: 'Amenity type: "Apartment" or "Community"', example: Apartment }, amenity: { type: string, description: 'Amenity name', example: Dishwasher }, description: { type: string, description: 'Amenity description', example: 'Built-in dishwasher' } } } } } } } } }, pets: { type: object, description: 'Pet information', properties: { pet: { type: array, items: { type: object, properties: { petType: { type: string, description: 'Pet type', example: Dog }, count: { type: integer, description: 'Number of pets', example: 1 } } } } } } } } }, events: { type: object, description: 'Event information', properties: { event: { type: array, items: { type: object, properties: { eventId: { type: integer, description: 'Event ID', example: 5001 }, typeId: { type: integer, description: 'Event type ID', example: 1 }, leaseId: { type: string, description: 'Lease ID', example: lease123 }, leaseIntervalId: { type: string, description: 'Lease interval ID', example: interval456 }, applicantId: { type: string, description: 'Applicant ID', example: applicant789 }, type: { type: string, description: 'Event type name', example: 'Call - Incoming' }, subtypeId: { type: integer, description: 'Event subtype ID', example: 1 }, subtype: { type: string, description: 'Event subtype name', example: 'Incoming Call' }, appointmentDate: { type: string, description: 'Appointment date for scheduled appointments YYYY-MM-DD (optional)', example: '2023-06-20' }, timeFrom: { type: string, description: 'Appointment start time HH:MM:SS (optional)', example: '10:00:00' }, timeTo: { type: string, description: 'Appointment end time HH:MM:SS (optional)', example: '11:00:00' }, date: { type: string, format: date, description: 'Event date (YYYY-MM-DD)', example: '2024-03-15' }, dateTime: { type: string, description: 'Event date and time (YYYY-MM-DD HH:MM:SS TZ)', example: '2024-03-15 14:30:00 MST' }, agentId: { type: integer, description: 'Agent ID', example: 201 }, agentFirstName: { type: string, description: 'Agent first name', example: Jane }, agentLastName: { type: string, description: 'Agent last name', example: Doe }, callData: { type: object, description: 'Call event details (present for incoming calls and voicemails)', properties: { callId: { type: string, description: 'Unique Call ID', example: c1234 }, callFrom: { type: string, description: 'Originating phone number', example: 555-111-2222 }, ringThrough: { type: string, description: 'Destination phone number', example: 555-333-4444 }, duration: { type: integer, description: 'Call duration in seconds', example: 125 }, callStatus: { type: string, description: 'Call status', example: Completed }, audioLink: { type: string, description: 'Link to call audio recording', example: 'https://audio.example.com/recording/12345' } } }, appointmentEventId: { type: string, description: 'Calendar event ID for tours or on-site visits', example: abcde-12345 }, Comments: { type: string, description: 'Event comments or notes (ASCII only, sanitized)', example: 'Client interested in 2-bed units. Requested more info.' }, eventResultId: { type: integer, description: 'Event result ID (if applicable)', example: 10 }, eventResult: { type: string, description: 'Event result description (if applicable)', example: 'Tour Completed' }, eventReasons: { type: string, description: 'Event reasons or handle (ASCII only, sanitized)', example: 'Follow-up requested|AudioLink:https://audio.com/rec/123' }, unitSpaceIds: { type: string, description: 'Comma-separated unit space IDs associated with this event', example: '205,206,218' } } } } } } } } } } } } } } } } }, getMitsLeads-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '18' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [LeadManagement], properties: { CurrencyCode: { type: string, description: 'Currency code for the property', example: USD }, LeadManagement: { type: array, items: { type: object, required: [Prospects], properties: { Prospects: { type: object, required: [Prospect], properties: { Prospect: { type: object, required: [TransactionData, Customers, CustomerPreferences], properties: { TransactionData: { type: object, required: [Identification], properties: { Identification: { type: array, items: { type: object, required: [IDValue, '@attributes'], properties: { IDValue: { type: string, description: 'Identification value', example: 1976081517390875 }, '@attributes': { type: object, required: [IDType, IDScopeType], properties: { IDType: { type: string, description: 'Identification type', example: 'Lead Number' }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, OrganizationName: { type: string, description: 'Organization name', example: 'Acme Properties' }, Status: { type: string, description: 'Lead status', example: 'Guest Card Completed' } } } }, OriginatingLeadSource: { type: string, description: 'Lead source name', example: Website } } }, LastUpdateDate: { type: string, description: 'Last update date and time (YYYY-MM-DDTHH:MM:SS)', example: '2019-02-20T08:07:53' }, Customers: { type: object, required: [Customer], properties: { Customer: { type: object, required: [Identification, Name], properties: { Identification: { type: array, items: { type: object, required: [IDValue, '@attributes'], properties: { IDValue: { type: string, description: 'Customer identification value', example: '19760815' }, OrganizationName: { type: string, description: 'Organization name', example: 'Acme Properties' }, Status: { type: string, description: 'Lead status', example: 'Guest Card Completed' }, '@attributes': { type: object, required: [IDType, IDScopeType], properties: { IDType: { type: string, description: 'Customer identification type', example: 'Applicant Id' }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } } } } }, Name: { type: object, properties: { NamePrefix: { type: string, description: 'Name prefix', example: Mr. }, FirstName: { type: string, description: 'First name', example: Sdsad }, MiddleName: { type: string, description: 'Middle name', example: Michael }, LastName: { type: string, description: 'Last name', example: Asdsa }, MaidenName: { type: string, description: 'Maiden name', example: Johnson }, NameSuffix: { type: string, description: 'Name suffix', example: Jr. } } }, Phone: { type: object, properties: { PhoneNumber: { type: string, description: 'Phone number', example: '2213213123' }, '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', enum: [personal, cell, office, fax], example: cell } } } } }, Email: { type: string, format: email, description: 'Email address', example: john.smith@example.com } } } } }, CustomerPreferences: { type: object, properties: { TargetMoveInDate: { type: string, format: date, description: 'Target move-in date (YYYY-MM-DD)', example: '2019-02-20' }, DesiredFloorplan: { type: string, description: 'Desired floorplan', example: '2 Bedroom / 2 Bath' }, DesiredRent: { type: object, properties: { '@attributes': { type: object, properties: { Min: { type: string, description: 'Minimum desired rent', example: $1500 }, Max: { type: string, description: 'Maximum desired rent', example: $2000 } } } } }, DesiredNumBedrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: integer, description: 'Exact number of bedrooms desired', example: 2 } } } } }, DesiredNumBathrooms: { type: object, properties: { '@attributes': { type: object, properties: { Exact: { type: number, description: 'Exact number of bathrooms desired', example: 2 } } } } }, DesiredLeaseTerms: { type: string, description: 'Desired lease term in months', example: '10' }, DesiredLeaseTermName: { type: string, description: 'Desired lease term name', example: '10 Months' }, NumberOfOccupants: { type: integer, description: 'Number of occupants', example: 2 }, Comment: { type: string, description: 'Customer comments/notes', example: 'Interested in ground floor units' } } }, Events: { type: object, properties: { Event: { type: array, items: { type: object, required: [EventID, '@attributes'], properties: { EventID: { type: object, required: [Identification], properties: { Identification: { type: array, items: { type: object, required: [IDValue, '@attributes'], properties: { IDValue: { type: string, description: 'Event identification value', example: '147128113' }, OrganizationName: { type: string, description: 'Organization name', example: 'Acme Properties' }, Status: { type: string, description: 'Event status', example: Scheduled }, '@attributes': { type: object, required: [IDType, IDScopeType], properties: { IDType: { type: string, description: 'Event identification type', example: 'Event Id' }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } } } } } } }, Agent: { type: object, properties: { AgentID: { type: object, properties: { Identification: { type: object, required: [IDValue, '@attributes'], properties: { IDValue: { type: string, description: 'Agent ID value', example: '513102' }, OrganizationName: { type: string, description: 'Organization name', example: 'Acme Properties' }, Status: { type: string, description: 'Agent status', example: Active }, '@attributes': { type: object, required: [IDType, IDScopeType], properties: { IDType: { type: string, description: 'Agent ID type', example: 'Agent Id' }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } } } } } }, AgentName: { type: object, properties: { FirstName: { type: string, description: 'Agent first name', example: testa }, MiddleName: { type: string, description: 'Agent middle name', example: testa }, LastName: { type: string, description: 'Agent last name', example: ygyugu }, NameSuffix: { type: string, description: 'Agent name suffix', example: Jr. } } } } }, Comments: { type: string, description: 'Event comments', example: TestEast }, EventReasons: { type: string, description: 'Event reasons', example: 'Manual Contact added by Contact Points because Guest Card is submitted' }, '@attributes': { type: object, required: [EventType, EventDate], properties: { EventType: { type: string, description: 'MITS event type', enum: [Application, ApplicationDenied, Appointment, Cancel, CancelMoveIn, Contact, EmailToProspect, EmailFromILS, EmailFromProspect, LeaseSign, MonthToMonth, MoveIn, MoveOut, Notice, CallToProspect, CallFromProspect, Renew, Screen, Show, Transfer, WalkIn, Other], example: Appointment }, EventDate: { type: string, description: 'Event date and time (YYYY-MM-DDTHH:MM:SS)', example: '2019-02-20T08:10:27' } } }, CallData: { type: object, description: 'Contains details about incoming or voicemail call events, populated when relevant event types occur.', properties: { CallerId: { type: object, description: 'Caller identification details, present when call_id is available.', properties: { Identification: { type: array, description: 'Caller identification array, as per Identification type structure.', items: { type: object, properties: { IDValue: { type: string, description: 'Unique call identifier.', example: call_12345 }, OrganizationName: { type: string, description: 'Organization name', example: 'Acme Properties' }, Status: { type: string, description: 'Call status', example: Active }, '@attributes': { type: object, required: [IDType, IDScopeType], properties: { IDType: { type: string, description: 'Identification type, e.g., "Call Id"', example: 'Call Id' }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } } } } } } }, CallFrom: { type: string, description: 'Originating phone number (stripped country code if present and available).', example: '987654321' }, RingThrough: { type: string, description: 'Destination phone number (stripped country code if present and available).', example: '123456789' }, Duration: { type: integer, description: 'Call duration in seconds, if available.', example: 900 }, CallStatus: { type: string, description: 'Call status, mapped to allowed event values if available.', enum: [Answer, Busy, Abandon, Disconnect, FailureToConnect, NoAnswer], example: Answer }, AudioLink: { type: string, description: 'Audio recording link', example: 'http://www.test.co.in' } } } } } } } } } } } }, CustomRecords: { type: array, items: { type: object, properties: { Record: { type: array, items: { type: object, properties: { Name: { type: string, description: 'Record name', example: '1001' }, Value: { type: object, properties: { '@value': { type: string, description: 'Record value', example: '' }, '@attributes': { type: object, properties: { dataType: { type: string, description: 'Data type', example: Applicant_SSN } } } } } } } } } } } } } } } } } } } }, applyQuote-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, quoteId, message], properties: { status: { type: string, enum: [Success, Failed], description: 'Status of the quote application', example: Success }, quoteId: { type: integer, description: 'The quote ID that was processed', example: 9012 }, message: { type: string, description: 'Success or error message describing the result', example: 'Quote applied successfully to application.' } } } } } } }, generateQuotes-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '16' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [quotes], properties: { quotes: { type: object, required: [quote], properties: { quote: { type: array, items: { type: object, required: [node, status], properties: { node: { type: integer, description: 'Quote node number', example: 1 }, status: { type: string, enum: [Success, Failure], description: 'Status of the quote generation', example: Success }, quoteId: { type: integer, description: 'Generated quote ID (only present on success)', example: 9012 }, unitSpaceId: { type: integer, description: 'Unit space ID (only present on success)', example: 1001 }, leaseStartDate: { type: string, format: date, description: 'Lease start date (only present on success)', example: '2024-03-01' }, expiresOn: { type: string, description: 'Quote expiration date and time (only present on success)', example: '2024-03-15 23:59:59' }, applicationId: { type: integer, description: 'Application ID (only present on failure)', example: 5678 }, message: { type: string, description: 'Success or error message describing the result', example: 'Quote generated successfully' } } } } } } } } } } } }, getQuotes-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '19' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [applications], properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, applications: { type: object, required: [application], properties: { application: { type: array, items: { type: object, required: [applicationId, quotes], properties: { applicationId: { type: integer, description: 'Application ID', example: 1001 }, applicationStatusId: { type: integer, description: 'Application status ID', example: 1 }, applicationStatus: { type: string, description: 'Application status name', example: Active }, quotes: { type: object, required: [quote], properties: { quote: { type: array, items: { type: object, required: [id], properties: { id: { type: integer, description: 'Quote ID', example: 5001 }, moveInDate: { type: string, format: date, description: 'Move-in date (YYYY-MM-DD)', example: '2024-04-01' }, createdOn: { type: string, description: 'Quote creation date and time (YYYY-MM-DD HH:MM:SS)', example: '2024-03-15 10:30:00' }, acceptedOn: { type: string, format: date, description: 'Quote acceptance date (YYYY-MM-DD)', example: '2024-03-20' }, expiresOn: { type: string, description: 'Quote expiration date and time (YYYY-MM-DD HH:MM:SS)', example: '2024-04-01 23:59:59' }, cancelledOn: { type: string, format: date, description: 'Quote cancellation date (YYYY-MM-DD)', example: '2024-03-25' }, isSelected: { type: string, description: 'Whether this quote is selected (1 or 0)', enum: ['0', '1'], example: '1' }, buildingId: { type: integer, description: 'Building ID (optional)', example: 101 }, buildingName: { type: string, description: 'Building name (optional)', example: 'Main Building' }, floorPlanId: { type: integer, description: 'Floor plan ID (optional)', example: 201 }, floorPlanName: { type: string, description: 'Floor plan name (optional)', example: '2 Bedroom / 2 Bath' }, unitSpaceId: { type: string, description: 'Unit space ID (optional)', example: 101A }, unitNumber: { type: string, description: 'Unit number (optional)', example: '101' }, numberOfBedRooms: { type: integer, description: 'Number of bedrooms (optional)', example: 2 }, numberOfBathRooms: { type: number, description: 'Number of bathrooms (optional)', example: 2 }, leaseTerms: { type: object, properties: { leaseTerm: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Lease term ID', example: 301 }, termMonth: { type: integer, description: 'Lease term in months', example: 12 }, quoteAmount: { type: string, description: 'Quote amount for this lease term', example: '1500.00' }, taxAmount: { type: string, description: 'Tax amount for this lease term', example: '150.00' } } } } } }, quoteProvisions: { type: object, properties: { quoteProvision: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Provision ID', example: 401 }, name: { type: string, description: 'Provision name', example: 'Pet Policy' } } } } } }, optionalItems: { type: object, properties: { optionalItem: { type: array, items: { type: object, properties: { addOnTypeId: { type: integer, description: 'Add-on type ID', example: 501 }, leaseAssociationId: { type: integer, description: 'Lease association ID', example: 601 }, name: { type: string, description: 'Add-on name', example: 'Parking Space' }, type: { type: string, description: 'Add-on type', example: 'Rentable Item' }, currentRate: { type: string, description: 'Current monthly rate', example: '100.00' }, otherIncome: { type: string, description: 'Other income amount', example: '25.00' }, deposit: { type: string, description: 'Deposit amount', example: '200.00' }, reservationFee: { type: string, description: 'Reservation fee', example: '50.00' } } } } } }, services: { type: object, properties: { service: { type: array, items: { type: object, properties: { addOnTypeId: { type: integer, description: 'Add-on type ID', example: 502 }, leaseAssociationId: { type: integer, description: 'Lease association ID', example: 602 }, name: { type: string, description: 'Service name', example: 'Internet Service' }, type: { type: string, description: 'Service type', example: Service }, currentRate: { type: string, description: 'Current monthly rate', example: '75.00' }, otherIncome: { type: string, description: 'Other income amount', example: '10.00' }, deposit: { type: string, description: 'Deposit amount', example: '100.00' }, reservationFee: { type: string, description: 'Reservation fee', example: '25.00' } } } } } }, pets: { type: object, properties: { pet: { type: array, items: { type: object, properties: { petTypeId: { type: integer, description: 'Pet type ID', example: 701 }, petType: { type: string, description: 'Pet type name', example: Dog } } } } } }, charges: { type: object, properties: { charge: { type: array, items: { type: object, properties: { pricingLevelId: { type: integer, description: 'Pricing level ID', example: 801 }, pricingLevel: { type: string, description: 'Pricing level name', example: Standard }, pricingLevelReferenceId: { type: integer, description: 'Pricing level reference ID', example: 901 }, chargeUsageId: { type: integer, description: 'Charge usage ID', example: 1001 }, chargeUsage: { type: string, description: 'Charge usage name', example: Rent }, chargeTimingId: { type: integer, description: 'Charge timing ID', example: 1101 }, chargeTiming: { type: string, description: 'Charge timing name', example: Monthly }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1201 }, chargeCodeType: { type: string, description: 'Charge code type name', example: Rent }, chargeCodeId: { type: integer, description: 'Charge code ID', example: 1301 }, chargeCode: { type: string, description: 'Charge code name', example: 'Base Rent' }, chargeAmount: { type: string, description: 'Charge amount', example: '1500.00' }, taxAmount: { type: string, description: 'Tax amount', example: '150.00' } } } } } } } } } } } } } } } } } } } } } }, sendLeads-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '20' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [prospects], properties: { prospects: { type: object, required: [prospect], properties: { prospect: { type: array, items: { type: object, required: [node, status], properties: { node: { type: integer, description: 'Prospect node number', example: 1 }, applicationId: { type: integer, description: 'Created application ID (if successful)', example: 1001 }, applicantId: { type: integer, description: 'Created applicant ID (if successful)', example: 2001 }, status: { type: string, description: 'Processing status', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Status message', example: 'Lead inserted successfully.' }, redd_call_message: { type: string, description: 'Entrata Redd call message (if applicable)', example: 'Call data processed successfully' }, applicants: { type: object, properties: { applicant: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Applicant ID', example: 2001 }, firstName: { type: string, description: 'Applicant first name', example: John }, lastName: { type: string, description: 'Applicant last name', example: Doe } } } } } } } } } } } } } } } } }, sendMitsLeads-r1-response-schema: { type: object, required: [requestId, result], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, result: { type: object, required: [Prospects], properties: { Prospects: { type: object, required: [Prospect], properties: { Prospect: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [node, status], properties: { node: { type: string, description: 'Prospect node number', example: '1' }, reference_id: { type: string, description: 'Created application ID (if successful)', example: '1253581' }, applicant_id: { type: string, description: 'Created applicant ID (if successful)', example: '1246084' }, status: { type: string, description: 'Processing status', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Status message', example: 'Lead inserted successfully.' } } } } } } } } } } } }, updateLeads-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [requestId, code, result], properties: { requestId: { type: string, description: 'Request ID from the original request', example: '15' }, code: { type: integer, description: 'Response code', example: 200 }, result: { type: object, required: [Prospects], properties: { Prospects: { type: object, required: [Prospect], properties: { Prospect: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [node, reference_id, status, message], properties: { node: { type: integer, description: 'Prospect node number', example: 1 }, reference_id: { type: string, description: 'Application ID reference', example: '5678' }, applicant_id: { type: string, description: 'Applicant ID', example: '19760815' }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Status message', example: 'Lead updated successfully.' } } } } } } } } } } } } } }, updateLeads-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [requestId, code, result], properties: { requestId: { type: string, description: 'Request ID from the original request', example: '15' }, code: { type: integer, description: 'Response code', example: 200 }, result: { type: object, required: [prospects], properties: { prospects: { type: array, items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Prospect node number', example: 1 }, status: { type: string, enum: [Success, Failed], description: 'Update status', example: Success }, message: { type: string, description: 'Status message', example: 'Lead updated successfully.' }, newApplicationId: { type: integer, description: 'New application ID if created', example: 5679 }, newPropertyId: { type: integer, description: 'New property ID if changed', example: 1235 }, applicants: { type: object, properties: { applicant: { type: array, items: { type: object, properties: { applicantId: { type: integer, description: 'Applicant ID', example: 19760815 }, applicantName: { type: string, description: 'Full applicant name', example: 'John Doe' } } } } } } } } } } } } } } }, cancelLease-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [cancelLease], description: 'Method name to be called', example: cancelLease }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId], properties: { propertyId: { type: integer, description: 'The ID of the property where the lease is located', example: 12345 }, leaseId: { type: integer, description: "The ID of the lease to cancel (must be in 'Future' status)", example: 67890 } }, description: 'Method parameters' } } } } }, getEvictedLeases-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getEvictedLeases], description: 'Method name to be called', example: getEvictedLeases }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'The ID of the property to get evicted leases for', example: 12345 }, evictionStartDateFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Start date for eviction date range filter in mm/dd/yyyy format (optional)', example: 01/01/2024 }, evictionStartDateTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'End date for eviction date range filter in mm/dd/yyyy format (optional, requires evictionStartDateFrom if provided)', example: 12/31/2024 } }, description: 'Method parameters' } } } } }, getExpiringLeases-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getExpiringLeases], description: 'Method name to be called', example: getExpiringLeases }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { description: 'Method parameters', type: object, required: [propertyId, toDate], properties: { propertyId: { type: integer, description: 'Property ID to retrieve expiring leases for', example: 6789 }, fromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Start date for expiring leases search (mm/dd/yyyy format). Defaults to current date if not provided.', example: 01/15/2024 }, toDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'End date for expiring leases search (mm/dd/yyyy format)', example: 12/31/2024 }, isMonthToMonth: { type: integer, description: 'Filter for month-to-month leases only (0 for false, 1 for true)', enum: [0, 1], example: 0 }, showNoticeLeasesOnly: { type: integer, description: 'Show only leases with notice given (0 for false, 1 for true)', enum: [0, 1], example: 0 } } } } } } }, getLeaseActivities-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseActivities], description: 'Method name to be called', example: getLeaseActivities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [leaseId, propertyId], properties: { leaseId: { type: integer, description: 'Lease ID to retrieve activities for', example: 12345 }, propertyId: { type: integer, description: 'Property ID associated with the lease', example: 6789 }, eventTypeIds: { type: string, description: 'Comma-separated list of event type IDs to filter by (limited to 5 event types per call)', example: '1,2,3,4,5' }, createdOnDateFrom: { type: string, format: date, description: 'Start date for filtering activities (ISO 8601 format - yyyy-mm-dd)', example: '2024-01-01' }, createdOnDateTo: { type: string, format: date, description: 'End date for filtering activities (ISO 8601 format - yyyy-mm-dd), Start date and end date range should not be more than one year.', example: '2024-12-31' }, leaseStatusTypeIds: { type: string, description: 'Comma-separated list of lease status type IDs to filter by', example: '1,2,3' } }, description: 'Method parameters' } } } } }, getLeaseDetails-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseDetails], description: 'Method name to be called', example: getLeaseDetails }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { description: 'Method parameters', type: object, required: [propertyId, leaseId], properties: { propertyId: { type: integer, description: 'Property ID associated with the lease', example: 6789 }, leaseId: { type: integer, description: 'Lease ID to retrieve details for', example: 12345 }, includeAddOns: { type: integer, description: 'Whether to include add-ons in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 }, includeCharge: { type: integer, description: 'Whether to include scheduled charges in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 } } } } } } }, getLeaseDetails-r2-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseDetails], description: 'Method name to be called', example: getLeaseDetails }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { description: 'Method parameters', type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID associated with the leases', example: 6789 }, leaseId: { type: integer, description: 'Specific lease ID to retrieve details for (optional - if not provided, returns all leases for the property)', example: 12345 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated lease status type IDs to filter leases (optional)', example: '1,2,3' }, includeAddOns: { type: integer, description: 'Whether to include add-ons in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 }, includeCharge: { type: integer, description: 'Whether to include scheduled charges in the response (0 for false, 1 for true)', enum: [0, 1], example: 1 } } } } } } }, getLeaseDocuments-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseDocuments], description: 'Method name to be called', example: getLeaseDocuments }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { description: 'Method parameters', type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID associated with the lease', example: 6789 }, externalLeaseId: { type: string, description: 'External lease identifier (either this or leaseId must be provided)', example: EXT-12345 }, leaseId: { type: integer, description: 'Lease ID to retrieve documents for (either this or externalLeaseId must be provided)', example: 12345 }, documentIds: { type: string, description: 'Comma-separated document IDs to filter specific documents', example: '1001,1002,1003' }, addedOnFromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter documents added on or after this date (mm/dd/yyyy format)', example: 01/15/2024 }, fileTypesCode: { type: string, description: 'Comma-separated file type system codes to filter document types', example: 'LEASE,ADDENDUM,INSPECTION' }, showDeletedFile: { type: integer, description: 'Whether to include deleted files in the response (0 for false, 1 for true)', enum: [0, 1], example: 0 } } } } } } }, getLeaseDocumentsList-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeaseDocumentsList], description: 'Method name to be called', example: getLeaseDocumentsList }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { description: 'Method parameters', type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID associated with the leases', example: 6789 }, externalLeaseId: { type: string, description: 'External lease identifier (optional - filter by specific external lease ID)', example: EXT-12345 }, leaseId: { type: integer, description: 'Lease ID to filter documents (optional - filter by specific lease ID)', example: 12345 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated lease status type IDs to filter leases (optional)', example: '1,2,3' }, fileTypesCode: { type: string, description: 'Comma-separated file type system codes to filter document types', example: 'LEASE,ADDENDUM,INSPECTION' }, showDeletedFile: { type: integer, description: 'Whether to include deleted files in the response (0 for false, 1 for true)', enum: [0, 1], example: 0 } } } } } } }, getLeasePickList-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeasePickList], description: 'Method name to be called', example: getLeasePickList }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters (no parameters required for this method)' } } } } }, getLeases-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeases], description: 'Method name to be called', example: getLeases }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { description: 'Method parameters', type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to retrieve leases for', example: 6789 }, leaseIds: { type: string, description: 'Comma-separated lease IDs to filter specific leases', example: '12345,12346,12347' }, applicationId: { type: integer, description: 'Filter leases by application ID', example: 54321 }, customerId: { type: integer, description: 'Filter leases by customer ID', example: 98765 }, unitNumber: { type: string, description: 'Filter leases by unit number', example: A101 }, buildingName: { type: string, description: 'Filter leases by building name', example: 'Building A' }, moveInDateFrom: { type: string, format: date, description: 'Filter leases by move-in date from (yyyy-mm-dd)', example: '2024-01-01' }, moveInDateTo: { type: string, format: date, description: 'Filter leases by move-in date to (yyyy-mm-dd)', example: '2024-12-31' }, leaseExpiringDateFrom: { type: string, format: date, description: 'Filter leases by expiring date from (yyyy-mm-dd)', example: '2024-06-01' }, leaseExpiringDateTo: { type: string, format: date, description: 'Filter leases by expiring date to (yyyy-mm-dd)', example: '2024-12-31' }, moveOutDateFrom: { type: string, format: date, description: 'Filter leases by move-out date from (yyyy-mm-dd)', example: '2024-01-01' }, moveOutDateTo: { type: string, format: date, description: 'Filter leases by move-out date to (yyyy-mm-dd)', example: '2024-12-31' }, scheduledArCodeIds: { type: string, description: 'Comma-separated scheduled AR code IDs to filter', example: '101,102,103' }, includeLeaseHistory: { type: integer, description: 'Include lease interval history (0 for false, 1 for true)', enum: [0, 1], example: 1 }, includeDemographics: { type: integer, description: 'Include customer demographics data (0 for false, 1 for true)', enum: [0, 1], example: 0 }, includeOtherIncomeLeases: { type: integer, description: 'Include other income leases (0 for false, 1 for true)', enum: [0, 1], example: 0 }, residentFriendlyMode: { type: integer, description: 'Enable resident-friendly mode (0 for false, 1 for true)', enum: [0, 1], example: 0 }, includeArTransactions: { type: integer, description: 'Include AR transactions (0 for false, 1 for true)', enum: [0, 1], example: 0 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated lease status type IDs to filter', example: '1,2,3' }, eventTypeIds: { type: string, description: 'Comma-separated event type IDs (maximum 10 per call)', example: '401,402,403' }, eventDateFrom: { type: string, format: date, description: 'Event date from filter (yyyy-mm-dd) - required if eventTypeIds provided', example: '2024-01-01' }, eventDateTo: { type: string, format: date, description: 'Event date to filter (yyyy-mm-dd) - required if eventTypeIds provided and should be within 1 year of eventDateFrom', example: '2024-12-31' } } } } } } }, getLeases-r2-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getLeases], description: 'Method name to be called', example: getLeases }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to get leases for', example: 1234 }, leaseIds: { type: string, description: 'Comma-separated lease IDs to filter by', example: '1001,1002,1003' }, applicationId: { type: integer, description: 'Application ID to filter by', example: 5678 }, customerId: { type: integer, description: 'Customer ID to filter by', example: 9012 }, unitNumber: { type: string, description: 'Unit number to filter by', example: 101A }, buildingName: { type: string, description: 'Building name to filter by', example: 'Building A' }, moveInDateFrom: { type: string, format: date, description: 'Move-in date range start (ISO date format yyyy-mm-dd)', example: '2024-01-01' }, moveInDateTo: { type: string, format: date, description: 'Move-in date range end (ISO date format yyyy-mm-dd)', example: '2024-12-31' }, leaseExpiringDateFrom: { type: string, format: date, description: 'Lease expiring date range start (ISO date format yyyy-mm-dd)', example: '2024-06-01' }, leaseExpiringDateTo: { type: string, format: date, description: 'Lease expiring date range end (ISO date format yyyy-mm-dd)', example: '2024-12-31' }, moveOutDateFrom: { type: string, format: date, description: 'Move-out date range start (ISO date format yyyy-mm-dd)', example: '2024-01-01' }, moveOutDateTo: { type: string, format: date, description: 'Move-out date range end (ISO date format yyyy-mm-dd)', example: '2024-12-31' }, scheduledArCodeIds: { type: string, description: 'Comma-separated scheduled AR code IDs to filter by', example: '101,102,103' }, leaseStatusTypeIds: { type: string, description: 'Comma-separated lease status type IDs to filter by', example: '1,2,3' }, includeLeaseHistory: { type: integer, description: 'Include lease history (0 for false, 1 for true)', enum: [0, 1], example: 0 }, includeOtherIncomeLeases: { type: integer, description: 'Include other income leases (0 for false, 1 for true)', enum: [0, 1], example: 0 }, includeDemographics: { type: integer, description: 'Include demographics information (0 for false, 1 for true)', enum: [0, 1], example: 0 }, residentFriendlyMode: { type: integer, description: 'Enable resident friendly mode (0 for false, 1 for true)', enum: [0, 1], example: 0 }, includeArTransactions: { type: integer, description: 'Include AR transactions (0 for false, 1 for true)', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getMitsCollections-r2-request-schema: { description: 'Retrieves MITS collections data for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMitsCollections], description: 'Method name to be called', example: getMitsCollections }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, fromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases from this date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, transactionFromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter transactions from this date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, includeEvictions: { type: integer, enum: [0, 1], description: 'Whether to include evictions (0 for false, 1 for true) (optional)', example: 0 } }, description: 'Method parameters' } } } } }, getMitsLeases-r1-request-schema: { description: 'Retrieves MITS lease data for a property with various filtering options.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMitsLeases], description: 'Method name to be called', example: getMitsLeases }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, customerId: { type: integer, description: 'The ID of the customer to filter by (optional)', example: 123456 }, unitNumber: { type: string, description: 'The unit number to filter by (optional)', example: '101' }, buildingName: { type: string, description: 'The building name to filter by (optional)', example: 'Building A' }, moveInDateFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases with move-in date from this date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, moveInDateTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases with move-in date to this date (mm/dd/yyyy) (optional, requires moveInDateFrom)', example: 12/31/2024 }, leaseExpiringDateFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases expiring from this date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, leaseExpiringDateTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases expiring to this date (mm/dd/yyyy) (optional, requires leaseExpiringDateFrom)', example: 12/31/2024 }, moveOutDateFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases with move-out date from this date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, moveOutDateTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Filter leases with move-out date to this date (mm/dd/yyyy) (optional, requires moveOutDateFrom)', example: 12/31/2024 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated list of lease status type IDs to filter by (optional)', example: '1,2,3' }, scheduledArCodeIds: { type: string, description: 'Comma-separated list of scheduled AR code IDs to filter by (optional)', example: '100,200,300' }, includeLeaseHistory: { type: integer, enum: [0, 1], description: 'Whether to include lease history (0 for false, 1 for true) (optional)', example: 0 }, sendUnitSpaces: { type: integer, enum: [0, 1], description: 'Whether to send unit spaces (0 for false, 1 for true) (optional)', example: 0 }, includeDemographics: { type: integer, enum: [0, 1], description: 'Whether to include demographics (0 for false, 1 for true) (optional)', example: 0 }, includeOtherIncomeLeases: { type: integer, enum: [0, 1], description: 'Whether to include other income leases (0 for false, 1 for true) (optional)', example: 0 }, preLeaseOnly: { type: integer, enum: [0, 1], description: 'Whether to include pre-lease only (0 for false, 1 for true) (optional)', example: 0 }, residentFriendlyMode: { type: integer, enum: [0, 1], description: 'Whether to enable resident friendly mode (0 for false, 1 for true) (optional)', example: 0 } }, description: 'Method parameters' } } } } }, getParcelAlerts-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getParcelAlerts], description: 'Method name to be called', example: getParcelAlerts }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch parcel alerts for (property must have Parcel Alert access)', example: 12345 }, leaseId: { type: integer, description: 'Lease ID to filter parcel alerts by specific lease', example: 67890 }, customerId: { type: integer, description: 'Customer ID to filter parcel alerts by specific customer', example: 54321 }, isActive: { type: integer, description: 'Filter by active status (0 for false, 1 for true)', enum: [0, 1], example: 1 } }, description: 'Method parameters' } } } } }, getRentersInsurancePolicies-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getRentersInsurancePolicies], description: 'Method name to be called', example: getRentersInsurancePolicies }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to fetch renters insurance policies for', example: 12345 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated lease status type IDs to filter by', example: '1,2,3' }, lastUpdatedOn: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Last updated date filter in mm/dd/yyyy format', example: 01/15/2024 } }, description: 'Method parameters' } } } } }, moveInLease-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [moveInLease], description: 'Method name to be called', example: moveInLease }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId], properties: { propertyId: { type: integer, description: 'Property ID for the lease', example: 12345 }, leaseId: { type: integer, description: 'Lease ID to be moved in (must be in Future status)', example: 67890 } }, description: 'Method parameters' } } } } }, moveOutLease-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [moveOutLease], description: 'Method name to be called', example: moveOutLease }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId, moveOutTypeId, moveOutReasonId, moveOutDate, unitAvailableOnDate], properties: { propertyId: { type: integer, description: 'Property ID for the lease', example: 12345 }, leaseId: { type: integer, description: 'Lease ID to be moved out (must be in Notice status)', example: 67890 }, moveOutTypeId: { type: integer, description: 'Move out type ID (should be MoveOut/Regular only)', example: 1 }, moveOutReasonId: { type: integer, description: 'Move out reason ID', example: 2 }, refundMethodId: { type: integer, description: 'Refund method ID (optional)', example: 1 }, endContinuingScheduledCharges: { type: integer, description: 'End continuing scheduled charges flag (0 for false, 1 for true)', enum: [0, 1], example: 1 }, postAcceleratedRent: { type: integer, description: 'Post accelerated rent flag (0 for false, 1 for true)', enum: [0, 1], example: 0 }, noticeDate: { type: string, format: date, description: 'Notice date in ISO format (yyyy-mm-dd)', example: '2024-01-15' }, moveOutDate: { type: string, format: date, description: 'Move out date in ISO format (yyyy-mm-dd)', example: '2024-02-15' }, unitAvailableOnDate: { type: string, format: date, description: 'Unit available on date in ISO format (yyyy-mm-dd)', example: '2024-02-16' }, makeReadyEndDate: { type: string, format: date, description: 'Make ready end date in ISO format (yyyy-mm-dd) - required when property requires make ready work order', example: '2024-02-20' }, forwardingAddress: { type: object, description: 'Forwarding address details (required when property requires forwarding address)', properties: { streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Apt 4B' }, streetLine3: { type: string, description: 'Street address line 3', example: '' }, city: { type: string, description: 'City name', example: Springfield }, stateCode: { type: string, description: 'State code', example: IL }, postalCode: { type: string, description: 'Postal code', example: '62701' } } } }, description: 'Method parameters' } } } } }, onNoticeLease-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [onNoticeLease], description: 'Method name to be called', example: onNoticeLease }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId, moveOutTypeId, moveOutReasonId, moveOutDate, unitAvailableOnDate, submitRefundDetails], properties: { propertyId: { type: integer, description: 'Property ID for the lease', example: 12345 }, leaseId: { type: integer, description: 'Lease ID to be placed on notice', example: 67890 }, moveOutTypeId: { type: integer, description: 'Move out type ID (should be MoveOut/Regular only)', example: 1 }, moveOutReasonId: { type: integer, description: 'Move out reason ID', example: 2 }, noticeDate: { type: string, format: date, description: 'Notice date in ISO format (yyyy-mm-dd)', example: '2024-01-15' }, moveOutDate: { type: string, format: date, description: 'Move out date in ISO format (yyyy-mm-dd)', example: '2024-02-15' }, unitAvailableOnDate: { type: string, format: date, description: 'Unit available on date in ISO format (yyyy-mm-dd)', example: '2024-02-16' }, submitRefundDetails: { type: integer, description: 'Submit refund details flag (0 for false, 1 for true)', enum: [0, 1], example: 1 }, refundMethodId: { type: integer, description: 'Refund method ID (required when submitRefundDetails is true)', example: 1 }, forwardingAddress: { type: object, description: 'Forwarding address details (required when submitRefundDetails is true)', properties: { streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Apt 4B' }, streetLine3: { type: string, description: 'Street address line 3', example: '' }, city: { type: string, description: 'City name', example: Springfield }, stateCode: { type: string, description: 'State code', example: IL }, postalCode: { type: string, description: 'Postal code', example: '62701' } } }, makeReadyEndDate: { type: string, format: date, description: 'Make ready end date in ISO format (yyyy-mm-dd) - required when property requires make ready work order', example: '2024-02-20' } }, description: 'Method parameters' } } } } }, sendLeaseActivities-r1-request-schema: { description: 'Sends lease activities.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeaseActivities], description: 'Method name to be called', example: sendLeaseActivities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, events], properties: { propertyId: { type: integer, description: 'The ID of the property where the lease activities are being recorded', example: 12345 }, events: { type: object, required: [event], properties: { event: { type: array, items: { type: object, required: [eventTypeId, eventDateTime], properties: { eventTypeId: { type: integer, description: 'The type of event being recorded', example: 1 }, eventDateTime: { type: string, description: 'The date and time when the event occurred cannot be in the future (MM/DD/YYYYTHH:MM:SS)', example: '01/15/2024T10:30:00' }, leaseId: { type: integer, description: 'The ID of the lease (required unless eventId is provided for NOTES/DELINQUENCY_NOTES)', example: 67890 }, eventId: { type: integer, description: 'The ID of an existing event to update (only valid for NOTES and DELINQUENCY_NOTES event types)', example: 12345 }, leaseIntervalId: { type: integer, description: 'The ID of the lease interval', example: 54321 }, leasingAgentId: { type: integer, description: 'The ID of the leasing agent (required for SCHEDULED_FOLLOWUP events)', example: 98765 }, eventResultId: { type: integer, description: 'The ID of the event result (required for certain event types on renewal/transfer leases)', example: 11111 }, customerIds: { type: string, description: 'Comma separated list of customer IDs associated with the event', example: '123,456,789' }, eventTagIds: { type: string, description: 'Comma separated list of event tag IDs (only valid for NOTES and DELINQUENCY_NOTES)', example: '10,20,30' }, comment: { type: string, description: 'Comment or note for the event (required for CALL_OUTGOING, SMS_INCOMING, SMS_OUTGOING)', example: 'Called customer about payment' }, scheduleDateTime: { type: string, description: 'Scheduled date and time for the event required for SCHEDULED_FOLLOWUP (MM/DD/YYYYTHH:MM:SS)', example: '01/20/2024T14:00:00' }, hazardEndDate: { type: string, description: 'End date for hazard resolution (required for HAZARD_NOTES, must be in the future) (yyyy-mm-dd).', example: '2024-02-15' }, hazardNote: { type: string, description: 'Description of the hazard (required for HAZARD_NOTES)', example: 'Broken window in bedroom' } } } } } } }, description: 'Method parameters' } } } } }, sendLeaseDocuments-r1-request-schema: { description: 'This API can be used to upload documents onto Entrata leases such as application, lease, policy, and agreement documents. Do not upload documents that contain sensitive personal information (PII); redact or remove such data before uploading. This API accepts files as a form file upload and the Content-Type should be "multipart/form-data". Please see the "Code Snippet" tab for more technical details and some sample code examples.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeaseDocuments], description: 'Method name to be called', example: sendLeaseDocuments }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, files], properties: { propertyId: { type: integer, description: 'The ID of the property where the lease documents are being uploaded', example: 12345 }, leaseId: { type: integer, description: 'If leaseId is passed and no customerId(s) are passed, then the document will be associated with all residents/customers.', example: 67890 }, applicationId: { type: integer, description: 'The ID of the application (required if neither leaseId nor applicantId is provided)', example: 54321 }, applicantId: { type: integer, description: 'The ID of the applicant (required if neither leaseId nor applicationId is provided)', example: 98765 }, files: { type: object, description: 'Metadata for the files being uploaded. The actual file binaries must be uploaded as multipart/form-data, where each uploaded file name matches the `fileName` value provided here.', required: [file], properties: { file: { type: array, items: { type: object, required: [fileName], properties: { fileName: { type: string, description: 'The name of the file being uploaded (must match the uploaded file)', example: lease_agreement.pdf }, leaseFileType: { type: string, description: 'The system code for the lease file type (required if fileTypeId is not provided)', example: LEASE_AGREEMENT }, fileTypeId: { type: integer, description: 'The custom file type ID (required if leaseFileType is not provided)', example: 123 }, isShowInResidentPortal: { type: integer, description: '0 for false, 1 for true. Whether the file should be visible in the resident portal. Entrata recommends that if the document being sent has sensitive information that isShowInResidentPortal = 0 be sent, or do not show in Resident Portal.', enum: [0, 1], example: 1 }, customerIds: { type: string, description: 'Comma separated customer IDs to associate with the file (optional, defaults to all lease customers)', example: '123,456,789' } } } } } } }, description: 'Method parameters' } } } } }, sendLeases-r1-request-schema: { description: 'Sends leases.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendLeases], description: 'Method name to be called', example: sendLeases }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leases], properties: { propertyId: { type: integer, description: 'The ID of the property where the leases are being created', example: 12345 }, leases: { type: object, required: [lease], properties: { lease: { type: array, items: { type: object, required: [leaseStartDate, leaseEndDate, leaseTermId, floorplanId, moveInDate, occupants], properties: { leaseStartDate: { type: string, format: date, description: 'The start date of the lease (yyyy-mm-dd)', example: '2024-01-01' }, leaseEndDate: { type: string, format: date, description: 'The end date of the lease (yyyy-mm-dd)', example: '2024-12-31' }, leaseTermId: { type: integer, description: 'The ID of the lease term', example: 123 }, leaseStartWindowId: { type: integer, description: 'The ID of the lease start window (required for student properties)', example: 456 }, floorplanId: { type: integer, description: 'The ID of the floorplan', example: 789 }, unitSpaceId: { type: integer, description: 'The ID of the unit space (optional for non-student properties)', example: 101 }, spaceConfigurationId: { type: integer, description: 'The ID of the space configuration (required for student properties)', example: 202 }, companyApplicationId: { type: integer, description: 'The ID of the company application', example: 303 }, moveInDate: { type: string, format: date, description: 'The move-in date for the lease (yyyy-mm-dd)', example: '2024-01-15' }, occupants: { type: object, required: [occupant], properties: { occupant: { type: array, items: { type: object, required: [firstName, lastName, customerRelationshipTypeId], properties: { firstName: { type: string, description: 'First name of the occupant', example: John }, middleName: { type: string, description: 'Middle name of the occupant', example: Michael }, lastName: { type: string, description: 'Last name of the occupant', example: Doe }, customerRelationshipTypeId: { type: integer, description: 'The ID of the customer relationship type', example: 1 }, emailAddress: { type: string, format: email, description: 'Email address of the occupant', example: john.doe@example.com }, birthDate: { type: string, format: date, description: 'Birth date of the occupant (yyyy-mm-dd)', example: '2024-05-15' }, primaryPhoneNumber: { type: object, properties: { phoneNumberTypeId: { type: integer, description: 'The ID of the primary phone number type', example: 1 }, phoneNumber: { type: string, description: 'The primary phone number', example: 555-123-4567 } } }, secondaryPhoneNumber: { type: object, properties: { phoneNumberTypeId: { type: integer, description: 'The ID of the secondary phone number type', example: 2 }, phoneNumber: { type: string, description: 'The secondary phone number', example: 555-987-6543 } } }, addresses: { type: object, properties: { address: { type: array, items: { type: object, required: [addressTypeId, streetLine1, city, stateCode, postalCode], properties: { addressTypeId: { type: integer, description: 'The ID of the address type (required if any address fields are provided)', example: 2 }, streetLine1: { type: string, description: 'First line of the street address (required if addressTypeId is provided)', example: '123 Main Street' }, streetLine2: { type: string, description: 'Second line of the street address', example: 'Apt 4B' }, city: { type: string, description: 'City name (required if addressTypeId is provided)', example: 'New York' }, stateCode: { type: string, description: 'State code (required if addressTypeId is provided)', example: NY }, postalCode: { type: string, description: 'Postal/ZIP code (required if addressTypeId is provided)', example: '10001' } } } } } } } } } } } } } } } } }, description: 'Method parameters' } } } } }, sendRentersInsurancePolicies-r1-request-schema: { description: 'Sends renters insurance policies.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendRentersInsurancePolicies], description: 'Method name to be called', example: sendRentersInsurancePolicies }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, insurancePolicies], properties: { propertyId: { type: integer, description: 'The ID of the property where the insurance policies are being recorded', example: 12345 }, insurancePolicies: { type: object, required: [insurancePolicy], properties: { insurancePolicy: { type: array, items: { type: object, required: [leaseId, customerId, provider, policyNumber, startDate, endDate, liability], properties: { id: { type: integer, description: 'The ID of the insurance policy (for updates)', example: 67890 }, leaseId: { type: integer, description: 'The ID of the lease', example: 123456 }, customerId: { type: integer, description: 'The ID of the customer', example: 789012 }, provider: { type: string, description: 'The insurance provider name', example: 'State Farm Insurance' }, policyNumber: { type: string, description: 'The insurance policy number', example: SF123456789 }, startDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The policy start date (mm/dd/yyyy)', example: 01/01/2024 }, endDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The policy end date (mm/dd/yyyy)', example: 12/31/2024 }, liability: { type: number, description: 'The liability limit amount', example: 100000 }, personalContents: { type: number, description: 'The personal contents limit amount', example: 25000 }, deductible: { type: number, description: 'The deductible amount', example: 500 } } }, description: 'Array of insurance policy objects' } } } }, description: 'Method parameters' } } } } }, sendRentersInsurancePolicies-r2-request-schema: { description: 'Sends renters insurance policies.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendRentersInsurancePolicies], description: 'Method name to be called', example: sendRentersInsurancePolicies }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId, insurancePolicies], properties: { propertyId: { type: integer, description: 'The ID of the property where the insurance policies are being recorded', example: 12345 }, insurancePolicies: { type: object, required: [insurancePolicy], properties: { insurancePolicy: { type: array, items: { type: object, required: [leaseId, customerIds, provider, policyNumber, startDate, endDate, liability], properties: { id: { type: integer, description: 'The ID of the insurance policy (for updates)', example: 67890 }, leaseId: { type: integer, description: 'The lease ID', example: 123456 }, customerIds: { type: string, description: 'Comma separated customer IDs associated with the insurance policy', example: '789012,789013' }, provider: { type: string, description: 'The insurance provider name', example: 'State Farm Insurance' }, policyNumber: { type: string, description: 'The insurance policy number', example: SF123456789 }, startDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The policy start date (mm/dd/yyyy)', example: 01/01/2024 }, endDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The policy end date (mm/dd/yyyy)', example: 12/31/2024 }, liability: { type: number, description: 'The liability limit amount', example: 100000 }, personalContents: { type: number, description: 'The personal contents limit amount', example: 25000 }, deductible: { type: number, description: 'The deductible amount', example: 500 }, isCancelled: { type: integer, description: '0 for false, 1 for true. Flag to cancel the insurance policy', enum: [0, 1], example: 0 }, file: { type: object, description: 'File upload object for proof of insurance document', properties: { name: { type: string, description: 'The file name with extension', example: insurance_proof.pdf }, fileData: { type: string, description: 'Base64 encoded file data', example: 'base64 encoded file data' } } } } }, description: 'Array of insurance policy objects' } } } }, description: 'Method parameters' } } } } }, sendRoommateGroups-r1-request-schema: { description: 'Sends roommate groups.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendRoommateGroups], description: 'Method name to be called', example: sendRoommateGroups }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, roommateGroups], properties: { propertyId: { type: integer, description: 'The ID of the property (must have semester selection enabled for student properties)', example: 12345 }, roommateGroups: { type: object, required: [roommateGroup], properties: { roommateGroup: { type: array, items: { type: object, required: [inviteeApplicationId], properties: { groupId: { type: integer, description: 'The ID of the existing roommate group (for updates)', example: 67890 }, invitorApplicationId: { type: integer, description: 'The application ID of the person inviting roommates', example: 123456 }, inviteeApplicationId: { type: string, description: 'Comma separated application IDs of invited roommates', example: '789012,789013' } } }, description: 'Array of roommate group objects' } } } }, description: 'Method parameters' } } } } }, sendRoommateGroups-r2-request-schema: { description: 'Sends roommate groups.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendRoommateGroups], description: 'Method name to be called', example: sendRoommateGroups }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [roommateGroups], properties: { roommateGroups: { type: object, required: [roommateGroup], properties: { roommateGroup: { type: array, items: { type: object, required: [invitorApplicationId, inviteeApplicationId], properties: { invitorApplicationId: { type: integer, description: 'The application ID of the person inviting roommates', example: 123456 }, inviteeApplicationId: { type: string, description: 'Comma separated application IDs of invited roommates', example: '789012,789013' } } }, description: 'Array of roommate group objects' } } } }, description: 'Method parameters' } } } } }, sendScheduledCharges-r1-request-schema: { description: 'Sends scheduled charges.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendScheduledCharges], description: 'Method name to be called', example: sendScheduledCharges }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, scheduledCharges], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: [leaseId, chargeTimingId, chargeCodeTypeId, chargeCodeId, amount, startDate], properties: { leaseId: { type: integer, description: 'The ID of the lease', example: 67890 }, customerId: { type: integer, description: 'The ID of the customer (optional)', example: 123456 }, leaseIntervalId: { type: integer, description: 'The ID of the lease interval (optional)', example: 789012 }, chargeTimingId: { type: integer, description: 'The ID of the charge timing', example: 1 }, chargeCodeTypeId: { type: integer, description: 'The ID of the charge code type', example: 2 }, chargeCodeId: { type: integer, description: 'The ID of the charge code', example: 345 }, amount: { type: number, description: 'The charge amount (must be greater than 0)', example: 150 }, startDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The start date of the scheduled charge (mm/dd/yyyy)', example: 01/15/2024 }, endDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The end date of the scheduled charge (mm/dd/yyyy) (optional)', example: 12/31/2024 }, lastPostedDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The last posted date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, monthToMonthAmount: { type: number, description: 'The month-to-month amount (optional)', example: 200 }, monthToMonthFee: { type: number, description: 'The month-to-month fee (optional)', example: 25 }, note: { type: string, description: 'A note for the scheduled charge (optional)', example: 'Monthly rent charge' }, isCharge: { type: string, enum: ['0', '1'], description: 'Whether this is a charge ("1") or credit ("0")', example: '1' } } }, description: 'Array of scheduled charge objects' } } } }, description: 'Method parameters' } } } } }, updateLease-r1-request-schema: { description: 'Updates a lease.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateLease], description: 'Method name to be called', example: updateLease }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId, occupants], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, leaseId: { type: integer, description: 'The ID of the lease to update', example: 12345 }, unitSpaceId: { type: integer, description: 'The ID of the unit space (optional)', example: 12345 }, moveInDate: { type: string, format: date, description: 'The move-in date in yyyy-mm-dd format (optional)', example: '2024-01-15' }, occupants: { type: object, required: [occupant], properties: { occupant: { type: array, items: { type: object, properties: { occupantId: { type: integer, description: 'The ID of the occupant (optional for new occupants)', example: 12345 }, firstName: { type: string, description: 'The first name of the occupant', example: abc }, middleName: { type: string, description: 'The middle name of the occupant (optional)', example: abc }, lastName: { type: string, description: 'The last name of the occupant', example: abc }, customerRelationshipTypeId: { type: integer, description: 'The customer relationship type ID (optional)', example: 12345 }, emailAddress: { type: string, format: email, description: 'The email address of the occupant (optional)', example: email@address.lcl }, dateOfBirth: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The date of birth in mm/dd/yyyy format (optional)', example: 01/01/1990 }, primaryPhoneNumber: { type: object, properties: { phoneNumberTypeId: { type: integer, description: 'The phone number type ID', example: 12 }, phoneNumber: { type: string, description: 'The primary phone number', example: '123456789' } }, description: 'Primary phone number information (optional)' }, secondaryPhoneNumber: { type: object, properties: { phoneNumberTypeId: { type: integer, description: 'The phone number type ID', example: 12 }, phoneNumber: { type: string, description: 'The secondary phone number', example: '123456789' } }, description: 'Secondary phone number information (optional)' }, addresses: { type: object, required: [address], properties: { address: { type: array, items: { type: object, required: [addressTypeId, streetLine1], properties: { addressTypeId: { type: integer, description: 'The address type ID', example: 12 }, country: { type: string, description: 'The country code (optional)', example: XY }, streetLine1: { type: string, description: 'The first line of the street address', example: Street_Line_1 }, streetLine2: { type: string, description: 'The second line of the street address (optional)', example: Street_Line_2 }, streetLine3: { type: string, description: 'The third line of the street address (optional)', example: Street_Line_3 }, city: { type: string, description: 'The city name (optional)', example: City }, stateCode: { type: string, description: 'The state or province code (optional)', example: XY }, postalCode: { type: integer, description: 'The postal code (optional)', example: 12345 } } }, description: 'Array of address objects' } }, description: 'Address information (optional)' } } }, description: 'Array of occupant objects' } } } }, description: 'Method parameters' } } } } }, updateScheduledCharges-r1-request-schema: { description: 'Updates scheduled charges.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateScheduledCharges], description: 'Method name to be called', example: updateScheduledCharges }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, leaseId, scheduledCharges], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, leaseId: { type: integer, description: 'The ID of the lease', example: 67890 }, customerId: { type: integer, description: 'The ID of the customer (optional)', example: 123456 }, scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: [id, chargeTimingId, chargeCodeTypeId, chargeCodeId, amount, startDate], properties: { id: { type: integer, description: 'The ID of the existing scheduled charge to update', example: 789012 }, chargeTimingId: { type: integer, description: 'The ID of the charge timing', example: 1 }, chargeCodeTypeId: { type: integer, description: 'The ID of the charge code type', example: 2 }, chargeCodeId: { type: integer, description: 'The ID of the charge code', example: 345 }, amount: { type: number, description: 'The charge amount (must be greater than 0)', example: 150 }, startDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The start date of the scheduled charge (mm/dd/yyyy)', example: 01/15/2024 }, endDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The end date of the scheduled charge (mm/dd/yyyy) (optional)', example: 12/31/2024 }, lastPostedDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'The last posted date (mm/dd/yyyy) (optional)', example: 01/01/2024 }, monthToMonthAmount: { type: number, description: 'The month-to-month amount (optional)', example: 200 }, monthToMonthFee: { type: number, description: 'The month-to-month fee (optional)', example: 25 }, note: { type: string, description: 'A note for the scheduled charge (optional)', example: 'Monthly rent charge' }, isCharge: { type: string, enum: ['0', '1'], description: 'Whether this is a charge ("1") or credit ("0")', example: '1' }, isDeleted: { type: string, enum: ['0', '1'], description: 'Whether this is a delete ("1") or update ("0")', example: '1' } } }, description: 'Array of scheduled charge objects to update' } } } }, description: 'Method parameters' } } } } }, updateScheduledCharges-r2-request-schema: { description: 'Updates scheduled charges.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateScheduledCharges], description: 'Method name to be called', example: updateScheduledCharges }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId, scheduledCharges], properties: { propertyId: { type: integer, description: 'The ID of the property', example: 12345 }, scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: [id, leaseId, chargeTimingId, chargeCodeTypeId, chargeCodeId, amount, startDate], properties: { id: { type: integer, description: 'The ID of the existing scheduled charge to update', example: 789012 }, leaseId: { type: integer, description: 'The ID of the lease (moved from top level in r2)', example: 67890 }, customerId: { type: integer, description: 'The ID of the customer (optional, moved from top level in r2)', example: 123456 }, chargeTimingId: { type: integer, description: 'The ID of the charge timing', example: 1 }, chargeCodeTypeId: { type: integer, description: 'The ID of the charge code type', example: 2 }, chargeCodeId: { type: integer, description: 'The ID of the charge code', example: 345 }, amount: { type: number, description: 'The charge amount (must be greater than 0)', example: 150 }, startDate: { type: string, format: date, description: 'The start date of the scheduled charge (YYYY-MM-DD)', example: '2024-01-15' }, endDate: { type: string, format: date, description: 'The end date of the scheduled charge (YYYY-MM-DD) (optional)', example: '2024-12-31' }, lastPostedDate: { type: string, format: date, description: 'The last posted date (YYYY-MM-DD) (optional)', example: '2024-01-01' }, monthToMonthAmount: { type: number, description: 'The month-to-month amount (optional)', example: 200 }, monthToMonthFee: { type: number, description: 'The month-to-month fee (optional)', example: 25 }, note: { type: string, description: 'A note for the scheduled charge (optional)', example: 'Monthly rent charge' }, isCharge: { type: integer, enum: [0, 1], description: 'Whether this is a charge (1) or credit (0)', example: 1 }, isDeleted: { type: integer, enum: [0, 1], description: 'Whether this is a delete (1) or update (0)', example: 1 } } }, description: 'Array of scheduled charge objects to update' } } } }, description: 'Method parameters' } } } } }, cancelLease-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'The status of the cancel lease operation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Success or error message describing the result', example: 'Lease cancelled successfully.' } } } } } } }, getEvictedLeases-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [evictedLeases], properties: { evictedLeases: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, summary: { type: object, properties: { generationTimeStamp: { type: string, description: 'Timestamp when the report was generated in mm/dd/yyyyTHH:mm:ss format', example: '01/15/2024T14:30:00' }, SourceOrganization: { type: string, description: 'Source organization name', example: 'Entrata Inc' }, totalProperties: { type: string, description: 'Total number of properties', example: '1' }, totalLeaseFiles: { type: integer, description: 'Total number of lease files', example: 5 }, TotalTenants: { type: integer, description: 'Total number of tenants', example: 10 }, TotalOpenAmount: { type: string, description: 'Total open amount for all evicted leases', example: '15000.00' } } }, propertyFiles: { type: object, properties: { propertyFile: { type: object, properties: { property: { type: object, properties: { id: { type: integer, description: 'Property ID', example: 12345 }, name: { type: string, description: 'Property name', example: 'Sunset Apartments' }, address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { addressType: { type: string, description: 'Type of address', example: Primary } } }, address: { type: string, description: 'Street address', example: '123 Main St' }, city: { type: string, description: 'City name', example: Anytown }, state: { type: string, description: 'State code', example: CA }, postalCode: { type: string, description: 'Postal code', example: '12345' }, country: { type: string, description: 'Country code', example: US } } } }, phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { phoneType: { type: string, description: 'Type of phone number', example: office } } }, phoneNumber: { type: string, description: 'Phone number', example: '5552012334' } } } } } }, leaseFiles: { type: object, properties: { leaseFile: { type: array, items: { type: object, properties: { leaseId: { type: integer, description: 'Lease ID', example: 67890 }, evictionStatus: { type: string, description: 'Eviction status', example: Evicted }, moveInDate: { type: string, description: 'Move in date in mm/dd/yyyy format', example: 01/01/2024 }, evictionStartDate: { type: string, description: 'Eviction start date in mm/dd/yyyy format', example: 01/01/2024 }, evictionDate: { type: string, description: 'Eviction date in mm/dd/yyyy format', example: 12/31/2024 }, leaseBegin: { type: string, description: 'Lease begin date in mm/dd/yyyy format', example: 01/01/2024 }, leaseEnd: { type: string, description: 'Lease end date in mm/dd/yyyy format', example: 12/31/2024 }, monthlyRentAmount: { type: string, description: 'Monthly rent amount', example: '1200.00' }, rentDueFromDate: { type: string, description: 'Rent due from date in mm/dd/yyyy format', example: 01/01/2024 }, rentDueToDate: { type: string, description: 'Rent due to date in mm/dd/yyyy format', example: 12/31/2024 }, buildingName: { type: string, description: 'Building name', example: 'Building 1' }, unit: { type: object, properties: { unitNumber: { type: string, description: 'Unit number', example: 101A }, address: { type: object, properties: { '@attributes': { type: object, properties: { addressType: { type: string, description: 'Address type', example: unit } } }, address: { type: string, description: 'Street address', example: '123 Main St' } } }, city: { type: string, description: City, example: Anytown }, province: { type: string, description: Province, example: CA }, country: { type: string, description: 'Country code', example: US }, state: { type: string, description: 'State code', example: CA }, postalCode: { type: string, description: 'Postal code', example: '12345' } } }, tenants: { type: object, properties: { tenant: { type: array, items: { type: object, properties: { customerId: { type: integer, description: 'Tenant/Customer ID', example: 98765 }, firstName: { type: string, description: 'Tenant first name', example: John }, lastName: { type: string, description: 'Tenant last name', example: Doe }, customerType: { type: string, description: 'Tenant/Customer type', example: Primary }, address: { type: array, items: { type: object, properties: { address: { type: object, properties: { '@attributes': { type: object, properties: { addressType: { type: string, description: 'Address type', example: Primary } } }, address: { type: string, description: 'Street address', example: '456 Oak St' } } }, city: { type: string, description: City, example: 'Another City' }, state: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '54321' }, country: { type: string, description: 'Country code', example: US } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: personal } } }, PhoneNumber: { type: string, description: 'Phone number', example: '5129954900' } } } }, phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { phoneType: { type: string, description: 'Phone type', example: fax } } }, phoneNumber: { type: string, description: 'Phone number', example: '5129954912' } } } }, dateOfBirth: { type: string, description: 'Date of birth in mm/dd/yyyy format', example: 01/15/1990 }, income: { type: array, items: { type: object, properties: { incomeSource: { type: string, description: 'Source of income', example: Employment }, incomeAmount: { type: string, description: 'Monthly income amount', example: '5000.00' } } } }, employer: { type: array, items: { type: object, properties: { employerId: { type: integer, description: 'Employer ID', example: 123 }, employerDetails: { type: object, properties: { companyName: { type: string, description: 'Company name', example: 'ABC Corp' }, address: { type: object, properties: { '@attributes': { type: object, properties: { addressType: { type: string, description: 'Address type', example: other } } }, address: { type: string, description: 'Employer address', example: '789 Business Ave' }, city: { type: string, description: City, example: 'Business City' }, state: { type: string, description: 'State code', example: TX }, province: { type: string, description: Province, example: TX }, postalCode: { type: string, description: 'Postal code', example: '75001' }, country: { type: string, description: 'Country code', example: US }, email: { type: string, description: 'Email address', example: john.doe@example.com } } } } }, income: { type: object, properties: { incomeAmount: { type: string, description: 'Employment income amount', example: '5000.00' } } }, jobTitle: { type: string, description: 'Job title', example: 'Software Engineer' }, supervisorName: { type: string, description: 'Supervisor name', example: 'Jane Smith' }, supervisorContactNumber: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: other } } }, phoneDescription: { type: string, description: 'Phone description', example: 'Other Phone Number' }, phoneNumber: { type: string, description: 'Phone number', example: '5551234987' } } }, lastDateEmployed: { type: string, description: 'Last date employed in mm/dd/yyyy format', example: 01/01/2024 } } } }, contact: { type: array, items: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'Identification type', example: 'Contact ID' }, IDRank: { type: string, description: 'Rank of identification', example: primary }, IDScopeType: { type: string, description: 'scope type of identification', example: sender } } }, IDValue: { type: string, description: 'Identification value', example: '1234567890' }, OrganizationName: { type: string, description: 'External contact identifier', example: 'ABC Corp' } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: John }, LastName: { type: string, description: 'Last name', example: Doe } } }, ContactType: { type: string, description: 'Contact type', example: 'Emergency Contact' }, Relationship: { type: string, description: Relationship, example: 'Emergency Contact' }, Address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Address: { type: string, description: Address, example: '789 Business Ave' }, city: { type: string, description: City, example: 'Business City' }, state: { type: string, description: 'State code', example: TX }, postalCode: { type: string, description: 'Postal code', example: '75001' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Email address', example: john.doe@example.com } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: personal } } }, PhoneNumber: { type: string, description: 'Phone number', example: 555-9876 } } } } } } } } } } } }, transactions: { type: object, properties: { transaction: { type: array, items: { type: object, properties: { transactionId: { type: integer, description: 'Transaction ID', example: 555666 }, transactionDate: { type: string, description: 'Transaction date in mm/dd/yyyy format', example: 01/01/2024 }, description: { type: string, description: 'Transaction description', example: 'Rent - January' }, transactionType: { type: string, description: 'Type of transaction', enum: [Charge, Payment, Adjustment], example: Charge }, transactionAmount: { type: string, description: 'Transaction amount', example: '1200.00' }, openAmount: { type: string, description: 'Open/remaining amount', example: '1200.00' } } } } } } } } } } } } } } } } } } } } } } }, getExpiringLeases-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Leases], properties: { Leases: { type: object, required: [Lease], properties: { Lease: { type: array, description: 'Array of expiring leases', items: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: integer, description: 'Lease identifier', example: 12345 } } }, Resident: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: integer, description: 'Primary resident customer identifier', example: 67890 } } }, Name: { type: string, description: 'Primary resident full name', example: 'John Doe' }, PhoneNumber: { type: string, description: 'Primary resident phone number', example: '(555) 123-4567' }, EmailAddress: { type: string, format: email, description: 'Primary resident email address', example: john.doe@example.com }, Address: { type: object, description: 'Primary resident address', properties: { StreetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, StreetLine2: { type: string, description: 'Street address line 2', example: 'Apt 4B' }, StreetLine3: { type: string, description: 'Street address line 3', example: 'Building C' }, City: { type: string, description: 'City name', example: Anytown }, StateCode: { type: string, description: 'State code', example: CA }, PostalCode: { type: string, description: 'Postal/ZIP code', example: '90210' }, CountryCode: { type: string, description: 'Country code', example: US } } } } }, Unit: { type: string, description: 'Unit number', example: A101 }, LeaseStatus: { type: string, description: 'Current lease status name', example: Active }, LeaseStarts: { type: string, description: 'Lease start date in mm/dd/yyyy format', example: 01/15/2023 }, NoticeDate: { type: string, description: 'Notice date if notice has been given mm/dd/yyyy format', example: 10/15/2024 }, LeaseExpires: { type: string, description: 'Lease expiration date in mm/dd/yyyy format', example: 12/31/2024 } } } } } } } } } } } }, getLeaseActivities-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { events: { description: 'Array of lease activity events', type: array, items: { type: object, properties: { eventId: { type: integer, description: 'Unique identifier for the event', example: 98765 }, typeId: { type: integer, description: 'Event type identifier', example: 1 }, type: { type: string, description: 'Event type name', example: Notes }, leaseId: { type: integer, description: 'Associated lease ID', example: 12345 }, leaseIntervalId: { type: integer, description: 'Associated lease interval ID', example: 54321 }, applicantId: { type: integer, description: 'Associated applicant ID', example: 11111 }, subtypeId: { type: integer, description: 'Event subtype identifier', example: 2 }, subtype: { type: string, description: 'Event subtype name', example: Follow-up }, getDataReferenceId: { type: string, description: 'Data reference identifier', example: ref_123 }, appointmentDate: { type: string, format: date, description: 'Appointment date (for scheduled appointments)', example: '2024-03-15' }, timeFrom: { type: string, description: 'Appointment start time (for scheduled appointments) in 24 hour format', example: '09:30:00' }, timeTo: { type: string, description: 'Appointment end time (for scheduled appointments) in 24 hour format', example: '10:30:00' }, date: { type: string, format: date, description: 'Event date', example: '2024-03-15' }, callData: { type: object, description: 'Call data for call events', properties: { callId: { type: string, description: 'Call identifier', example: call_789 }, callFrom: { type: string, description: "Caller's phone number", example: +1-555-0123 }, ringThrough: { type: string, description: 'Destination phone number', example: +1-555-0456 }, duration: { type: integer, description: 'Call duration in seconds', example: 180 }, callStatus: { type: string, description: 'Status of the call', example: completed }, audioLink: { type: string, description: 'URL to call recording', example: 'https://example.com/audio/call_789.mp3' }, AudioLink: { type: string, description: 'URL to call recording [Deprecated]', example: 'https://example.com/audio/call_789.mp3' } } }, appointmentEventId: { type: string, description: 'Appointment event identifier', example: appt_456 }, Comments: { type: string, description: 'Event comments or notes', example: 'Resident called about maintenance request' }, eventResultId: { type: integer, description: 'Event result identifier', example: 3 }, eventResult: { type: string, description: 'Event result name', example: Completed }, unitSpaceIds: { type: string, description: 'Comma-separated list of unit space IDs', example: '101,102,103' }, eventReasons: { type: string, description: 'Event reasons or handle information', example: 'Maintenance follow-up' } } } } } } } } } }, getLeaseDetails-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, leaseId: { type: integer, description: 'Lease identifier', example: 12345 }, name: { type: string, description: 'Tenant name (first name + last name)', example: 'John Doe' }, propertyUnitId: { type: integer, description: 'Property unit identifier', example: 9876 }, unitNumber: { type: string, description: 'Unit number', example: A101 }, addOns: { type: object, description: 'Add-ons associated with the lease (included when includeAddOns is 1)', properties: { assignableItems: { type: object, properties: { assignableItem: { type: array, items: { type: object, properties: { addOnType: { type: string, description: 'Type of add-on', example: 'Assignable Items' }, addOnCategory: { type: string, description: 'Category of the add-on', example: Parking }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Standard }, addOnName: { type: string, description: 'Name of the add-on', example: 'Covered Parking Space' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '50.00' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '100.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '25.00' }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } }, rentableItems: { type: object, properties: { rentableItem: { type: array, items: { type: object, properties: { addOnType: { type: string, description: 'Type of add-on', example: 'Rentable Items' }, addOnCategory: { type: string, description: 'Category of the add-on', example: Storage }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Premium }, addOnName: { type: string, description: 'Name of the add-on', example: 'Storage Unit' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '75.00' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '150.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '30.00' }, leaseStatusType: { type: string, description: 'Lease status type', example: Active }, startDate: { type: string, description: 'Start date in mm/dd/yyyy format', example: 01/15/2024 }, endDate: { type: string, description: 'End date in mm/dd/yyyy format', example: 01/14/2025 }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } }, services: { type: object, properties: { service: { type: array, items: { type: object, properties: { addOnType: { type: string, description: 'Type of add-on', example: Services }, addOnCategory: { type: string, description: 'Category of the add-on', example: Utilities }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Essential }, addOnName: { type: string, description: 'Name of the add-on', example: 'Cable/Internet Package' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '89.99' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '0.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '0.00' }, leaseStatusType: { type: string, description: 'Lease status type', example: Active }, startDate: { type: string, description: 'Start date in mm/dd/yyyy format', example: 01/15/2024 }, endDate: { type: string, description: 'End date in mm/dd/yyyy format', example: 01/14/2025 }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } } } }, scheduledCharges: { type: object, description: 'Scheduled charges associated with the lease (included when includeCharge is 1)', properties: { recurringCharge: { type: array, description: 'Recurring scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, description: 'Lease end date', example: '2025-01-14' } } } }, oneTimeCharge: { type: array, description: 'One-time scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' } } } }, conditionalCharge: { type: array, description: 'Conditional scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' } } } } } } } } } } } }, getLeaseDetails-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, leases: { type: object, required: [lease], properties: { lease: { type: array, description: 'Array of lease details', items: { type: object, properties: { leaseId: { type: integer, description: 'Lease identifier', example: 12345 }, name: { type: string, description: 'Tenant name (first name + last name)', example: 'John Doe' }, propertyUnitId: { type: integer, description: 'Property unit identifier', example: 9876 }, unitNumber: { type: string, description: 'Unit number', example: A101 }, unitTypeId: { type: integer, description: 'Unit type identifier', example: 5432 }, unitTypeName: { type: string, description: 'Unit type name', example: '1 Bedroom' }, floorplanId: { type: integer, description: 'Floor plan identifier', example: 7890 }, floorplanName: { type: string, description: 'Floor plan name', example: 'Standard 1BR' }, addOns: { type: object, description: 'Add-ons associated with the lease (included when includeAddOns is 1)', properties: { assignableItems: { type: object, properties: { assignableItem: { type: array, items: { type: object, properties: { addOnType: { type: string, description: 'Type of add-on', example: 'Assignable Items' }, addOnCategory: { type: string, description: 'Category of the add-on', example: Parking }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Standard }, addOnName: { type: string, description: 'Name of the add-on', example: 'Covered Parking Space' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '50.00' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '100.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '25.00' }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } }, rentableItems: { type: object, properties: { rentableItem: { type: array, items: { type: object, properties: { addOnId: { type: integer, description: 'Add-on identifier', example: 12345 }, addOnType: { type: string, description: 'Type of add-on', example: 'Rentable Items' }, addOnCategory: { type: string, description: 'Category of the add-on', example: Storage }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Premium }, addOnName: { type: string, description: 'Name of the add-on', example: 'Storage Unit' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '75.00' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '150.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '30.00' }, leaseStatusType: { type: string, description: 'Lease status type', example: Active }, startDate: { type: string, description: 'Start date in mm/dd/yyyy format', example: 01/15/2024 }, endDate: { type: string, description: 'End date in mm/dd/yyyy format', example: 01/14/2025 }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } }, services: { type: object, properties: { service: { type: array, items: { type: object, properties: { addOnType: { type: string, description: 'Type of add-on', example: Services }, addOnCategory: { type: string, description: 'Category of the add-on', example: Utilities }, addOnGroup: { type: string, description: 'Group classification of the add-on', example: Essential }, addOnName: { type: string, description: 'Name of the add-on', example: 'Cable/Internet Package' }, rent: { type: string, description: 'Rent amount (formatted as string with 2 decimal places)', example: '89.99' }, deposit: { type: string, description: 'Deposit amount (formatted as string with 2 decimal places)', example: '0.00' }, reserveFee: { type: string, description: 'Reserve fee amount (formatted as string with 2 decimal places)', example: '0.00' }, leaseStatusType: { type: string, description: 'Lease status type', example: Active }, startDate: { type: string, description: 'Start date in mm/dd/yyyy format', example: 01/15/2024 }, endDate: { type: string, description: 'End date in mm/dd/yyyy format', example: 01/14/2025 }, agent: { type: string, description: 'Agent name', example: 'Jane Smith' } } } } } } } }, scheduledCharges: { type: object, description: 'Scheduled charges associated with the lease (included when includeCharge is 1)', properties: { recurringCharge: { type: array, description: 'Recurring scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' } } } }, oneTimeCharge: { type: array, description: 'One-time scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' } } } }, conditionalCharge: { type: array, description: 'Conditional scheduled charges', items: { type: object, properties: { leaseIntervalStatus: { type: string, description: 'Status of the lease interval', example: Active }, leaseIntervalType: { type: string, description: 'Type of lease interval', example: Original }, leaseStartDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, leaseEndDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' } } } } } } } } } } } } } } } } }, getLeaseDocuments-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [LeaseDocuments], properties: { LeaseDocuments: { type: object, required: [LeaseDocument], properties: { LeaseDocument: { type: object, description: 'Collection of lease documents keyed by document ID', additionalProperties: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: integer, description: 'Document identifier', example: 1001 } } }, AppliesTo: { type: string, description: "Who the document applies to (person names or 'All')", example: 'John Doe, Jane Smith' }, Type: { type: string, description: 'Document type with details (type name - system code)', example: 'Lease Document (Standard Lease - LEASE)' }, Title: { type: string, description: 'Document title', example: 'Residential Lease Agreement' }, Name: { type: string, description: 'Document file name', example: lease_agreement.pdf }, Path: { type: string, description: 'File path for the document', example: /documents/leases/12345/lease_agreement.pdf }, LeaseIntervalStartDate: { type: string, description: 'Lease interval start date in mm/dd/yyyy format', example: 01/15/2024 }, LeaseIntervalEndDate: { type: string, description: 'Lease interval end date in mm/dd/yyyy format', example: 01/14/2025 }, FileData: { type: string, format: byte, description: 'Base64 encoded file data' }, AddedOn: { type: string, description: 'Date and time when document was added (mm/dd/yyyy HH:mm:ss format)', example: '01/15/2024 10:30:45' }, SignedOn: { type: string, description: "Date and time when document was signed, or 'Signing in process' if in progress", example: '01/20/2024 14:25:30' }, Addendas: { type: object, description: 'Addendum documents associated with this document', additionalProperties: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: integer, description: 'Addendum document identifier', example: 1002 } } }, Type: { type: string, description: 'Addendum document type', example: 'Lease Addendum (Pet Addendum - ADDENDUM)' }, Title: { type: string, description: 'Addendum document title', example: 'Pet Policy Addendum' }, Name: { type: string, description: 'Addendum document file name', example: pet_addendum.pdf }, LeaseIntervalStartDate: { type: string, description: 'Lease interval start date for addendum in mm/dd/yyyy format', example: 01/15/2024 }, LeaseIntervalEndDate: { type: string, description: 'Lease interval end date for addendum in mm/dd/yyyy format', example: 01/14/2025 }, FileData: { type: string, format: byte, description: 'Base64 encoded addendum file data' } } } } } } } } } } } } } } }, getLeaseDocumentsList-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [leaseDocuments], properties: { leaseDocuments: { type: object, required: [leaseDocument], properties: { leaseDocument: { type: array, description: 'Array of lease document metadata (paginated results)', items: { type: object, properties: { id: { type: integer, description: 'Document identifier', example: 1001 }, type: { type: string, description: 'Document type', example: 'Lease Document (Standard Lease - LEASE)' }, name: { type: string, description: 'Document file name', example: lease_agreement.pdf }, title: { type: string, description: 'Document title', example: 'Residential Lease Agreement' }, leaseId: { type: integer, description: 'Lease identifier', example: 12345 }, leaseIntervalStartDate: { type: string, description: 'Lease interval start date in mm/dd/yyyy format', example: 01/15/2024 }, leaseIntervalEndDate: { type: string, description: 'Lease interval end date in mm/dd/yyyy format', example: 01/14/2025 }, addendas: { type: array, description: 'Array of addenda documents', items: { type: object, properties: { id: { type: integer, description: 'Addendum document identifier', example: 1002 }, type: { type: string, description: 'Addendum document type', example: 'Lease Addendum (Pet Addendum - ADDENDUM)' }, title: { type: string, description: 'Addendum document title', example: 'Pet Policy Addendum' }, name: { type: string, description: 'Addendum document file name', example: pet_addendum.pdf }, leaseIntervalStartDate: { type: string, description: 'Lease interval start date for addendum in mm/dd/yyyy format', example: 01/15/2024 }, leaseIntervalEndDate: { type: string, description: 'Lease interval end date for addendum in mm/dd/yyyy format', example: 01/14/2025 } } } } } } } } } } } } } } }, getLeasePickList-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { leaseStatusTypes: { type: object, properties: { leaseStatusType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Lease status type ID', example: 1 }, name: { type: string, description: 'Lease status type name', example: Active }, type: { type: string, description: 'Status category', enum: [Active, Completed, NA], example: Active } } } } } } } }, leaseFileTypes: { type: object, properties: { leaseFileType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'File type ID', example: 1 }, systemCode: { type: string, description: 'System code for the file type', example: LEASE }, name: { type: string, description: 'File type name', example: 'Lease Agreement' } } } } } } } }, chargeTimings: { type: object, properties: { chargeTiming: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Charge timing ID', example: 1 }, name: { type: string, description: 'Charge timing name', example: 'Move In' } } } } } } } }, chargeCodeTypes: { type: object, properties: { chargeCodeType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Charge code type ID', example: 1 }, name: { type: string, description: 'Charge code type name', example: Rent }, allowed_charge_timing_ids: { type: string, description: 'Comma-separated list of allowed charge timing IDs', example: '1,2,3' } } } } } } } }, eventTypes: { type: object, properties: { eventType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Event type ID', example: 1 }, name: { type: string, description: 'Event type name', example: 'Phone Call' } } } } } } } }, petTypes: { type: object, properties: { petType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Pet type ID', example: 1 }, name: { type: string, description: 'Pet type name', example: Dog } } } } } } } }, refundMethods: { type: object, properties: { refundMethod: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Refund method ID', example: 1 }, name: { type: string, description: 'Refund method name', example: 'Single Refund Primary Resident' } } } } } } } }, eventTags: { type: object, properties: { eventTag: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Event tag ID', example: 1 }, name: { type: string, description: 'Event tag name', example: 'Follow Up' } } } } } } } } } } } } } }, getLeases-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, leases: { type: object, required: [lease], properties: { lease: { type: array, description: 'Array of lease details (paginated results)', items: { type: object, properties: { id: { type: integer, description: 'Lease identifier', example: 12345 }, leaseStatusTypeId: { type: integer, description: 'Lease status type ID', example: 1 }, leaseSubStatus: { type: string, description: 'Lease sub-status', example: Active }, leaseType: { type: string, description: 'Type of lease', example: Standard }, transferLeaseId: { type: integer, description: 'Transfer lease identifier if applicable', example: 54321 }, transferLeasePropertyId: { type: integer, description: 'Transfer lease property ID if applicable', example: 6790 }, leaseIntervalStatus: { type: string, description: 'Lease interval status name', example: Current }, occupancyTypeId: { type: integer, description: 'Occupancy type identifier', example: 1 }, occupancyType: { type: string, description: 'Occupancy type name', example: Conventional }, isMonthToMonth: { type: integer, description: 'Whether lease is month-to-month (0 or 1)', enum: [0, 1], example: 0 }, leaseIntervalId: { type: integer, description: 'Active lease interval identifier', example: 67890 }, buildingId: { type: integer, description: 'Building identifier', example: 111 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, floorPlanId: { type: integer, description: 'Floor plan identifier', example: 222 }, floorPlanName: { type: string, description: 'Floor plan name', example: '1 Bedroom Standard' }, unitId: { type: integer, description: 'Unit identifier', example: 333 }, unitNumberSpace: { type: string, description: 'Unit number with space', example: A101 }, unitSpaceId: { type: integer, description: 'Unit space identifier for student properties', example: 444 }, spaceConfiguration: { type: string, description: 'Space configuration for student properties', example: '2x2 Suite' }, collectionsStartDate: { type: string, format: date, description: 'Collections start date (yyyy-mm-dd)', example: '2024-02-01' }, terminationStartDate: { type: string, format: date, description: 'Termination start date (yyyy-mm-dd)', example: '2024-01-15' }, externalId: { type: string, description: 'External system ID', example: EXT-12345 }, pmsId: { type: integer, description: 'Property management system ID', example: 555 }, isRenewalBlacklist: { type: string, enum: [Renewable, Non-Renewable], description: 'Renewal eligibility status', example: Renewable }, leaseIntervals: { type: object, description: 'Lease interval details', properties: { leaseInterval: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Lease interval ID', example: 67890 }, startDate: { type: string, format: date, description: 'Lease start date', example: '2024-01-15' }, endDate: { type: string, format: date, description: 'Lease end date', example: '2025-01-14' }, leaseIntervalTypeId: { type: integer, description: 'Lease interval type ID', example: 1 }, leaseIntervalTypeName: { type: string, description: 'Lease interval type name', example: Original }, leaseIntervalStatusTypeId: { type: integer, description: 'Lease interval status type ID', example: 1 }, leaseIntervalStatusTypeName: { type: string, description: 'Lease interval status type name', example: Active }, leaseApprovedOn: { type: string, format: date, description: 'Lease approved date', example: '2024-01-15' }, applicationCompletedOn: { type: string, format: date, description: 'Lease cancelled date', example: '2024-01-15' }, applicationId: { type: integer, description: 'Application ID', example: 12345 } } } } } }, customers: { type: object, description: 'Customer details', properties: { customer: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer identifier', example: 98765 }, firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe }, middleName: { type: string, description: 'Customer middle name', example: Michael }, nameFull: { type: string, description: 'Customer full name', example: 'John Doe' }, leaseCustomerStatus: { type: string, description: 'Lease customer status', example: Active }, relationshipName: { type: string, description: 'Lease customer relationship name', example: Tenant }, moveInDate: { type: string, format: date, description: 'move in date', example: '2024-01-01' }, moveOutDate: { type: string, format: date, description: 'move out date', example: '2024-01-01' }, dateOfBirth: { type: string, format: date, description: 'date of birth, returned only if includeDemographics is 1', example: '1990-01-01' }, addresses: { type: object, description: 'Address information', properties: { address: { type: array, items: { type: object, properties: { addressType: { type: string, description: 'Address type', example: Current }, streetLine: { type: string, description: 'Street line', example: '123 Main St' }, city: { type: string, description: City, example: 'New York' }, state: { type: string, description: State, example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryName: { type: string, description: 'Country name', example: 'United States' }, email: { type: string, description: Email, example: john.doe@example.com }, additionalEmail: { type: string, description: 'Secondary Email', example: another.email@example.com }, phone: { type: object, properties: { phoneType: { type: string, description: 'Phone type', example: personal }, phoneNumber: { type: string, description: 'Phone number', example: '1234567890' } } } } } } } }, phone: { type: object, description: 'Phone information', properties: { phoneType: { type: string, description: 'Phone type', example: personal }, phoneNumber: { type: string, description: 'Phone number', example: '1234567890' }, countryCode: { type: string, description: 'Country code', example: US } } }, customerContacts: { type: object, description: 'Customer contacts', properties: { customerContact: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer contact identifier', example: 12345 }, contactTypeId: { type: integer, description: 'Customer contact type ID', example: 1 }, contactTypeName: { type: string, description: 'Customer contact type name', example: Primary }, firstName: { type: string, description: 'Customer contact first name', example: John }, lastName: { type: string, description: 'Customer contact last name', example: Doe }, primaryPhoneNumber: { type: string, description: 'Customer contact primary phone number', example: '1234567890' }, secondaryPhoneNumber: { type: string, description: 'Customer contact secondary phone number', example: '1234567890' }, email: { type: string, description: 'Customer contact email', example: john.doe@example.com }, relationship: { type: string, description: 'Customer contact relationship name', example: Tenant }, hasAccessToUnit: { type: integer, description: 'Customer contact has access to unit', enum: [0, 1], example: 1 } } } } } } } } } } }, contracts: { type: object, description: 'Contract information', properties: { id: { type: integer, description: 'Contract identifier', example: 12345 }, name: { type: string, description: 'Contract name', example: 'Contract 1' }, reservationCode: { type: string, description: 'Reservation code', example: RES-12345 }, startDate: { type: string, format: date, description: 'Contract start date', example: '2024-01-01' }, endDate: { type: string, format: date, description: 'Contract end date', example: '2024-01-01' } } }, pets: { type: object, description: 'Pet information', properties: { pet: { type: array, items: { type: object, properties: { customerId: { type: integer, description: 'Pet owner customer ID', example: 98765 }, petType: { type: string, description: 'Type of pet', example: Dog }, description: { type: string, description: 'Pet description', example: 'Max is a friendly dog' }, age: { type: integer, description: 'Pet age', example: 5 }, color: { type: string, description: 'Pet color', example: Golden }, breed: { type: string, description: 'Pet breed', example: 'Golden Retriever' }, name: { type: string, description: 'Pet name', example: Max }, gender: { type: string, description: 'Pet gender', example: Male }, weight: { type: integer, description: 'Pet weight', example: 50 }, isAssistanceAnimal: { type: boolean, description: 'Pet is assistance animal', example: true }, moveInDate: { type: string, format: date, description: 'Pet move in date', example: '2024-01-01' }, moveOutDate: { type: string, format: date, description: 'Pet move out date', example: '2024-01-01' } } } } } }, scheduledCharges: { type: object, description: 'Scheduled charges', properties: { scheduledCharge: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Pet identifier', example: 12345 }, leaseIntervalId: { type: integer, description: 'Lease interval identifier', example: 67890 }, chargeCodeId: { type: integer, description: 'AR code identifier', example: 101 }, startDate: { type: string, format: date, description: 'Charge start date', example: '2024-01-01' }, endDate: { type: string, format: date, description: 'Charge end date', example: '2024-01-01' }, frequency: { type: string, description: 'Charge frequency', enum: [Monthly, One-Time], example: Monthly }, chargeType: { type: string, description: 'Charge type', enum: ['Base Rent', 'Security Deposit'], example: 'Base Rent' }, chargeCode: { type: string, description: 'Charge code', example: Rent }, amount: { type: string, description: 'Charge amount', example: '1250.00' }, taxAmount: { type: string, description: 'Tax amount', example: '125.00' }, taxRate: { type: string, description: 'Tax rate', example: '10.00' } } } } } }, specials: { type: object, description: 'Applied specials/concessions', properties: { special: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Special identifier', example: 201 }, name: { type: string, description: 'Special name', example: 'Move-in Special' }, type: { type: string, description: 'Special type', example: 'Move-in Special' }, typeName: { type: string, description: 'Special type name', example: 'Move-in Special' }, amount: { type: string, description: 'Special amount', example: '500.00' }, chargeTiming: { type: string, description: 'Special charge timing', example: Move-in }, chargeTimingId: { type: integer, description: 'Special charge timing ID', example: 1 }, status: { type: string, description: 'Special status', enum: [Available, Unavailable], example: Available }, leaseIntervalId: { type: integer, description: 'Lease interval identifier', example: 67890 } } } } } }, leaseActivities: { type: object, description: 'Lease lifecycle activities, Mainly specifies the application started date, unit selection on application date, move in date, notice sent date, move out date, lease completed date, lease start date, lease end date, financial move out processed date, application partially completed date, application completed date, application approved date, lease generated date, lease cancelled date.', properties: { leasesActivity: { type: array, items: { type: object, properties: { date: { type: string, format: date, description: 'Activity date', example: '2024-01-15' }, eventType: { type: string, description: 'Activity type', example: Application }, description: { type: string, description: 'Activity description', example: 'Lease From' }, comment: { type: string, description: 'Activity comment', example: 'Lease From' } } } } } }, arTransactions: { type: object, description: 'AR transactions (when includeArTransactions is 1)', properties: { arTransaction: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Transaction ID', example: 789 }, transactionTypeId: { type: integer, description: 'Transaction type ID', example: 1 }, chargeCodeId: { type: integer, description: 'Charge code ID', example: 1 }, chargeCodeName: { type: string, description: 'Charge code name', example: Rent }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 67890 }, description: { type: string, description: 'Transaction description', example: Rent }, transactionDate: { type: string, description: 'Transaction date in mm/dd/yyyy format', example: 01/01/2024 }, postDate: { type: string, description: 'Post date in mm/dd/yyyy format', example: 01/01/2024 }, postMonth: { type: string, description: 'Post month in mm/dd/yyyy format', example: 01/01/2024 }, balanceDue: { type: string, description: 'Balance due', example: '1250.00' }, amount: { type: string, description: 'Transaction amount', example: '1250.00' }, amountPaid: { type: string, description: 'Amount paid', example: '1250.00' } } } } } }, roommates: { type: object, description: 'Roommate information', properties: { roommate: { type: array, items: { type: object, properties: { name: { type: string, description: 'Roommate name', example: 'Jane Smith' }, email: { type: string, description: 'Roommate email', example: jane.smith@example.com }, leaseId: { type: integer, description: 'Roommate lease ID', example: 12345 }, roommateGroupId: { type: integer, description: 'Roommate group ID', example: 12345 } } } } } } } } } } } } } } } } }, getLeases-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, leases: { type: object, properties: { lease: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Lease ID', example: 1001 }, leaseStatusTypeId: { type: integer, description: 'Lease status type ID', example: 1 }, propertyId: { type: integer, description: 'Property ID', example: 1234 }, originalLeaseStartDate: { type: string, description: 'Original lease start date in mm/dd/yyyy format', example: 01/15/2024 }, parentLeaseId: { type: integer, description: 'Parent lease ID', example: 1002 }, parentUnitNumberCache: { type: string, description: 'Parent unit number cache', example: 101A }, leaseSubStatus: { type: string, description: 'Lease sub status', example: Active }, leaseType: { type: string, description: 'Lease type', example: Standard }, moveInDate: { type: string, description: 'Move-in date in mm/dd/yyyy format', example: 01/15/2024 }, noticeDate: { type: string, description: 'Notice date in mm/dd/yyyy format', example: 01/15/2024 }, transferLeaseId: { type: integer, description: 'Transfer lease ID', example: 1002 }, transferLeasePropertyId: { type: integer, description: 'Transfer lease property ID', example: 1234 }, moveOutDate: { type: string, description: 'Move-out date in mm/dd/yyyy format', example: 01/14/2025 }, financialMoveOutDate: { type: string, description: 'Financial move-out date in mm/dd/yyyy format', example: 01/14/2025 }, transferDate: { type: string, description: 'Transfer date in mm/dd/yyyy format', example: 01/14/2025 }, moveOutReason: { type: string, description: 'Move-out reason', example: 'Lease expired' }, childUnitNumberCache: { type: string, description: 'Child unit number cache', example: 101A }, propertyName: { type: string, description: 'Property name', example: 'Property A' }, leaseIntervalStatus: { type: string, description: 'Lease interval status', example: Active }, occupancyTypeId: { type: integer, description: 'Occupancy type ID', example: 1 }, occupancyType: { type: string, description: 'Occupancy type', example: Conventional }, isMonthToMonth: { type: integer, description: 'Is month to month', example: 0 }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 1001 }, buildingId: { type: integer, description: 'Building ID', example: 1234 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, floorPlanId: { type: integer, description: 'Floor plan ID', example: 1001 }, floorPlanName: { type: string, description: 'Floor plan name', example: 1BR-1BA }, spaceConfiguration: { type: string, description: 'Space configuration', example: '2x2 Suite' }, collectionsStartDate: { type: string, description: 'Collections start date in mm/dd/yyyy format', example: 01/01/2024 }, terminationStartDate: { type: string, description: 'Termination start date in mm/dd/yyyy format', example: 01/01/2024 }, paymentAllowanceType: { type: string, description: 'Payment allowance type', example: Rent }, isRenewalBlacklist: { type: string, description: 'Is renewal blacklist', enum: [Renewable, Non-Renewable], example: Renewable }, customers: { type: object, properties: { customer: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer ID', example: 9012 }, customerType: { type: string, description: 'Customer type', example: Primary }, firstName: { type: string, description: 'Customer first name', example: John }, lastName: { type: string, description: 'Customer last name', example: Doe }, middleName: { type: string, description: 'Customer middle name', example: Michael }, nameFull: { type: string, description: 'Customer full name', example: 'John Doe' }, emailAddress: { type: string, description: 'Customer email', example: john.doe@example.com }, isActiveBankruptcy: { type: string, description: 'Is active bankruptcy', enum: [t, f], example: t }, bankruptcyDate: { type: string, description: 'Bankruptcy date in mm/dd/yyyy format', example: 01/01/2024 }, bankruptcyNote: { type: string, description: 'Bankruptcy note', example: 'Customer has active bankruptcy' }, leaseCustomerStatus: { type: string, description: 'Lease customer status', example: Active }, relationshipName: { type: string, description: 'Relationship name', example: Tenant }, moveInDate: { type: string, description: 'Move-in date in mm/dd/yyyy format', example: 01/15/2024 }, moveOutDate: { type: string, description: 'Move-out date in mm/dd/yyyy format', example: 01/14/2025 }, dateOfBirth: { type: string, description: 'Date of birth in mm/dd/yyyy format if includeDemographics is 1', example: 01/01/1990 }, paymentAllowanceType: { type: string, description: 'Payment allowance type', example: Rent }, addresses: { type: object, properties: { address: { type: array, items: { type: object, properties: { addressType: { type: string, description: 'Address type', example: Primary }, streetLine: { type: string, description: 'full street line', example: '123 Main St' }, city: { type: string, description: City, example: Anytown }, state: { type: string, description: State, example: CA }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryName: { type: string, description: 'Country name', example: 'United States' } } } } } }, phones: { type: object, properties: { phone: { type: array, items: { type: object, properties: { phoneTypeName: { type: string, description: 'Phone type name', example: Primary }, phoneType: { type: string, description: 'Phone type', example: Mobile }, phoneNumber: { type: string, description: 'Phone number', example: 555-123-4567 }, countryCode: { type: string, description: 'Country code', example: US } } } } } }, customerContacts: { type: object, properties: { customerContact: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Customer contact ID', example: 1 }, contactTypeId: { type: integer, description: 'Contact type ID', example: 1 }, contactTypeName: { type: string, description: 'Contact type name', example: Primary }, firstName: { type: string, description: 'First name', example: John }, lastName: { type: string, description: 'Last name', example: Doe }, primaryPhoneNumber: { type: string, description: 'Primary phone number', example: 555-123-4567 }, secondaryPhoneNumber: { type: string, description: 'Secondary phone number', example: 555-123-4567 }, email: { type: string, description: Email, example: john.doe@example.com }, relationship: { type: string, description: Relationship, example: Tenant }, hasAccessToUnit: { type: integer, description: 'Has access to unit (0 for false, 1 for true)', example: 1 } } } } } } } } } } }, contract: { type: object, properties: { id: { type: integer, description: 'Contract ID', example: 1 }, name: { type: string, description: 'Contract name', example: 'Contract 1' }, reservationCode: { type: string, description: 'Reservation code', example: RES-12345 }, startDate: { type: string, description: 'Contract start date in mm/dd/yyyy format', example: 01/01/2024 }, endDate: { type: string, description: 'Contract end date in mm/dd/yyyy format', example: 01/01/2024 } } }, pets: { type: object, properties: { pet: { type: array, items: { type: object, properties: { customerId: { type: integer, description: 'Pet owner customer ID', example: 98765 }, petType: { type: string, description: 'Type of pet', example: Dog }, description: { type: string, description: 'Pet description', example: 'Fluffy is a friendly dog' }, age: { type: integer, description: 'Pet age', example: 5 }, color: { type: string, description: 'Pet color', example: Golden }, breed: { type: string, description: 'Pet breed', example: 'Golden Retriever' }, name: { type: string, description: 'Pet name', example: Fluffy }, gender: { type: string, description: 'Pet gender', example: Male }, weight: { type: integer, description: 'Pet weight', example: 50 }, isAssistanceAnimal: { type: string, description: 'Is assistance animal', enum: ['true', 'false'], example: 'true' }, moveInDate: { type: string, description: 'Pet move in date in mm/dd/yyyy format', example: 01/15/2024 }, moveOutDate: { type: string, description: 'Pet move out date in mm/dd/yyyy format', example: 01/14/2025 } } } } } }, unitId: { type: integer, description: 'Unit ID', example: 12345 }, unitSpaces: { type: object, properties: { unitSpace: { type: array, items: { type: object, properties: { unitSpaceId: { type: integer, description: 'Unit space ID', example: 101 }, unitSpace: { type: string, description: 'Unit space number', example: 101A } } } } } }, scheduledCharges: { type: object, properties: { scheduledCharge: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Scheduled charge ID', example: 1 }, frequency: { type: string, description: 'Charge frequency', example: Monthly }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 1001 }, chargeCodeId: { type: integer, description: 'Charge code ID', example: 101 }, startDate: { type: string, description: 'Charge start date in mm/dd/yyyy format', example: 01/01/2024 }, endDate: { type: string, description: 'Charge end date in mm/dd/yyyy format', example: 12/31/2024 }, chargeType: { type: string, description: 'Charge type', example: 'Base Rent' }, chargeCode: { type: string, description: 'Charge code name', example: Rent }, amount: { type: number, description: 'Charge amount', example: 1500 }, chargeUsage: { type: string, description: 'Charge usage', example: Rent }, description: { type: string, description: 'Charge description', example: Rent } } } } } }, specials: { type: object, properties: { special: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Special ID', example: 1 }, name: { type: string, description: 'Special name', example: 'First Month Free' }, type: { type: string, description: 'Special type', example: 'Move-in Special' }, typeName: { type: string, description: 'Special type name', example: 'Move-in Special' }, amount: { type: number, description: 'Special amount', example: 500 }, chargeTiming: { type: string, description: 'Special charge timing', example: Move-in }, chargeTimingId: { type: integer, description: 'Special charge timing ID', example: 1 }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 1001 }, leaseIntervalStatusTypeId: { type: integer, description: 'Lease interval status type ID', example: 1 }, leaseStartDate: { type: string, description: 'Lease interval start date in mm/dd/yyyy format', example: 01/15/2024 }, leaseEndDate: { type: string, description: 'Lease interval end date in mm/dd/yyyy format', example: 01/14/2025 } } } } } }, leaseIntervals: { type: object, properties: { leaseInterval: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Lease interval ID', example: 1001 }, startDate: { type: string, description: 'Interval start date in mm/dd/yyyy format', example: 01/15/2024 }, endDate: { type: string, description: 'Interval end date in mm/dd/yyyy format', example: 01/14/2025 }, leaseIntervalTypeId: { type: integer, description: 'Lease interval type ID', example: 1 }, leaseIntervalTypeName: { type: string, description: 'Lease interval type name', example: Original }, leaseIntervalStatusTypeId: { type: integer, description: 'Lease interval status type ID', example: 1 }, leaseIntervalStatusTypeName: { type: string, description: 'Lease interval status type name', example: Active }, applicationCompletedOn: { type: string, description: 'Application completed on in mm/dd/yyyy HH:MM:SS TimeZone format', example: '01/14/2025 12:00:00 MST' }, applicationId: { type: integer, description: 'Application ID', example: 1001 }, moveOutDate: { type: string, description: 'Move out date in mm/dd/yyyy format', example: 01/14/2025 }, renewalStartDate: { type: string, description: 'Renewal start date in mm/dd/yyyy format', example: 01/15/2024 }, renewalBillingStartDate: { type: string, description: 'Renewal billing start date in mm/dd/yyyy format', example: 01/15/2024 }, intervalDateTime: { type: string, description: 'Interval date time in mm/dd/yyyy HH:MM:SS.sss TimeZone format', example: '01/14/2025 12:00:00.000 MST' }, isActiveLeaseInterval: { type: string, description: 'Is active lease interval (f for false, t for true)', enum: [f, t], example: t }, applications: { type: object, properties: { application: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Application ID', example: 1001 }, leaseApprovedOn: { type: string, description: 'Lease approved on in mm/dd/yyyy HH:MM:SS TimeZone format', example: '01/14/2025 12:00:00 MST' }, applicationApprovedOn: { type: string, description: 'Application approved on in mm/dd/yyyy HH:MM:SS.sss TimeZone format', example: '01/14/2025 12:00:00.000 MST' }, leaseCompletedOn: { type: string, description: 'Application approved on in mm/dd/yyyy HH:MM:SS.sss TimeZone format', example: '01/14/2025 12:00:00.000 MST' }, leaseTerm: { type: string, description: 'Lease term name', example: '12 months' }, applicationCompletedOn: { type: string, description: 'Application completed on in mm/dd/yyyy HH:MM:SS TimeZone format', example: '01/14/2025 12:00:00 MST' }, leaseIntervalTypeId: { type: integer, description: 'Lease interval type ID', example: 1 }, isActiveLeaseInterval: { type: string, description: 'Is active lease interval (f for false, t for true)', enum: [f, t], example: t }, propertyFloorPlanId: { type: integer, description: 'Property floor plan ID', example: 1001 }, leaseStartDate: { type: string, description: 'Lease start date in mm/dd/yyyy format', example: 01/15/2024 }, leaseEndDate: { type: string, description: 'Lease end date in mm/dd/yyyy format', example: 01/14/2025 } } } } } } } } } } }, arTransactions: { type: object, properties: { arTransaction: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Transaction ID', example: 1 }, transactionTypeId: { type: integer, description: 'Transaction type ID', example: 1 }, chargeCodeId: { type: integer, description: 'Charge code ID', example: 101 }, chargeCodeName: { type: string, description: 'Charge code name', example: Rent }, leaseIntervalId: { type: integer, description: 'Lease interval ID', example: 1001 }, description: { type: string, description: 'Transaction description', example: Rent }, transactionDate: { type: string, description: 'Transaction date in mm/dd/yyyy format', example: 01/14/2025 }, postDate: { type: string, description: 'Post date in mm/dd/yyyy format', example: 01/14/2025 }, postMonth: { type: string, description: 'Post month in mm/dd/yyyy format', example: 01/14/2025 }, balanceDue: { type: number, description: 'Transaction balance due', example: 1500 }, amount: { type: number, description: 'Transaction amount', example: 1500 }, amountPaid: { type: number, description: 'Transaction amount paid', example: 1500 } } } } } }, roommates: { type: object, properties: { roommate: { type: array, items: { type: object, properties: { name: { type: string, description: 'Roommate name', example: 'Jane Smith' }, email: { type: string, description: 'Roommate email', example: jane.smith@example.com }, leaseId: { type: integer, description: 'Roommate lease ID', example: 1002 }, roommateGroupId: { type: integer, description: 'Roommate group ID', example: 1003 } } } } } } } } } } } } } } } } }, getMitsCollections-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { CurrencyCode: { type: string, description: 'The currency code for the property', example: USD }, MITS-Collections: { type: object, properties: { Summary: { type: object, properties: { MITSDocVersion: { type: string, description: 'MITS document version', example: '3.0' }, GenerationTimeStamp: { type: string, description: 'Timestamp when the document was generated (YYYY-MM-DDTHH:MM:SS)', example: '2024-01-15T10:30:45' }, SourceOrganization: { type: string, description: 'Source organization name', example: 'Entrata Inc' }, TotalProperties: { type: string, description: 'Total number of properties', example: '1' }, TotalLeaseFiles: { type: integer, description: 'Total number of lease files', example: 25 }, TotalTenants: { type: integer, description: 'Total number of tenants', example: 50 }, TotalOpenAmount: { type: number, description: 'Total open amount across all leases', example: 15000 } } }, PropertyFiles: { type: object, properties: { PropertyFile: { type: object, properties: { Property: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, maxLength: 50, description: 'The type of the ID (max 50 chars, required if IDValue present)', example: 'Property ID' }, IDRank: { type: string, description: 'The rank of the ID (typically "primary")', example: primary }, IDScopeType: { type: string, description: 'The scope for the ID (typically "sender")', example: sender } } }, IDValue: { type: string, description: 'Property ID value', example: '12345' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, MarketingName: { type: string, description: 'Property marketing name', example: 'Sunset Apartments' }, Address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: other } } }, Description: { type: string, description: 'Address description', example: 'Primary address' }, Address: { type: string, description: 'Street address', example: '123 Main St' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, Province: { type: string, description: Province, example: '' }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US }, ContryName: { type: string, description: 'Country name', example: 'United States' } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Type of phone', example: office } } }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-1234 }, PhoneDescription: { type: string, description: 'Phone description', example: 'Office phone' }, PhoneExtension: { type: string, description: 'Phone extension', example: '123' } } } } } }, PropertyClient: { type: object, description: 'Property client information', properties: { Client: { type: object, properties: { Identification: { type: object, properties: { IDValue: { type: string, description: 'Client ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, CompanyName: { type: string, description: 'Company name', example: 'ABC Corporation' } } } } }, LeaseFiles: { type: object, properties: { LeaseFile: { type: array, items: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Lease ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Lease ID value', example: '67890' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, CollectionStatus: { type: string, enum: ['true', 'false'], description: 'Collection status', example: 'true' }, CollectionStatusLastChangeDate: { type: string, format: date, description: 'Last change date for collection status (YYYY-MM-DD)', example: '2024-01-01' }, MoveInDate: { type: string, format: date, description: 'Move-in date (YYYY-MM-DD)', example: '2024-01-15' }, MoveOutDate: { type: string, format: date, description: 'Move-out date (YYYY-MM-DD)', example: '2024-12-31' }, NoticeToVacateDate: { type: string, format: date, description: 'Notice to vacate date (YYYY-MM-DD)', example: '2024-11-30' }, LeaseBegin: { type: string, format: date, description: 'Lease begin date (YYYY-MM-DD)', example: '2024-01-01' }, LeaseEnd: { type: string, format: date, description: 'Lease end date (YYYY-MM-DD)', example: '2024-12-31' }, FmoProcessedOn: { type: string, format: date, description: 'FMO processed date (YYYY-MM-DD)', example: '2024-01-05' }, MonthlyRentAmount: { type: number, description: 'Monthly rent amount', example: 1500 }, RentDueFromDate: { type: string, format: date, description: 'Rent due from date (YYYY-MM-DD)', example: '2024-01-01' }, RentDueToDate: { type: string, format: date, description: 'Rent due to date (YYYY-MM-DD)', example: '2024-01-31' }, LastPaymentDate: { type: string, format: date, description: 'Last payment date (YYYY-MM-DD)', example: '2024-01-10' }, TotalLeaseOpenAmount: { type: number, description: 'Total open amount for the lease', example: 500 }, BuildingName: { type: string, description: 'Building name', example: 'Building A' }, Unit: { type: object, properties: { UnitNumber: { type: string, description: 'Unit number', example: '101' }, Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Description: { type: string, description: 'Address description', example: 'Unit address' }, Address: { type: string, description: 'Street address', example: '123 Main St, Unit 101' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US } } } } }, Tenants: { type: array, items: { type: object, properties: { PersonDetails: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Customer ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: John }, MiddleName: { type: string, description: 'Middle name', example: A }, LastName: { type: string, description: 'Last name', example: Doe } } }, Address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Description: { type: string, description: 'Address description', example: 'Primary address' }, Address: { type: string, description: 'Street address', example: '456 Oak Ave' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Email address', example: john.doe@example.com } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: cell } } }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-5678 } } } } } }, DateOfBirth: { type: string, description: 'Date of birth (YYYY-MM-DD) as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, SSN: { type: string, description: 'Social Security Number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, DriversLicense: { type: string, description: "Driver's license number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).", example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, Guarantor: { type: string, enum: ['true', 'false'], description: 'Whether the tenant is a guarantor', example: 'false' }, LeaseSignOnDate: { type: string, format: date, description: 'Lease sign-on date (YYYY-MM-DD)', example: '2024-01-01' }, Income: { type: object, additionalProperties: { type: object, properties: { IncomeSource: { type: string, description: 'Income source', example: Investment }, IncomeAmount: { type: number, description: 'Income amount', example: 2000 } } } }, Employer: { type: object, additionalProperties: { type: object, properties: { EmployerDetails: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer Employer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Employer ID', example: '789' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, CompanyName: { type: string, description: 'Company name', example: 'ABC Corporation' }, Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Address: { type: string, description: 'Street address', example: '789 Business Blvd' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, Province: { type: string, description: Province, example: '' }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Email address', example: hr@abccorp.com } } } } }, Income: { type: object, properties: { IncomeAmount: { type: string, description: 'Income amount', example: '5000.00' } } }, JobTitle: { type: string, description: 'Job title', example: 'Software Engineer' }, SupervisorName: { type: string, description: 'Supervisor name', example: 'Jane Smith' }, SupervisorContactNumber: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: other } } }, PhoneDescription: { type: string, description: 'Phone description', example: 'Other Phone Number' }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-9999 } } }, LastDateEmployed: { type: string, format: date, description: 'Last date employed', example: '2024-12-31' } } } }, Contact: { type: array, description: 'Customer contact details', items: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Contact ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'ABC Corp' } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: Jane }, LastName: { type: string, description: 'Last name', example: Smith } } }, ContactType: { type: string, description: 'Contact type', example: 'Personal Reference' }, Relationship: { type: string, description: Relationship, example: Friend }, Address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Address: { type: string, description: 'Street address', example: '789 Business Blvd' }, Description: { type: string, description: 'Address description', example: 'Primary address' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Email address', example: jane.smith@example.com } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: cell }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-5678 } } } } } } } } } } } }, FileTransactions: { type: array, items: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Transaction ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Transaction ID', example: '98765' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, TransDate: { type: string, format: date, description: 'Transaction date (YYYY-MM-DD)', example: '2024-01-15' }, TransTypeDesc: { type: string, description: 'Transaction type description', example: 'Monthly rent charge' }, TransType: { type: string, enum: [Payment, Charge, Adjustment], description: 'Transaction type', example: Charge }, TransAmount: { type: number, description: 'Transaction amount', example: 1500 }, OpenAmount: { type: number, description: 'Open amount', example: 500 } } } } } } } } } } } } } } } } } } } } }, getMitsLeases-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { CurrencyCode: { type: string, description: 'The currency code for the property', example: USD }, LeaseApplication: { type: object, properties: { Tenant: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { ResidentType: { type: string, enum: [Primary, Co-applicant, Co-signer, Occupant, 'Non-Leasing Occupant'], description: 'Type of resident', example: Primary } } }, Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Customer ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, LeaseID: { type: object, properties: { Identification: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Lease ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Lease ID value', example: '67890' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } } } }, Reference: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { ReferenceType: { type: string, enum: [PersonalReference, EmergencyContact, Accountant, Other], description: 'Type of reference', example: PersonalReference } } }, ContactInfo: { type: object, properties: { Identification: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer Contact Id' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'Contact ID value', example: '789012' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: Jane }, LastName: { type: string, description: 'Last name', example: Smith } } }, Address: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Email: { type: string, description: 'Email address', example: jane.smith@example.com } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, enum: [office, cell, home, fax, other], description: 'Phone type', example: cell } } }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-5678 } } } } } } } } }, Name: { type: object, properties: { NamePrefix: { type: string, description: 'Name prefix', example: Mr. }, FirstName: { type: string, description: 'First name', example: John }, MiddleName: { type: string, description: 'Middle name', example: A }, LastName: { type: string, description: 'Last name', example: Doe }, MaidenName: { type: string, description: 'Maiden name', example: Smith }, NameSuffix: { type: string, description: 'Name suffix', example: Jr. } } }, PersonalID: { type: object, properties: { '@attributes': { type: object, properties: { PersonalIDType: { type: string, enum: [DriversLicense, SocialSecurity, Military, State, Other], description: 'Personal ID type', example: Other } } }, IDNumber: { type: string, description: 'ID number', example: '' }, IDIssuer: { type: string, description: 'ID issuer', example: '' } } }, BirthDate: { type: string, format: date, description: 'Birth date (YYYY-MM-DD)', example: '1985-05-15' }, Residence: { type: object, properties: { Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: current } } }, Address: { type: string, description: 'Street address', example: '123 Main St' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, PostalCode: { type: string, description: 'Postal code', example: '84101' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Email address', example: john.doe@example.com } } } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, enum: [personal, home, office, cell, fax, other], description: 'Phone type', example: cell } } }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-1234 } } } }, Spouse: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } } }, GuarantorFor: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } } }, Finances: { type: object, properties: { Occupation: { type: object, properties: { '@attributes': { type: object, properties: { End: { type: string, format: date, description: 'End date (YYYY-MM-DD)', example: '2024-01-01' }, Start: { type: string, format: date, description: 'Start date (YYYY-MM-DD)', example: '2024-01-01' } } }, Title: { type: string, description: Title, example: 'Software Engineer' }, Employer: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } } }, CompanyName: { type: string, description: 'Company name', example: 'ABC Corporation' }, Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type', example: other } } }, Address: { type: string, description: 'Street address', example: '123 Main St' }, City: { type: string, description: 'City name', example: 'Salt Lake City' }, State: { type: string, description: 'State code', example: UT }, PostalCode: { type: string, description: 'Postal code', example: '84101' } } }, Supervisor: { type: object, properties: { Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: Jane }, LastName: { type: string, description: 'Last name', example: Smith } } }, Phone: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Phone type', example: cell } } }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-5678 } } } } }, Salary: { type: object, properties: { '@attributes': { type: object, properties: { Frequency: { type: string, description: Frequency, example: monthly }, Amount: { type: number, description: Amount, example: 1000 } } } } } } } } } } } } } }, LA_Lease: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Lease ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender }, IsMonthToMonth: { type: integer, enum: [0, 1], description: 'Is month to month', example: 1 } } }, IDValue: { type: string, description: 'ID value', example: '67890' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, AccountingData: { type: object, properties: { ChargeSet: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Start: { type: string, format: date, description: 'Start date for the charge set (YYYY-MM-DD)', example: '2024-01-01' }, End: { type: string, format: date, description: 'End date for the charge set (if applicable) (YYYY-MM-DD)', example: '2024-12-31' }, Frequency: { type: string, description: 'Frequency of the scheduled charge set', example: monthly } } }, Charge: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { ChargeType: { type: string, description: 'MITS charge type', example: 'Base Rent' } } }, Identification: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type for the charge or code', example: 'Charge ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '12345' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } }, Label: { type: string, description: 'Name/label of the charge', example: 'Monthly Rent' }, Amount: { type: number, description: 'Amount for the charge', example: 1000 } } } } } } } } }, LeaseEvents: { type: object, properties: { LeaseEvent: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Date: { type: string, format: date, description: 'Date of the lease event (YYYY-MM-DD)', example: '2024-01-01' }, EventType: { type: string, description: 'Type of lease event', example: 'Lease Signed' }, MoveOutReason: { type: string, description: 'Reason for move out', example: 'Lease Expired' }, Description: { type: string, description: 'Description of the lease event', example: 'Lease signed on 2024-01-01' } } } } } } } }, ParkingStorage: { type: object, properties: { Vehicle: { type: array, items: { type: object, properties: { Colour: { type: string, description: 'Color of the vehicle', example: Blue }, LicenseNumber: { type: string, description: 'License number of the vehicle', example: ABC123 }, LicenseState: { type: string, description: 'License state of the vehicle', example: CA }, Make: { type: string, description: 'Make of the vehicle', example: Toyota }, Model: { type: string, description: 'Model of the vehicle', example: Camry }, Owner: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Customer ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, Name: { type: object, properties: { FirstName: { type: string, description: 'First name', example: John }, LastName: { type: string, description: 'Last name', example: Doe } } } } }, Year: { type: string, description: 'Year of the vehicle', example: '2024' } } } } } }, Pets: { type: object, properties: { Pet: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PetType: { type: string, description: 'Type of pet', example: Dog }, Description: { type: string, description: 'Description of the pet', example: 'Friendly and well-trained dog' }, Count: { type: integer, description: 'Count of the pet', example: 1 }, Weight: { type: number, format: float, description: 'Weight of the pet', example: 10 } } } } } } } }, Property: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Property ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '12345' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, MarketingName: { type: string, description: 'Marketing name of the property', example: 'Sunset Apartments' }, Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: other } } }, Address: { type: string, description: 'Address of the property', example: '123 Main St' }, City: { type: string, description: 'City of the property', example: 'Salt Lake City' }, State: { type: string, description: 'State of the property', example: UT }, Province: { type: string, description: 'Province of the property', example: '' }, PostalCode: { type: string, description: 'Postal code of the property', example: '84101' }, Country: { type: string, description: 'Country of the property', example: US }, ContryName: { type: string, description: 'Country name of the property', example: 'United States' }, Description: { type: string, description: 'Description of the property', example: 'Primary property' } } }, Phone: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Type of phone', example: office } } }, PhoneDescription: { type: string, description: 'Description of the phone', example: 'Office phone' }, PhoneNumber: { type: string, description: 'Phone number', example: 801-555-1234 }, Extension: { type: string, description: 'Extension of the phone', example: '123' } } } } } }, Status: { type: object, properties: { ApprovalStatus: { type: string, description: 'Approval status', example: Approved } } }, Utilities: { type: object, properties: { Utility: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Metering: { type: string, description: 'Metering of the utility', example: Electricity }, Responsibility: { type: string, description: 'Responsibility of the utility', example: Tenant }, UtilityType: { type: string, description: 'Type of utility', example: Electricity }, Name: { type: string, description: 'Name of the utility', example: Electricity }, Description: { type: string, description: 'Description of the utility', example: Electricity }, Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Utility ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } } } } } } } } }, Unit: { type: object, properties: { Identification: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'ID type', example: 'Unit ID' }, IDRank: { type: string, description: 'ID rank', example: primary }, IDScopeType: { type: string, description: 'ID scope type', example: sender } } }, IDValue: { type: string, description: 'ID value', example: '123456' }, OrganizationName: { type: string, description: 'Remote organization primary key (optional)', example: 'Entrata External Org' } } }, MarketingName: { type: string, description: 'Marketing name of the unit', example: 'Sunset Apartments' }, UnitType: { type: string, description: 'Type of unit', example: Apartment }, UnitBedrooms: { type: number, format: float, description: 'Number of bedrooms in the unit', example: 2.5 }, UnitBathrooms: { type: number, format: float, description: 'Number of bathrooms in the unit', example: 2.5 }, MinSquareFeet: { type: integer, description: 'Minimum square feet of the unit', example: 1000 }, MaxSquareFeet: { type: integer, description: 'Maximum square feet of the unit', example: 1200 }, SquareFootType: { type: string, description: 'Type of square feet', example: internal }, UnitRent: { type: string, description: 'Initial/unit rent formatted as a currency string, e.g., "$1600"', example: $1600 }, MarketRent: { type: string, description: 'Market rent value formatted as a currency string, e.g., "$1800"', example: $1800 }, UnitEconomicStatus: { type: string, description: 'Economic status of the unit (e.g., "residential")', example: residential }, UnitLeasedStatus: { type: string, description: 'Leased status of the unit', example: leased }, NumberOccupants: { type: object, description: 'Maximum number of occupants allowed', properties: { '@attributes': { type: object, properties: { Total: { type: integer, description: 'Maximum number of occupants', example: 4 } } }, '@value': { type: integer, description: 'Maximum number of occupants (redundant, for compatibility)', example: 4 } } }, CurrentNumberOccupants: { type: object, description: 'Current number of occupants in the unit', properties: { '@attributes': { type: object, properties: { Total: { type: integer, description: 'Current number of occupants', example: 3 } } }, '@value': { type: integer, description: 'Current number of occupants (redundant, for compatibility)', example: 3 } } }, FloorplanName: { type: string, description: 'Name of the floorplan (if available)', example: 'Sierra 2B' }, BuildingName: { type: string, description: 'Name of the building (if available)', example: 'Everest Building' }, Address: { type: object, description: 'Address info for this unit', properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Address type (e.g., "property")', example: property } } }, Description: { type: string, description: 'Description of the address type', example: 'Physical Address' }, Address: { type: string, description: 'Street address (may include line 1 and 2)', example: '123 Main St, Apt 4B' }, City: { type: string, description: City, example: 'Los Angeles' }, State: { type: string, description: 'State code (2-3 characters)', example: CA }, Province: { type: string, description: 'Province, if applicable', example: California }, PostalCode: { type: string, description: 'Postal code', example: '90089' }, CountryName: { type: string, description: 'County or country name', example: 'Los Angeles County' } } } } } } } } } } } } }, getParcelAlerts-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { packageBatches: { type: object, properties: { packageBatch: { type: array, description: 'List of package batches', items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Package batch ID', example: 12345 }, name: { type: string, description: 'Package batch name', example: 'Batch 2024-01-15' } } }, totalPackages: { type: integer, description: 'Total number of packages in batch', example: 25 }, totalPickedUp: { type: integer, description: 'Total number of packages picked up', example: 20 }, totalDelivered: { type: integer, description: 'Total number of packages delivered', example: 23 }, totalPrint: { type: integer, description: 'Total number of packages printed', example: 25 }, totalResend: { type: integer, description: 'Total number of packages resent', example: 2 }, packageBatchDate: { type: string, format: date, description: 'Package batch date in YYYY-MM-DD format', example: '2024-01-15' }, packages: { type: object, properties: { package: { type: array, description: 'List of packages in the batch', items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Package ID', example: 98765 } } }, leaseId: { type: integer, description: 'Associated lease ID', example: 67890 }, customerId: { type: integer, description: 'Associated customer ID', example: 54321 }, customerEmailAddress: { type: string, description: 'Customer email address', example: john.doe@example.com }, customerName: { type: string, description: 'Customer full name', example: 'John Doe' }, unitSpaceId: { type: integer, description: 'Unit space ID', example: 11111 }, unitNumber: { type: string, description: 'Unit number', example: 101A }, packageType: { type: string, description: 'Type of package', example: Standard }, packageStatus: { type: string, description: 'Current status of package', example: Delivered }, trackingNumber: { type: string, description: 'Package tracking number/barcode', example: 1Z999AA1234567890 }, shippingVendor: { type: string, description: 'Shipping vendor/package name', example: UPS }, notes: { type: string, description: 'Package notes (only if published)', example: 'Package delivered to front desk' }, emailedOn: { type: string, format: date, description: 'Date when notification email was sent in YYYY-MM-DD format', example: '2024-01-15' }, calledOn: { type: string, format: date, description: 'Date when customer was called in YYYY-MM-DD format', example: '2024-01-16' }, printedOn: { type: string, format: date, description: 'Date when notification was printed in YYYY-MM-DD format', example: '2024-01-15' }, receivedOn: { type: string, format: date, description: 'Date when package was received in YYYY-MM-DD format', example: '2024-01-15' }, packageDate: { type: string, format: date, description: 'Package date in YYYY-MM-DD format', example: '2024-01-15' } } } } } } } } } } } } } } } } }, getRentersInsurancePolicies-r1-identification-node-schema: { type: object, properties: { '@attributes': { type: object, properties: { IDType: { type: string, description: 'type of identification', example: 'Customer ID' }, IDRank: { type: string, description: 'rank of identification', example: primary }, IDScopeType: { type: string, description: 'scope type of identification', example: sender } } }, IDValue: { type: string, description: 'id number or value of entity', example: '12345' }, OrganizationName: { type: string, description: 'External reference number of entity', example: 'ABC Corp' } } }, getRentersInsurancePolicies-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { CurrencyCode: { type: string, description: 'Currency code for the property', example: USD }, LeaseApplication: { type: object, properties: { Property: { type: object, description: 'Property information', properties: { Identification: { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' }, MarketingName: { type: string, description: 'Property marketing name', example: 'Sunset Apartments' }, Address: { type: array, description: 'Property address details', items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'type of address', example: Primary } } }, Description: { type: string, description: 'address type description', example: 'Primary address' }, Address: { type: string, description: 'full address line', example: '123 Main St' }, City: { type: string, description: city, example: Springfield }, State: { type: string, description: state, example: IL }, Province: { type: string, description: province, example: IL }, PostalCode: { type: string, description: 'postal code', example: '62701' }, Country: { type: string, description: country, example: USA }, CountryName: { type: string, description: 'country name', example: USA } } } } } }, Tenant: { type: array, description: 'List of tenants', items: { type: object, properties: { '@attributes': { type: object, properties: { ResidentType: { type: string, description: 'Type of resident', enum: [Primary, Co-applicant, Co-signer, 'Non-Leasing Occupant', Occupant], example: Primary } } }, Identification: { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' }, LeaseID: { type: object, description: 'Associated lease IDs', properties: { Identification: { type: array, description: 'Associated lease IDs', items: { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' } } } }, Reference: { type: array, description: 'Customer Contact references', items: { type: object, properties: { '@attributes': { type: object, properties: { ReferenceType: { type: string, description: 'Type of reference', enum: [Accountant, EmergencyContact, PersonalReference, Other], example: Accountant } } }, ContactInfo: { type: object, description: 'Customer contact information', properties: { Identification: { type: array, description: 'Customer contact identification details', items: { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' } }, Name: { type: object, description: 'Customer contact name', properties: { FirstName: { type: string, description: 'First name', example: John }, LastName: { type: string, description: 'Last name', example: Doe } } }, Address: { type: array, description: 'Customer email address details', items: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'email address type', example: other } } }, Email: { type: string, description: 'email address', example: john.doe@example.com } } } }, Phone: { type: array, description: 'Customer phone number details, office or mobile number', items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'phone number type, office or mobile', example: office } } }, PhoneNumber: { type: string, description: 'phone number', example: 555-123-4567 } } } } } } } } }, Name: { type: object, description: 'Tenant name details', properties: { NamePrefix: { type: string, description: 'Name prefix', example: Mr. }, FirstName: { type: string, description: 'First name', example: John }, MiddleName: { type: string, description: 'Middle name', example: M }, LastName: { type: string, description: 'Last name', example: Doe }, MaidenName: { type: string, description: 'Maiden name', example: Doe }, NameSuffix: { type: string, description: 'Name suffix', example: Jr. } } }, Residence: { type: object, description: 'Residence information', properties: { Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'address type', example: current } } }, Address: { type: string, description: 'Full address line', example: '123 Main St, Apt 4B' }, City: { type: string, description: 'City name', example: Springfield }, State: { type: string, description: 'State code', example: IL }, PostalCode: { type: string, description: 'Postal code', example: '62701' }, CountryName: { type: string, description: 'Country name', example: USA }, Email: { type: string, description: 'Email address', example: john.doe@example.com } } } } }, Phone: { type: array, description: 'Phone numbers', items: { type: object, properties: { '@attributes': { type: object, properties: { PhoneType: { type: string, enum: [personal, cell, office, fax], example: cell } } }, PhoneNumber: { type: string, description: 'Phone number', example: 555-123-4567 } } } } } } }, LA_Lease: { type: array, description: 'List of leases with insurance policies', items: { type: object, properties: { Identification: { description: 'Lease identification details', allOf: [{ $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' }] }, Status: { type: object, description: 'Lease status details', properties: { ApprovalStatus: { type: string, description: 'Lease status type', example: Current } } }, Unit: { type: object, description: 'Unit information', properties: { Identification: { $ref: '#/components/schemas/getRentersInsurancePolicies-r1-identification-node-schema' }, MarketingName: { type: string, description: 'Unit marketing name', example: 101A }, UnitType: { type: string, description: 'Unit type', example: Apartment }, UnitBedrooms: { type: string, description: 'number of bedrooms', example: '1' }, UnitBathrooms: { type: string, description: 'number of bathrooms', example: '1' }, MinSquareFeet: { type: integer, description: 'minimum unit square feet', example: 1000 }, MaxSquareFeet: { type: integer, description: 'maximum unit square feet', example: 1000 }, SquareFootType: { type: string, description: 'square foot type', example: internal }, UnitRent: { type: string, description: 'base unit rent amount formatted with $ [dollar sign]', example: $100 }, MarketRent: { type: string, description: 'market rent amount included with other chargesformatted with $ [dollar sign]', example: $150 }, UnitEconomicStatus: { type: string, description: 'unit economic status', example: residential }, UnitLeasedStatus: { type: string, description: 'unit leased status', example: leased }, NumberOccupants: { type: object, properties: { '@attributes': { type: object, properties: { Total: { type: integer, description: 'maximum number of occupants allowed on the unit', example: 1 } } }, '@value': { type: integer, description: 'maximum number of occupants allowed on the unit', example: 1 } } }, CurrentNumberOccupants: { type: object, properties: { '@attributes': { type: object, properties: { Total: { type: integer, description: 'total number of current occupants on the unit', example: 1 } } }, '@value': { type: integer, description: 'total number of current occupants on the unit', example: 1 } } }, FloorplanName: { type: string, description: 'floor plan name', example: 101A }, BuildingName: { type: string, description: 'building name', example: 'Building 1' }, Address: { type: object, properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'address type', example: property } } }, Description: { type: string, description: 'address type description', example: 'Property address' }, Address: { type: string, description: 'full address line', example: '123 Main St' }, City: { type: string, description: city, example: Springfield }, State: { type: string, description: state, example: IL }, Province: { type: string, description: province, example: IL }, PostalCode: { type: string, description: 'postal code', example: '62701' }, CountryName: { type: string, description: 'country name', example: USA } } } } }, InsurancePolicies: { type: object, properties: { InsurancePolicy: { type: array, description: 'List of insurance policies', items: { type: object, properties: { id: { type: integer, description: 'Insurance policy ID', example: 12345 }, name: { type: string, description: 'Primary insured name', example: 'John Doe' }, unitNumber: { type: string, description: 'Unit number', example: 101A }, leaseId: { type: integer, description: 'Associated lease ID', example: 67890 }, customerId: { type: integer, description: 'Customer ID', example: 54321 }, customerIds: { type: string, description: 'Comma-separated customer IDs', example: '54321,54322' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 98765 }, unitSpaceId: { type: integer, description: 'Unit space ID', example: 11111 }, provider: { type: string, description: 'Insurance provider name', example: 'State Farm' }, policyNumber: { type: string, description: 'Policy number', example: POL123456789 }, startDate: { type: string, description: 'Policy start date in mm/dd/yyyy format', example: 01/01/2024 }, endDate: { type: string, description: 'Policy end date in mm/dd/yyyy format', example: 12/31/2024 }, liability: { type: string, description: 'Liability limit amount', example: '100000' }, deductible: { type: string, description: 'Deductible amount', example: '500' }, personalContents: { type: string, description: 'Personal contents limit', example: '25000' }, policyTypeId: { type: integer, description: 'Policy type ID', example: 1 }, policyTypeName: { type: string, description: 'Policy type name', example: 'Renters Insurance' }, status: { type: string, description: 'Policy status', example: Active } } } } } } } } } } } } } } } } }, moveInLease-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'Status of the operation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Description of the operation result', example: 'Customer moved in successfully.' } } } } } } }, moveOutLease-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'Status of the operation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Description of the operation result', example: 'Lease Moved-Out successfully.' } } } } } } }, onNoticeLease-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'Status of the operation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Description of the operation result', example: 'Successfully placed lease on Notice.' } } } } } } }, sendLeaseActivities-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [events], properties: { events: { type: object, required: [event], properties: { event: { type: array, items: { type: object, required: [node, leaseId, status, message], properties: { node: { type: integer, description: 'The node number of the event in the request (1-based index)', example: 1 }, leaseId: { type: integer, description: 'The ID of the lease associated with the event', example: 67890 }, status: { type: string, description: 'The status of the event processing', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Success or error message describing the result', example: 'Event inserted successfully.' } } } } } } } } } } } }, sendLeaseDocuments-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [files], properties: { files: { type: object, required: [file], properties: { file: { type: array, items: { type: object, required: [node, fileId, fileName, status, message], properties: { node: { type: integer, description: 'The node number of the file in the request (1-based index)', example: 1 }, fileId: { type: integer, description: 'The ID of the uploaded file (0 if upload failed)', example: 12345 }, fileName: { type: string, nullable: true, description: 'The name of the uploaded file. Returned as null when the file could not be processed (for example an unsupported extension or a file that was not uploaded), in which case fileId is 0.', example: lease_agreement.pdf }, status: { type: string, description: 'The status of the file upload', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Success or error message describing the result', example: 'File uploaded successfully.' } } } } } } } } } } } }, sendLeases-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [leases], properties: { leases: { type: object, required: [lease], properties: { lease: { type: array, items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'The node number of the lease in the request (1-based index)', example: 1 }, leaseId: { type: integer, description: 'The ID of the created lease (only present on success)', example: 12345 }, status: { type: string, description: 'The status of the lease creation', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Success or error message describing the result', example: 'Lease inserted successfully.' } } } } } } } } } } } }, sendRentersInsurancePolicies-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [insurancePolicies], properties: { insurancePolicies: { type: object, required: [insurancePolicy], properties: { insurancePolicy: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [node, reference_id, lease_id, customer_id, status, message], properties: { node: { type: integer, description: 'The node number of the insurance policy in the request', example: 1 }, reference_id: { type: integer, description: 'The insurance policy ID', example: 123456 }, lease_id: { type: integer, description: 'The lease ID', example: 123456 }, customer_id: { type: integer, description: 'The customer ID', example: 123456 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Insurance policy updated successfully.' } } } } }, description: 'Array of response objects for each insurance policy' } } } } } } } } }, sendRentersInsurancePolicies-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [insurancePolicies], properties: { insurancePolicies: { type: object, required: [insurancePolicy], properties: { insurancePolicy: { type: array, items: { type: object, required: [Node, ReferenceId, LeaseId, CustomerId, Status, Message], properties: { Node: { type: integer, description: 'The node number of the insurance policy in the request (1-based index)', example: 1 }, ReferenceId: { type: integer, description: 'The insurance policy ID (if available)', example: 123456 }, LeaseId: { type: integer, description: 'The lease ID (if available)', example: 123456 }, CustomerId: { type: string, description: 'The customer ID(s), comma separated if multiple', example: '789012,789013' }, Status: { type: string, enum: [Success, Failed], description: 'The status of the operation ("Success" or "Failed")', example: Success }, Message: { type: string, description: 'The response message. If successful, will be "Insurance policy inserted successfully." or "Insurance policy updated successfully." If failed, will be a concatenation of error fields or "Insurance policy insertion failed."', example: 'Insurance policy inserted successfully.' } }, description: 'Array of response objects for each insurance policy' } } } } } } } } } }, sendRoommateGroups-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [roommateGroups], properties: { roommateGroups: { type: object, required: [roommateGroup], properties: { roommateGroup: { type: array, items: { type: object, required: [node, roommateGroupId, status, message], properties: { node: { type: integer, description: 'The node number of the roommate group in the request', example: 1 }, roommateGroupId: { type: integer, description: 'The ID of the created or updated roommate group', example: 67890 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Roommate Group created successfully' } } }, description: 'Array of response objects for each roommate group' } } } } } } } } }, sendRoommateGroups-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [roommateGroups], properties: { roommateGroups: { type: array, items: { type: object, required: [node, roommateGroupId, status, message], properties: { node: { type: integer, description: 'The node number of the roommate group in the request', example: 1 }, roommateGroupId: { type: integer, description: 'The ID of the created roommate group (0 if failed)', example: 67890 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Roommate Group created successfully' } } }, description: 'Array of response objects for each roommate group' } } } } } } }, sendScheduledCharges-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [scheduledCharges], properties: { scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: [id, node, status, message], properties: { id: { type: integer, description: 'The ID of the updated scheduled charge (0 if failed)', example: 12345 }, node: { type: integer, description: 'The node number of the scheduled charge in the request', example: 1 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Scheduled charge updated successfully.' } } }, description: 'Array of response objects for each scheduled charge' } } } } } } } } }, updateLease-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, leaseId, message], properties: { status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, leaseId: { type: integer, description: 'The ID of the updated lease', example: 67890 }, message: { type: string, description: 'The response message', example: 'Lease updated successfully.' } } } } } } }, updateScheduledCharges-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [scheduledCharges], properties: { scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, node, status, message], properties: { id: { type: integer, description: 'The ID of the updated scheduled charge (0 if failed)', example: 789012 }, node: { type: integer, description: 'The node number of the scheduled charge in the request', example: 1 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Scheduled charge updated successfully.' } } } } }, description: 'Array of response objects for each scheduled charge' } } } } } } } } }, updateScheduledCharges-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [scheduledCharges], properties: { scheduledCharges: { type: object, required: [scheduledCharge], properties: { scheduledCharge: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, node, status, message], properties: { id: { type: integer, description: 'The ID of the updated scheduled charge (0 if failed)', example: 789012 }, node: { type: integer, description: 'The node number of the scheduled charge in the request', example: 1 }, status: { type: string, enum: [Success, Failure], description: 'The status of the operation', example: Success }, message: { type: string, description: 'The response message', example: 'Scheduled charge updated successfully.' } } } } }, description: 'Array of response objects for each scheduled charge' } } } }, description: 'Method parameters' } } } } }, getCallLogs-r1-request-schema: { description: 'Retrieves call logs for a specific property, including details about the caller, destination phone number, call type, and result. The results can be filtered by call source, call type, call result, answer status, voice mail type, call state, date range, and whether the call was analyzed.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCallLogs], description: 'Method name to be called', example: getCallLogs }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'Comma-separated list of property IDs to filter results', example: '1,2,3' }, callSourceId: { type: integer, enum: [1, 2, 7], description: 'Call source ID to filter results. Supported values are [ 1 for ON-SITE, 2 for LEASING_CENTER and 7 for MISCELLANEOUS ]', example: 1 }, callTypeIds: { type: string, description: 'Comma-separated list of call type IDs to filter results', example: '1,2,3' }, callResultIds: { type: string, description: 'Comma-separated list of call result IDs to filter results', example: '1,2,3' }, answerStatus: { type: integer, enum: [1, 2], description: 'Answer status to filter results (1 for ANSWERED, 2 for UNANSWERED)', example: 1 }, voiceMailTypeId: { type: integer, enum: [1, 2, 3], description: 'Voice mail type ID to filter results (1 for VOICE_MESSAGE, 2 for UNPLAYED_VOICE_MESSAGE, 3 for NO_VOICE_MESSAGE)', example: 1 }, callState: { type: integer, enum: [1, 2], description: 'Call state to filter results (1 for NON-ARCHIVED, 2 for ARCHIVED)', example: 1 }, startDate: { type: string, format: date, description: 'Start date for filtering calls in YYYY-MM-DD format, if not provided, defaults to the first day of the current month.', example: '2023-01-01' }, endDate: { type: string, format: date, description: 'End date for filtering calls in YYYY-MM-DD format, if not provided, defaults to the current date.', example: '2023-12-31' }, callAnalyzed: { type: integer, description: 'Filter for analyzed calls (0 for false, 1 for true)', example: 1 } }, description: 'Method parameters' } } } } }, getLeasingCenterPickLists-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getLeasingCenterPickLists], description: 'Method name to be called', example: getLeasingCenterPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters (no parameters required for this method)' } } } } }, getCallLogs-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [calls], properties: { calls: { type: object, properties: { call: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Call ID', example: 12345 }, applicationId: { type: integer, description: 'Associated application ID', example: 67890 }, callerName: { type: string, description: 'Name of the caller', example: 'John Doe' }, originPhoneNumber: { type: string, description: 'Originating phone number', example: 555-123-4567 }, propertyId: { type: integer, description: 'Property ID', example: 1 }, destinationPhoneNumber: { type: string, description: 'Destination phone number', example: 555-987-6543 }, callTypeId: { type: integer, description: 'Call type ID', example: 1 }, callType: { type: string, description: 'Call type name', example: Inquiry }, callSourceId: { type: integer, description: 'Call source ID', example: 1 }, callSource: { type: string, description: 'Call source name', example: ON-SITE }, callResultId: { type: integer, description: 'Call result ID', example: 1 }, callResult: { type: string, description: 'Call result name', example: 'Information Given' }, callState: { type: string, description: 'Call state (Non-Archived or Archived)', example: Non-Archived }, callAnalyzed: { type: string, description: 'Whether call was analyzed (Yes or No)', example: 'Yes' }, voiceMailTypeId: { type: integer, description: 'Voice mail type ID', example: 3 }, answerStatus: { type: string, description: 'Answer status of the call', example: Answered }, leadSourceId: { type: integer, description: 'Lead source ID', example: 1 }, leadSourceName: { type: string, description: 'Lead source name', example: Website }, agentName: { type: string, description: 'Agent name who handled the call', example: 'Jane Smith' }, callDuration: { type: string, description: 'Duration of the call', example: '00:05:30' }, callCenterTalkTime: { type: string, description: 'Call center talk time', example: '00:04:45' }, callDateTime: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/([0-9]{4}) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9] [A-Z]{2,4}$', description: 'Date and time of the call in MM/DD/YYYY HH:MM:SS format with timezone.', example: '06/15/2023 10:30:00 MST' } } } } } } } } } } } }, getLeasingCenterPickLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { callSources: { type: object, properties: { callSource: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Call source ID', example: 1 }, name: { type: string, description: 'Call source name', example: ON-SITE } } } } } }, callTypes: { type: object, properties: { callType: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Call type ID', example: 1 }, name: { type: string, description: 'Call type name', example: 'General Inquiry' } } } } } }, callResults: { type: object, properties: { callResult: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Call result ID', example: 1 }, name: { type: string, description: 'Call result name', example: 'Information Given' } } } } } } } } } } } }, getInspections-r1-request-schema: { description: 'Retrieves detailed inspection information based on various search criteria.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '18' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getInspections], description: 'Method name to be called', example: getInspections }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to filter inspections', example: 1234 }, leaseId: { type: integer, description: 'Lease ID to filter inspections (optional)', example: 5001 }, unitSpaceId: { type: integer, description: 'Unit space ID to filter inspections (optional)', example: 3001 }, fromDate: { type: string, format: date, description: 'Start date for inspection creation date range (YYYY-MM-DD). Required if toDate is provided.', example: '2024-01-01' }, toDate: { type: string, format: date, description: 'End date for inspection creation date range (YYYY-MM-DD). Required if fromDate is provided. Date range cannot exceed 1 year.', example: '2024-12-31' }, statusTypeIds: { type: string, description: 'Comma-separated list of inspection status type IDs to filter by.', example: '1,2,3' }, inspectionFormId: { type: integer, description: 'Inspection form ID to filter inspections (optional)', example: 1001 }, inspectionTypeId: { type: integer, enum: [1, 2, 3], description: 'Inspection type ID to filter inspections.', example: 1 } }, description: 'Method parameters' } } } } }, getInspectionTemplates-r1-request-schema: { description: 'Retrieves inspection templates based on various search criteria.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '19' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getInspectionTemplates], description: 'Method name to be called', example: getInspectionTemplates }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'Comma-separated list of property IDs to retrieve inspection templates for', example: '1234,5678' }, showDisabled: { type: integer, description: 'Whether to include disabled inspection templates (optional)', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getWorkOrderPickLists-r1-request-schema: { description: 'Retrieves work order picklists based on various search criteria.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '20' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getWorkOrderPickLists], description: 'Method name to be called', example: getWorkOrderPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyIds: { type: string, description: 'Comma-separated list of property IDs to retrieve picklist data for (optional)', example: '1234,5678' } }, description: 'Method parameters' } } } } }, getWorkOrders-r1-request-schema: { description: 'Retrieves work orders based on various search criteria.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '21' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getWorkOrders], description: 'Method name to be called', example: getWorkOrders }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to retrieve work orders for', example: 1234 }, workOrderId: { type: integer, description: 'Specific work order ID to retrieve (optional)', example: 5678 }, propertyUnitId: { type: integer, description: 'Property unit ID to filter work orders (optional)', example: 9012 }, vendorId: { type: integer, description: 'Vendor ID to filter work orders (optional)', example: 3456 }, maintenancePriorityId: { type: integer, description: 'Maintenance priority ID to filter work orders (optional)', example: 7890 }, maintenanceCategoryId: { type: integer, description: 'Maintenance category ID to filter work orders (optional)', example: 1234 }, maintenanceProblemId: { type: integer, description: 'Maintenance problem ID to filter work orders (optional)', example: 5678 }, workOrderTypeIds: { type: string, description: 'Comma-separated list of work order type IDs to filter by (optional)', example: '1,2,3' }, unitNumber: { type: string, description: 'Unit number to filter work orders (optional)', example: '101' }, buildingName: { type: string, description: 'Building name to filter work orders (optional)', example: 'Building A' }, includeDeletedWorkOrders: { type: integer, description: 'Whether to include deleted work orders (optional) 1 for true, 0 for false', enum: [0, 1], example: 0 }, includeChildWorkOrders: { type: integer, description: 'Whether to include child work orders (optional) 1 for true, 0 for false', enum: [0, 1], example: 1 }, leaseStatusTypeIds: { type: string, description: 'Comma-separated list of lease status type IDs to filter by (optional)', example: '1,2,3' }, createdOnFromDate: { type: string, format: date, description: 'Start date for work order creation date range (YYYY-MM-DD). Required if createdOnToDate is provided.', example: '2024-01-01' }, createdOnToDate: { type: string, format: date, description: 'End date for work order creation date range (YYYY-MM-DD). Required if createdOnFromDate is provided.', example: '2024-12-31' }, completedOnFromDate: { type: string, format: date, description: 'Start date for work order completion date range (YYYY-MM-DD). Required if completedOnToDate is provided.', example: '2024-01-01' }, completedOnToDate: { type: string, format: date, description: 'End date for work order completion date range (YYYY-MM-DD). Required if completedOnFromDate is provided.', example: '2024-12-31' }, lastUpdatedOnFromDate: { type: string, format: date, description: 'Start date for work order last updated date range (YYYY-MM-DD). Required if lastUpdatedOnToDate is provided.', example: '2024-01-01' }, lastUpdatedOnToDate: { type: string, format: date, description: 'End date for work order last updated date range (YYYY-MM-DD). Required if lastUpdatedOnFromDate is provided.', example: '2024-12-31' } }, description: 'Method parameters' } } } } }, sendWorkOrders-r1-request-schema: { description: 'Creates new work orders.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, version, params], properties: { name: { type: string, enum: [sendWorkOrders], description: 'Method name to be called', example: sendWorkOrders }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [workOrder], properties: { workOrder: { type: array, description: 'Array of work order objects to create', items: { type: object, required: [propertyId, problemDescription], properties: { propertyId: { type: integer, description: 'Property ID where the work order will be created', example: 1234 }, customerId: { type: integer, description: 'Customer ID (optional if customer information is provided)', example: 1234 }, leaseId: { type: integer, description: 'Lease ID (optional if customer information is provided)', example: 1234 }, unitNumber: { type: string, description: 'Unit number', example: '5' }, buildingName: { type: string, description: 'Building name', example: 'abc 8' }, customerFirstName: { type: string, description: 'Customer first name (required for floating work orders)', example: abc }, customerLastName: { type: string, description: 'Customer last name (required for floating work orders)', example: abc }, mainPhoneNumber: { type: string, description: 'Primary phone number', example: '123456789' }, altPhoneNumber: { type: string, description: 'Alternate phone number', example: '123456789' }, emailAddress: { type: string, format: email, description: 'Email address', example: test@a.com }, isFloatingWorkOrder: { type: integer, enum: [0, 1], description: 'Whether this is a floating work order 1 for true, 0 for false', example: 0 }, permissionToEnter: { type: string, enum: ['0', '1'], description: "Permission to enter '1' for true, '0' for false", example: '1' }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 12345 }, maintenanceCategoryId: { type: integer, description: 'Maintenance category ID', example: 12345 }, maintenanceProblemId: { type: integer, description: 'Maintenance problem ID', example: 12345 }, subMaintenanceProblemId: { type: integer, description: 'Sub-maintenance problem ID', example: 1234 }, maintenancePriorityId: { type: integer, description: 'Maintenance priority ID', example: 12345 }, petsDescription: { type: string, description: 'Pet information', example: 'no pets' }, problemDescription: { type: string, description: 'Problem description', example: 'no prb description' }, assignedTo: { type: integer, description: 'Assigned employee ID', example: 12345 }, scheduledStartDateTime: { type: string, description: 'Scheduled start date and time (MM/DD/YYYYTHH:MM:SS)', example: 'MM/DD/YYYYTHH:MM:SS' }, scheduledEndDateTime: { type: string, description: 'Scheduled end date and time (MM/DD/YYYYTHH:MM:SS)', example: 'MM/DD/YYYYTHH:MM:SS' }, dueDateTime: { type: string, description: 'Due date and time (MM/DD/YYYYTHH:MM:SS)', example: 'MM/DD/YYYYTHH:MM:SS' }, dueDate: { type: string, description: 'Due date (MM/DD/YYYY)', example: 05/05/2024 }, additionalInfo: { type: string, description: 'Additional information', example: 'Additional information' }, priorityOrderNum: { type: integer, description: 'Priority order number', example: 0 }, files: { type: object, description: 'File attachments', properties: { file: { type: array, items: { type: object, required: [name, fileData], properties: { name: { type: string, description: 'File name', example: abcd.pdf }, note: { type: string, description: 'Attachment note', example: 'attachment note.' }, fileData: { type: string, description: 'Base64 encoded file data', example: 'base64 encoded file data' } } } } } } } } } } } } } } }, updateWorkOrders-r1-request-schema: { description: 'Updates existing work orders.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, version, params], properties: { name: { type: string, enum: [updateWorkOrders], description: 'Method name to be called', example: updateWorkOrders }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, workOrder], properties: { propertyId: { type: integer, description: 'Property ID where the work orders are located', example: 1234 }, workOrder: { type: array, description: 'Array of work order objects to update', items: { type: object, required: [workOrderId], properties: { workOrderId: { type: integer, description: 'Work order ID to update', example: 307132 }, maintenanceStatusTypeId: { type: string, description: 'New maintenance status type ID', example: '1234' }, maintenancePriorityId: { type: string, description: 'New maintenance priority ID', example: '19421' }, maintenanceLocationId: { type: string, description: 'New maintenance location ID', example: '36891' }, maintenanceCategoryId: { type: string, description: 'New maintenance category ID', example: '94586' }, maintenanceProblemId: { type: string, description: 'New maintenance problem ID', example: '67718' }, subMaintenanceProblemId: { type: string, description: 'New sub-maintenance problem ID', example: '569575' }, scheduledStartDateTime: { type: string, description: 'New scheduled start date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T10:30:00' }, scheduledStartDate: { type: string, description: 'New scheduled start date (mm/dd/yyyy)', example: 03/15/2024 }, scheduledEndDateTime: { type: string, description: 'New scheduled end date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/17/2024T14:30:00' }, scheduledEndDate: { type: string, description: 'New scheduled end date (MM/DD/YYYY)', example: 03/17/2024 }, unitAvailableOnDate: { type: string, description: 'Unit available on date (MM/DD/YYYY)', example: 03/18/2024 }, assignedTo: { type: integer, description: 'New assigned employee ID', example: 299001 }, dueDateTime: { type: string, description: 'New due date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/18/2024T10:30:00' }, dueDate: { type: string, description: 'New due date (MM/DD/YYYY)', example: 03/18/2024 }, vendorId: { type: integer, description: 'Vendor ID for the work order', example: 12345 }, parentWorkOrderId: { type: integer, description: 'Parent work order ID', example: 307131 }, mainPhoneNumber: { type: string, description: 'Updated primary phone number', example: '123456789' }, altPhoneNumber: { type: string, description: 'Updated alternate phone number', example: '987654321' }, emailAddress: { type: string, format: email, description: 'Updated email address', example: test@example.com }, problemDescription: { type: string, description: 'Updated problem description', example: 'Updated problem description' }, additionalInfo: { type: string, description: 'Updated additional information', example: 'Updated additional info' }, petsDescription: { type: string, description: 'Updated pet information', example: 'Updated pet info' }, permissionToEnter: { type: string, enum: ['0', '1'], description: "Updated permission to enter '1' for true, '0' for false", example: '1' }, completedDateTime: { type: string, description: 'Completion date and time (MM/DD/YYYYTHH:MM:SS)', example: '03/15/2024T16:00:00' }, closingComments: { type: string, description: 'Closing comments for completed work orders', example: 'Work completed successfully' }, notes: { type: string, description: 'Additional notes for the work order', example: 'Updated work order notes' }, priorityOrderNum: { type: integer, description: 'Priority order number', example: 1 }, files: { type: object, description: 'File attachments', properties: { file: { type: array, items: { type: object, required: [name, fileData], properties: { name: { type: string, description: 'File name', example: updated_photo.jpg }, note: { type: string, description: 'Attachment note', example: 'Updated attachment note' }, fileData: { type: string, description: 'Base64 encoded file data', example: 'base64 encoded file data' } } } } } } } } } } } } } } }, updateWorkOrders-r2-request-schema: { description: 'Updates existing work orders.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateWorkOrders], description: 'Method name to be called', example: updateWorkOrders }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId, workOrder], properties: { propertyId: { type: integer, description: 'Property ID where work orders exist', example: 1234 }, workOrder: { type: array, description: 'Array of work orders to update', items: { type: object, required: [workOrderId], properties: { workOrderId: { type: integer, description: 'ID of the work order to update', example: 5678 }, maintenanceStatusTypeId: { type: integer, description: 'Maintenance status type ID', example: 1 }, maintenancePriorityId: { type: integer, description: 'Maintenance priority ID', example: 2 }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 3 }, maintenanceCategoryId: { type: integer, description: 'Maintenance category ID', example: 4 }, maintenanceProblemId: { type: integer, description: 'Maintenance problem ID', example: 5 }, subMaintenanceProblemId: { type: integer, description: 'Sub maintenance problem ID', example: 6 }, scheduledStartDateTime: { type: string, description: 'Scheduled start date and time (MM/DD/YYYYTHH:MM:SS)', example: '01/15/2024T09:00:00' }, scheduledEndDateTime: { type: string, description: 'Scheduled end date and time (MM/DD/YYYYTHH:MM:SS)', example: '01/15/2024T17:00:00' }, scheduledStartDate: { type: string, description: 'Scheduled start date (MM/DD/YYYY)', example: 01/15/2024 }, scheduledEndDate: { type: string, description: 'Scheduled end date (MM/DD/YYYY)', example: 01/15/2024 }, unitAvailableOnDate: { type: string, description: 'Unit available date for make-ready work orders (MM/DD/YYYY)', example: 01/16/2024 }, assignedTo: { type: integer, description: 'Company employee ID to assign work order to', example: 789 }, dueDateTime: { type: string, description: 'Due date and time (MM/DD/YYYYTHH:MM:SS)', example: '01/20/2024T17:00:00' }, dueDate: { type: string, description: 'Due date (MM/DD/YYYY)', example: 01/20/2024 }, vendorId: { type: integer, description: 'Vendor ID for external work', example: 456 }, parentWorkOrderId: { type: integer, description: 'Parent work order ID for sub-tasks', example: 1234 }, mainPhoneNumber: { type: string, description: 'Main phone number', example: '(555) 123-4567' }, altPhoneNumber: { type: string, description: 'Alternative phone number', example: '(555) 987-6543' }, emailAddress: { type: string, format: email, description: 'Email address', example: resident@example.com }, problemDescription: { type: string, description: 'Description of the problem', example: 'Leaky faucet in kitchen' }, additionalInfo: { type: string, description: 'Additional information', example: 'Located under the sink' }, petsDescription: { type: string, description: 'Pet-related entry notes', example: 'One small dog, friendly' }, permissionToEnter: { type: string, enum: ['0', '1'], description: "Permission to enter '1' for true, '0' for false", example: '1' }, completedDateTime: { type: string, description: 'Completion date and time (MM/DD/YYYYTHH:MM:SS)', example: '01/15/2024T16:30:00' }, closingComments: { type: string, description: 'Closing comments for completed work orders', example: 'Work completed successfully' }, notes: { type: string, description: 'General notes (cannot be used with closingComments)', example: 'Need to order replacement part' }, priorityOrderNum: { type: integer, description: 'Priority order number', example: 1 }, files: { type: object, description: 'File attachments', properties: { file: { type: array, items: { type: object, required: [name, fileData], properties: { name: { type: string, description: 'File name with extension', example: repair_photo.jpg }, fileData: { type: string, description: 'Base64 encoded file data', example: 'base64 encoded file data' }, note: { type: string, description: 'Optional note for the file', example: 'Before repair photo' } } } } } } } } } }, description: 'Method parameters' } } } } }, getInspections-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '18' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [inspections], properties: { inspections: { type: object, required: [inspection], properties: { inspection: { type: array, items: { type: object, required: [id, propertyId, inspectionTypeId, inspectionStatusTypeId, inspectionStatusType, inspectionFormId], properties: { id: { type: integer, description: 'Inspection ID', example: 2001 }, propertyId: { type: integer, description: 'Property ID', example: 1234 }, inspectionTypeId: { type: integer, description: 'Inspection type ID', example: 1 }, inspectionStatusTypeId: { type: integer, description: 'Inspection status type ID', example: 2 }, inspectionStatusType: { type: string, description: 'Inspection status type name', example: 'In Progress' }, inspectionFormId: { type: integer, description: 'Inspection form ID', example: 1001 }, scheduledDate: { type: string, format: date, description: 'Scheduled inspection date (YYYY-MM-DD)', example: '2024-03-15' }, dueDate: { type: string, format: date, description: 'Inspection due date (YYYY-MM-DD)', example: '2024-03-20' }, maintenanceRequestId: { type: integer, description: 'Associated maintenance request ID (optional)', example: 4001 }, leaseId: { type: integer, description: 'Associated lease ID (optional)', example: 5001 }, unitSpaceId: { type: integer, description: 'Associated unit space ID (optional)', example: 3001 }, note: { type: string, description: 'Inspection notes (optional)', example: 'Routine inspection of unit 101' }, locations: { type: object, description: 'Inspection location and problem details (optional)', properties: { location: { type: array, items: { type: object, required: [locationId, locationName, problems], properties: { locationId: { type: integer, description: 'Maintenance location ID', example: 6001 }, locationName: { type: string, description: 'Maintenance location name', example: Kitchen }, problems: { type: object, required: [problem], properties: { problem: { type: array, items: { type: object, required: [problemId, problemName, response], properties: { problemId: { type: integer, description: 'Maintenance problem ID', example: 7001 }, problemName: { type: string, description: 'Maintenance problem name', example: Cabinets }, response: { type: string, enum: [Pass, Fail], description: 'Inspection response for this problem', example: Fail }, note: { type: string, description: 'Problem-specific notes (optional)', example: 'Cabinet door is loose' }, subProblems: { type: object, description: 'Sub-problems associated with this problem (optional)', properties: { subProblem: { type: array, items: { type: object, required: [subProblemId, subProblemName], properties: { subProblemId: { type: integer, description: 'Sub-problem ID', example: 8001 }, subProblemName: { type: string, description: 'Sub-problem name', example: 'Cabinet Door Hinge' } } } } } } } } } } } } } } } } } } } } } } } } } } }, getInspectionTemplates-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '19' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [inspectionTemplates], properties: { inspectionTemplates: { type: object, required: [inspectionTemplate], properties: { inspectionTemplate: { type: array, items: { type: object, required: [id, name, type, isActive, allowActions], properties: { id: { type: integer, description: 'Inspection template ID', example: 1001 }, name: { type: string, description: 'Inspection template name', example: 'Move-In Inspection' }, type: { type: string, enum: ['Unit Type', 'Unit Specific', 'Property Specific'], description: 'Type of inspection template', example: 'Unit Type' }, isActive: { type: boolean, description: 'Whether the template is active', enum: [false, true], example: true }, allowActions: { type: boolean, description: 'Whether the template allows actions', enum: [false, true], example: true }, customText: { type: string, description: 'Custom text for the template (optional)', example: 'Please inspect all areas thoroughly' }, termsAndConditions: { type: string, description: 'Terms and conditions for the template (optional)', example: 'By signing this inspection, you agree to the terms...' }, propertyIds: { type: string, description: 'Comma-separated list of property IDs to retrieve inspection templates for', example: '1234,5678' }, locations: { type: object, description: 'Inspection locations and problems (optional)', properties: { location: { type: array, items: { type: object, required: [maintenanceLocationId, locationName, problems], properties: { maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 6001 }, locationName: { type: string, description: 'Location name', example: Kitchen }, problems: { type: object, required: [problem], properties: { problem: { type: array, items: { type: object, required: [maintenanceProblemId, problemName], properties: { maintenanceProblemId: { type: integer, description: 'Maintenance problem ID', example: 7001 }, problemName: { type: string, description: 'Problem name', example: Cabinets }, subProblems: { type: object, description: 'Sub-problems associated with this problem (optional)', properties: { subProblem: { type: array, items: { type: object, required: [subProblemId, subProblemName], properties: { subProblemId: { type: integer, description: 'Sub-problem ID', example: 8001 }, subProblemName: { type: string, description: 'Sub-problem name', example: 'Cabinet Door Hinge' } } } } } } } } } } } } } } } } } } } } } } } } } } }, getWorkOrderPickLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '20' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { Property: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: string, description: 'Property ID', example: '22222' } } }, Locations: { type: object, properties: { Location: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name, Type, IsResidentPortalEnabled], properties: { Id: { type: string, description: 'Location ID', example: '26900' }, Name: { type: string, description: 'Location name', example: Basement }, Type: { type: string, enum: [Property, Unit], description: 'Location type', example: Unit }, IsResidentPortalEnabled: { type: integer, enum: [0, 1], description: 'Whether location is enabled on resident portal', example: 0 } } }, unitTypes: { type: object, properties: { unitType: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: string, description: 'Unit type ID', example: '474887' }, Name: { type: string, description: 'Unit type name', example: '1' } } } } } } } } } } } } }, Priorities: { type: object, properties: { Priority: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name, Code], properties: { Id: { type: string, description: 'Priority ID', example: '19421' }, Name: { type: string, description: 'Priority name', example: Normal }, Code: { type: string, description: 'Priority code', example: '' } } } } } } } }, StatusTypes: { type: object, properties: { StatusType: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name, Code], properties: { Id: { type: string, description: 'Status type ID', example: '15106' }, Name: { type: string, description: 'Status type name', example: 'Awaiting Parts' }, Code: { type: string, description: 'Status type code', example: AP } } } } } } } }, Categories: { type: object, properties: { Category: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: string, description: 'Category ID', example: '91983' }, Name: { type: string, description: 'Category name', example: demo } } } } } } } }, Problems: { type: object, properties: { Problem: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name, IsResidentPortalEnabled, DefaultPriority, CategoryId], properties: { Id: { type: string, description: 'Problem ID', example: '67718' }, Name: { type: string, description: 'Problem name', example: 'Wet Floor' }, IsResidentPortalEnabled: { type: integer, enum: [0, 1], description: 'Whether problem is enabled on resident portal', example: 1 }, DefaultPriority: { type: string, description: 'Default priority for this problem', example: High }, CategoryId: { type: string, description: 'Category ID for this problem', example: '94586' } } }, locations: { type: object, properties: { location: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: string, description: 'Location ID where this problem can occur', example: '11370' } } } } } } } }, subMaintenanceProblems: { type: object, properties: { subMaintenanceProblem: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id], properties: { Id: { type: string, description: 'Sub-problem ID', example: '569575' } } } } } } } } } } } } } } }, WorkOrderTypes: { type: object, properties: { WorkOrderType: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: string, description: 'Work order type ID', example: '1' }, Name: { type: string, description: 'Work order type name', example: 'Make Ready' } } } } } } } }, CompanyEmployees: { type: object, properties: { CompanyEmployee: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: string, description: 'Employee ID', example: '299001' }, Name: { type: string, description: 'Employee full name', example: 'Andrew Marshall' } } } } } } } }, InspectionStatuses: { type: object, properties: { InspectionStatus: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Id, Name], properties: { Id: { type: string, description: 'Inspection status ID', example: '1' }, Name: { type: string, description: 'Inspection status name', example: 'Not Started' } } } } } } } } } } } } } }, getWorkOrders-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '21' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [workOrders], properties: { workOrders: { type: object, required: [workOrder], properties: { workOrder: { type: array, items: { type: object, required: [maintenanceRequestId, propertyId, maintenanceStatus], properties: { maintenanceRequestId: { type: string, description: 'Maintenance request ID', example: '307132' }, maintenanceExternalId: { type: string, description: 'Maintenance external ID', example: '1234567890' }, maintenanceRequestTypeId: { type: string, description: 'Maintenance request type ID', example: '1234' }, parentMaintenanceRequestId: { type: string, description: 'Parent maintenance request ID', example: '307132' }, vendorId: { type: integer, description: 'Vendor ID', example: 1234567890 }, vendorName: { type: string, description: 'Vendor name', example: 'Vendor Name' }, propertyId: { type: string, description: 'Property ID', example: '11111' }, buildingName: { type: string, description: 'Building name', example: B1 }, unitNumber: { type: string, description: 'Unit number', example: '8' }, customerId: { type: string, description: 'Customer ID', example: '4856298' }, nameFirst: { type: string, description: 'Customer first name', example: Cosin }, nameLast: { type: string, description: 'Customer last name', example: Dome }, primaryPhoneNumber: { type: string, description: 'Primary phone number', example: '123456789' }, alternatePhoneNumber: { type: string, description: 'Alternate phone number', example: '12121212121' }, emailAddress: { type: string, format: email, description: 'Email address', example: cosin@dome.com }, createdOn: { type: string, description: 'Creation date and time', example: '01/05/2012 05:22:26.184567 MST' }, updatedOn: { type: string, description: 'Update date and time', example: '01/05/2012 05:22:26.184567 MST' }, assignedTo: { type: string, description: 'Assigned employee name', example: jiniaxena }, assignedToCompanyEmployeeId: { type: integer, description: 'Assigned employee ID', example: 1234567890 }, assignedOn: { type: string, description: 'Assigned on date and time', example: '01/05/2012 05:22:26.184567 MST' }, maintenanceStatusId: { type: string, description: 'Maintenance status ID', example: '1234' }, maintenanceStatus: { type: string, description: 'Maintenance status', example: New }, maintenancePriorityId: { type: integer, description: 'Maintenance priority ID', example: 18757 }, maintenancePriority: { type: string, description: 'Maintenance priority', example: 'NOWrn Never is question' }, maintenanceCategoryId: { type: string, description: 'Maintenance category ID', example: '326584' }, maintenanceCategoryName: { type: string, description: 'Maintenance category name', example: test123 }, maintenanceProblemId: { type: integer, description: 'Maintenance problem ID', example: 338415 }, maintenanceProblem: { type: string, description: 'Maintenance problem', example: 'Problem With Lights' }, subMaintenanceProblemId: { type: string, description: 'Sub-maintenance problem ID', example: '403843' }, subMaintenanceProblemName: { type: string, description: 'Sub-maintenance problem name', example: Clean }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 1234567890 }, maintenanceLocation: { type: string, description: 'Maintenance location', example: 'Location Name' }, maintenanceDescription: { type: string, description: 'Maintenance description', example: 'Some description' }, labors: { type: object, properties: { labor: { type: array, items: { type: object, properties: { employeeName: { type: string, description: 'Employee name', example: ABC }, description: { type: string, description: 'Labor description', example: sdf }, laborType: { type: string, description: 'Labor type', example: Regular }, laborTypeId: { type: string, description: 'Labor type ID', example: '1' }, startDateTime: { type: string, description: 'Start date and time', example: '02/28/2018 01:11:00' }, endDateTime: { type: string, description: 'End date and time', example: '02/28/2018 01:15:00' }, totalMinutes: { type: string, description: 'Total minutes', example: '4' }, perHourRate: { type: string, description: 'Per hour rate', example: '1.00' }, totalCharge: { type: string, description: 'Total charge', example: '0.07' } } } }, subTotal: { type: object, properties: { totalCharge: { type: string, description: 'Total charge', example: '10.27' }, totalMinutes: { type: integer, description: 'Total minutes', example: 616 } } } } }, scheduledStartDate: { type: string, description: 'Scheduled start date', example: '01/06/2012 00:00:00 MDT' }, scheduledEndDate: { type: string, description: 'Scheduled end date', example: '01/09/2012 00:00:00 MDT' }, dueDate: { type: string, description: 'Due date', example: '02/04/2022 18:34:11 MST' }, completedOn: { type: string, description: 'Completion date and time', example: '07/22/2012 01:48:24.777203 MDT' }, isFloating: { type: boolean, description: 'Is floating flag', enum: [false, true], example: false }, permissionToEnter: { type: string, description: 'Permission to enter', example: '0' }, petInfo: { type: string, description: 'Pet information', example: 'Dogs,Dogs,Dogs,Dogs,Snake,Snake' }, alarmInfo: { type: string, description: 'Alarm information', example: '123454' }, maintenanceRequestFrom: { type: string, description: 'Maintenance request from', example: 'Entrata PaaS' }, maintenanceRequestBy: { type: string, description: 'Maintenance request by', example: 'R R1' }, isDeleted: { type: integer, description: 'Is deleted flag', enum: [0, 1], example: 0 }, childWorkOrders: { type: object, description: 'Child work orders (if includeChildWorkOrders is true)', properties: { childWorkOrder: { type: array, items: { type: object, properties: { maintenanceRequestId: { type: integer, description: 'Child maintenance request ID', example: 5039921 }, maintenanceRequestTypeId: { type: integer, description: 'Maintenance request type ID', example: 1 }, parentMaintenanceRequestId: { type: string, description: 'Parent maintenance request ID', example: '307132' }, vendorId: { type: string, description: 'Vendor ID', example: '1234567890' }, vendorName: { type: string, description: 'Vendor name', example: 'Vendor Name' }, propertyId: { type: integer, description: 'Property ID', example: 19463 }, buildingName: { type: string, description: 'Building name', example: B1 }, customerId: { type: integer, description: 'Customer ID', example: 27857569 }, nameFirst: { type: string, description: 'Customer first name', example: Abhi004 }, nameLast: { type: string, description: 'Customer last name', example: Abhi004 }, primaryPhoneNumber: { type: string, description: 'Primary phone number', example: '6505756195' }, alternatePhoneNumber: { type: string, description: 'Alternate phone number', example: '12121212121' }, emailAddress: { type: string, description: 'Email address', example: abhi004@example.com }, createdOn: { type: string, description: 'Creation date', example: '03/22/2017 03:27:04.763014 MDT' }, updatedOn: { type: string, description: 'Update date', example: '03/22/2017 03:27:40.109857 MDT' }, assignedTo: { type: string, description: 'Assigned employee', example: jiniaxena }, assignedToCompanyEmployeeId: { type: integer, description: 'Assigned employee ID', example: 1234567890 }, assignedOn: { type: string, description: 'Assigned on date and time', example: '03/22/2017 03:27:04.763014 MDT' }, maintenanceStatusId: { type: string, description: 'Maintenance status ID', example: '1234' }, maintenanceStatus: { type: string, description: 'Maintenance status', example: 1test }, maintenancePriorityId: { type: integer, description: 'Maintenance priority ID', example: 25358 }, maintenancePriority: { type: string, description: 'Maintenance priority', example: 'JS Testing 1' }, maintenanceCategoryId: { type: string, description: 'Maintenance category ID', example: '326584' }, maintenanceCategoryName: { type: string, description: 'Maintenance category name', example: test123 }, maintenanceProblemId: { type: integer, description: 'Maintenance problem ID', example: 333509 }, maintenanceProblem: { type: string, description: 'Maintenance problem', example: '12' }, subMaintenanceProblemId: { type: string, description: 'Sub-maintenance problem ID', example: '403843' }, subMaintenanceProblemName: { type: string, description: 'Sub-maintenance problem name', example: Clean }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 36891 }, maintenanceLocation: { type: string, description: 'Maintenance location', example: '1234' }, labors: { type: object, description: 'Labor details for child work order', properties: { labor: { type: array, description: 'List of labor entries', items: { type: object, properties: { employeeName: { type: string, description: 'Employee name', example: ABC }, description: { type: string, description: 'Labor description', example: sdf }, laborType: { type: string, description: 'Labor type', example: Regular }, laborTypeId: { type: string, description: 'Labor type ID', example: '1' }, startDateTime: { type: string, description: 'Start date and time', example: '02/28/2018 01:11:00' }, endDateTime: { type: string, description: 'End date and time', example: '02/28/2018 01:15:00' }, totalMinutes: { type: string, description: 'Total minutes', example: '4' }, perHourRate: { type: string, description: 'Per hour rate', example: '1.00' }, totalCharge: { type: string, description: 'Total charge', example: '0.07' } } } }, subTotal: { type: object, description: 'Subtotal of labor charges and minutes', properties: { totalCharge: { type: string, description: 'Total charge for all labors', example: '10.27' }, totalMinutes: { type: integer, description: 'Total minutes for all labors', example: 616 } } } } }, completedOn: { type: string, description: 'Completion date', example: '03/22/2017 03:27:46 MDT' }, entryNotes: { type: string, description: 'Entry notes', example: 'This is an entry note' }, scheduledEndDate: { type: string, description: 'Scheduled end date', example: '03/23/2017 00:00:00 MDT' }, isFloating: { type: boolean, description: 'Is floating flag', enum: [false, true], example: false }, maintenanceRequestBy: { type: string, description: 'Maintenance request by', example: System }, isDeleted: { type: integer, description: 'Is deleted flag', enum: [0, 1], example: 0 } } } } } } } } } } } } } } } } }, sendWorkOrders-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [code, result], properties: { code: { type: integer, description: 'Response code', example: 200 }, result: { type: object, required: [Success], properties: { Success: { type: array, description: 'Array of success messages for each work order', items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [message, node, reference_id], properties: { message: { type: string, description: 'Success message', example: 'Work order inserted successfully.' }, node: { type: integer, description: 'Node number (1-based index)', example: 1 }, reference_id: { type: integer, description: 'Created maintenance request ID', example: 307132 } } } } } } } } } } } }, updateWorkOrders-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [code, result], properties: { code: { type: integer, description: 'Response code', example: 200 }, result: { type: object, required: [workOrders], properties: { workOrders: { type: object, required: [workOrder], properties: { workOrder: { type: array, description: 'Array of work order update results', items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [workOrderId, status, message], properties: { workOrderId: { type: integer, description: 'Work order ID that was updated', example: 307132 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Status message', example: 'Work order updated successfully.' } } } } } } } } } } } } } }, updateWorkOrders-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [workOrders], properties: { workOrders: { type: object, properties: { workOrder: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [workOrderId, status, message], properties: { workOrderId: { type: integer, description: 'Work order ID that was processed', example: 5678 }, status: { type: string, enum: [Success, Failure], description: 'Status of the update operation', example: Success }, message: { type: string, description: 'Success or error message', example: 'Work order updated successfully.' } } } } } } } } } } } } } }, getPricingPicklists-r1-request-schema: { description: 'Gets pricing picklists.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getPricingPicklists], description: 'Method name to be called', example: getPricingPicklists }, version: { type: string, enum: [r1], description: 'API version', example: r1 } }, description: 'Method parameters' } } }, getPropertyFees-r1-request-schema: { description: 'Gets property fees.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyFees], description: 'Method name to be called', example: getPropertyFees }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'Property ID to retrieve fees for', example: 1234 } }, description: 'Method parameters' } } } } }, insertPricing-r1-request-schema: { description: 'Inserts pricing.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [insertPricing], description: 'Method name to be called', example: insertPricing }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, pricing], properties: { propertyId: { type: integer, description: 'Property ID for the pricing', example: 1234 }, pricing: { type: array, description: 'Array of pricing objects to insert/update', minItems: 1, items: { type: object, required: [pricingLevelId, pricingLevelReferenceId, chargeUsageId, chargeUsageReferenceId, chargeTimingId, chargeCodeId, amount], properties: { pricingLevelId: { type: integer, enum: [1, 2, 3, 4], description: "This is a required field. This field accepts a single value. Pricing level has four possible values:\n 1: Property\n 2: Floor plan\n 3: Unit type\n 4: Unit space\n", example: 1 }, pricingLevelReferenceId: { type: integer, description: "This is a required field. This field accepts a single value. This is Entrata's record id depending on pricingLevelId. For example, if pricingLevelId = 4 then pricingLevelReferenceId needs to be the unit space id.\n", example: 1234 }, chargeUsageId: { type: integer, enum: [1, 2, 3, 4, 5, 7], description: "This is a required field. This field accepts a single value. Helps to differentiate pricing usage. Allowed values:\n 1: Base\n 2: Amenity\n 3: Pet\n 4: Add-Ons\n 5: Risk Premium\n 7: Maintenance\n", example: 1 }, chargeUsageReferenceId: { type: integer, description: "This is a required field. This field accepts a single value. Required if updating pricing for any usage other than base rent. For amenity rent, set this as the amenity id. In the case of base pricing, it should be 0.\n", example: 0 }, chargeTimingId: { type: integer, description: "This is a required field. This field accepts a single value. This explains when the charge is supposed to apply [charge trigger timing]. Common values include:\n 307: Monthly\n 202: Move In\n 206: Move Out\n 102: Application Completed\n", example: 307 }, chargeCodeTypeId: { type: integer, description: "This is a required field. This field accepts a single value. This explains charge code types.\n 1: Payment\n 2: Rent\n 3: Other Income\n 7: Deposit\n", example: 2 }, chargeCodeId: { type: integer, description: "This is a required field. This field accepts a single value. This is the Entrata charge code id which you want to use.\n", example: 101 }, amount: { type: number, description: "This is a required field. This field accepts a single value. Rate Amount.\n", example: 1500 }, isRenewal: { type: integer, description: "This is an optional field. This field accepts a single value. Use this to specify if it is renewal rent (1 for true, 0 for false).\n", enum: [0, 1], example: 0 }, isFullUpdate: { type: integer, description: "This is an optional field. This field accepts a single value. Whether to perform full update (1 for true, 0 for false).\n", enum: [0, 1], example: 0 }, nodeNumber: { type: integer, description: 'Node number from the request.', example: 1 }, leaseTermMonths: { type: integer, description: "This is an optional field. This field accepts a single value. In most cases it will be zero, but if the property has term-wise pricing/rent, you can send different pricing for different terms. Zero means single value for all lease terms.\n", example: 12 }, leaseTermName: { type: string, description: "This is a required field. This field accepts a single value. If there are multiple lease terms with the same length then this field is mandatory.\n", example: '12 Month' }, leaseStartRangeStart: { type: integer, description: "This is an optional field. This field accepts a single value. Allows sending different rent amounts for different move-in dates but with same intervals. Refer to the Property setting: Price By Lease Start Range. For example, if the property is set up to have 3-day interval pricing then data can look like:\n leaseStartRangeStart: 0, leaseStartRangeEnd: 2, amount: 700.\nZero represents the current date or the unit's available date (if the available date is in the future). If sending 'isRenewal' as true, this value should always be sent as 0.\n", example: 0 }, leaseStartRangeEnd: { type: integer, description: "This is an optional field. This field accepts a single value. Allows sending different rent amounts for different move-in dates but with the same intervals. For example, if the property is set up to have 3-day interval pricing then data can look like:\n leaseStartRangeStart: 0, leaseStartRangeEnd: 2, amount: 700.\nIf sending 'isRenewal' as true, this value should always be sent as 0.\n", example: 2 }, leaseStartRangeStartDate: { type: string, description: 'Lease start range start date (mm/dd/yyyy) (for student properties).', example: 01/01/2024 }, leaseStartRangeEndDate: { type: string, description: 'Lease start range end date (mm/dd/yyyy) (for student properties).', example: 12/31/2024 }, spaceConfigurationId: { type: integer, description: 'Space configuration ID (for student properties with space configuration pricing).', example: 5 }, chargeUsageObjectId: { type: integer, description: 'Charge usage object ID (for special charges).', example: 301 } } } } }, description: 'Method parameters' } } } } }, insertPricing-r2-request-schema: { description: 'Inserts pricing.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type.', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [insertPricing], description: 'Method name to be called.', example: insertPricing }, version: { type: string, enum: [r2], description: 'API version.', example: r2 }, params: { type: object, required: [propertyId, pricing], properties: { propertyId: { type: integer, description: 'Property ID to which the pricing applies.', example: 1234 }, pricing: { type: array, description: 'Array of pricing objects to insert or update.', minItems: 1, items: { type: object, required: [pricingLevelId, pricingLevelReferenceId, chargeUsageId, chargeTimingId, chargeCodeId, amount], properties: { pricingLevelId: { type: integer, enum: [1, 2, 3, 4], description: "This is a required field. This field accepts a single value. Pricing level has four possible values:\n 1: Property\n 2: Floor plan\n 3: Unit type\n 4: Unit space\n", example: 1 }, pricingLevelReferenceId: { type: integer, description: "This references Entrata's record ID corresponding to the selected pricingLevelId. For example, if pricingLevelId = 4, set pricingLevelReferenceId to the relevant unit space ID.", example: 1234 }, chargeUsageId: { type: integer, description: "This is a required field. This field accepts a single value. Helps to differentiate pricing usage. Allowed values:\n 1: Base\n 2: Amenity\n 3: Pet\n 4: Add-Ons\n 5: Risk Premium\n 7: Maintenance\n", example: 1 }, chargeUsageReferenceId: { type: integer, description: 'Set this value when updating any pricing other than base rent. For example, use the amenity ID if updating amenity rent. For base pricing, set this to 0.', example: 0 }, chargeTimingId: { type: integer, description: "Indicates when the charge should be applied (charge trigger timing). Common values include:\n 307: Monthly\n 202: Move In\n 206: Move Out\n 102: Application Completed\nRefer to your data for other possible values.\n", example: 307 }, chargeCodeTypeId: { type: integer, description: "Specifies the charge code type. Accepted values:\n 1: Payment\n 2: Rent\n 3: Other Income\n 7: Deposit\n", example: 2 }, chargeCodeId: { type: integer, description: 'Entrata charge code ID of the pricing record to be inserted or updated.', example: 101 }, amount: { type: number, description: 'Rate amount of the charge.', example: 1500 }, effectiveDate: { type: string, description: 'The date this rate should become effective. Use mm/dd/yyyy. Allows for rate scheduling in the future.', example: 01/01/2024 }, deactivationDate: { type: string, description: 'The date this rate should automatically deactivate (mm/dd/yyyy). Used to end a rate at a certain point in the future.', example: 12/31/2024 }, isRenewal: { type: integer, description: 'Indicates if this is a renewal rate (1 for true, 0 for false).', enum: [0, 1], example: 0 }, isFullUpdate: { type: integer, description: 'If set to 1, existing pricing will be removed and new prices inserted. If set to 0, rate amount will be updated on existing pricing.', enum: [0, 1], example: 0 }, nodeNumber: { type: integer, description: 'Optional. One-based index of this item in the pricing array; the server uses the array position when building the response node.', example: 1 }, leaseTermMonths: { type: integer, description: 'Number of months of the lease term. Zero means a single value for all lease terms; otherwise, allows different pricing by term.', example: 12 }, leaseTermName: { type: string, description: 'Name of the lease term. Mandatory if there are multiple lease terms with the same length and to distinguish among them.', example: '12 Month' }, leaseTermId: { type: integer, description: 'ID of the specific lease term this charge or update applies to. For example, use the ID of a 3-month lease when updating that term. In conventional properties, distinguishes between different term lengths. In student properties, indicates the appropriate semester or session.', example: 456 }, leaseStartRangeStart: { type: integer, description: "Start of the lease start range in days. Enables different rent amounts for different move-in dates with the same interval. 0 represents the current or units' available date. For renewals (isRenewal=true), always use 0.", example: 0 }, leaseStartRangeEnd: { type: integer, description: 'End of the lease start range in days. Similar to leaseStartRangeStart, allows interval-based pricing. For renewals (isRenewal=true), always use 0.', example: 365 }, leaseStartRangeStartDate: { type: string, description: 'Lease start range start date (mm/dd/yyyy). Used for student properties and date-based lease pricing.', example: 01/01/2024 }, leaseStartRangeEndDate: { type: string, description: 'Lease start range end date (mm/dd/yyyy). Used for student properties and date-based lease pricing.', example: 12/31/2024 }, spaceConfigurationId: { type: integer, description: 'Set when updating pricing for a specific space configuration (primarily student properties). For example, use the private space option ID. For conventional properties, set to 0.', example: 5 }, leaseStartWindowId: { type: integer, description: 'ID of the lease start window associated with the lease term. Important for student housing, where pricing can vary by start window (e.g., different semesters).', example: 789 }, chargeUsageObjectId: { type: integer, description: 'Set when updating pricing other than base rent (e.g., special rent). Use the special ID as needed. For base pricing, set to 0.', example: 301 }, active: { type: integer, enum: [0, 1], description: "Controls whether the rate is active/visible in Entrata (show_in_entrata). Set to 1 to activate the rate, 0 to deactivate it. If omitted, the field will not be updated for existing rates or will use system defaults for new rates. IMPORTANT: If active is set to 0, webVisible must also be 0.\n", example: 1 }, webVisible: { type: integer, enum: [0, 1], description: "Controls whether the rate is visible on the website (show_on_website). Set to 1 to show on website, 0 to hide from website. If omitted, the field will not be updated for existing rates or will use system defaults for new rates. IMPORTANT: Cannot be set to 1 if active is 0.\n", example: 1 } } } } }, description: 'Method parameters' } } } } }, sendBudgetedRent-r1-request-schema: { description: 'Sends budgeted rent.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendBudgetedRent], description: 'Method name to be called', example: sendBudgetedRent }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, pricing], properties: { propertyId: { type: integer, description: 'Property ID for the budgeted rent update', example: 1234 }, pricing: { type: array, description: 'Array of pricing objects for budgeted rent updates', minItems: 1, items: { type: object, required: [pricingLevelId, pricingLevelReferenceId, amount], properties: { pricingLevelId: { type: integer, description: 'Pricing level ID (3 for unit type, 4 for unit space)', enum: [3, 4], example: 4 }, pricingLevelReferenceId: { type: integer, description: 'Reference ID for the unit type or unit space', example: 5678 }, amount: { type: number, description: 'Base rent amount for budgeted rent', example: 1200 }, amenityAmount: { type: number, description: 'Amenity rent amount for budgeted rent (optional)', example: 100 } } } } }, description: 'Method parameters' } } } } }, getPricingPicklists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [pricingLevels, chargeUsages, chargeTimings, chargeCodeTypes], properties: { pricingLevels: { type: object, required: [pricingLevel], properties: { pricingLevel: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, name], properties: { id: { type: string, description: 'The pricing level ID', example: '1' }, name: { type: string, description: 'The pricing level name', example: Property } } } } }, description: 'Array of pricing levels' } } }, chargeUsages: { type: object, required: [chargeUsage], properties: { chargeUsage: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, name], properties: { id: { type: string, description: 'The charge usage ID', example: '1' }, name: { type: string, description: 'The charge usage name', example: Base } } } } }, description: 'Array of charge usages' } } }, chargeTimings: { type: object, required: [chargeTiming], properties: { chargeTiming: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, name], properties: { id: { type: string, description: 'The charge timing ID', example: '102' }, name: { type: string, description: 'The charge timing name', example: 'Application Completed' } } } } }, description: 'Array of charge timings' } } }, chargeCodeTypes: { type: object, required: [chargeCodeType], properties: { chargeCodeType: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [id, name], properties: { id: { type: string, description: 'The charge code type ID', example: '2' }, name: { type: string, description: 'The charge code type name', example: Rent }, allowed_charge_timing_ids: { type: string, description: 'Comma-separated list of allowed charge timing IDs', example: '307' } } } } }, description: 'Array of charge code types' } } } }, description: 'Method parameters' } } } } }, getPropertyFees-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { propertyFees: { type: array, description: 'Property level fees', items: { type: object, properties: { propertyId: { type: string, description: 'Property ID', example: '1234' }, propertyFloorplanId: { type: string, description: 'Property floorplan ID', example: '56' }, unitTypeId: { type: string, description: 'Unit type ID', example: '78' }, unitSpaceId: { type: string, description: 'Unit space ID', example: '101' }, entrataCategoryId: { type: string, description: 'Entrata category ID', example: '1' }, entrataCategory: { type: string, description: 'Entrata category name', example: 'Base Rent' }, associatedItemId: { type: string, description: 'Associated item ID', example: '10' }, associatedItem: { type: string, description: 'Associated item name', example: Parking }, cascadeId: { type: string, description: 'Cascade ID', example: '1' }, cascadeReferenceId: { type: string, description: 'Cascade reference ID', example: '1234' }, cascadeReferenceName: { type: string, description: 'Cascade reference name', example: 'Sample Property' }, spaceConfigurationId: { type: string, description: 'Space configuration ID', example: '5' }, spaceConfiguration: { type: string, description: 'Space configuration name', example: Standard }, chargeCodeId: { type: string, description: 'Charge code ID', example: '101' }, chargeCodeName: { type: string, description: 'Charge code name', example: 'Monthly Rent' }, chargeCodeDescription: { type: string, description: 'Charge code description', example: 'Monthly rent charge' }, chargeCodeGroupName: { type: string, description: 'Charge code group name', example: Rent }, leaseTermId: { type: string, description: 'Lease term ID', example: '12' }, leaseTerm: { type: string, description: 'Lease term name', example: '12 Month' }, leaseStartWindowId: { type: string, description: 'Lease start window ID', example: '1' }, termStartDate: { type: string, format: date, description: 'Term start date (YYYY-MM-DD)', example: '2024-01-01' }, termEndDate: { type: string, format: date, description: 'Term end date (YYYY-MM-DD)', example: '2024-12-31' }, chargeTimingId: { type: string, description: 'Charge timing ID', example: '1' }, chargeTiming: { type: string, description: 'Charge timing name', example: Monthly }, formulaId: { type: string, description: 'Formula ID', example: '1' }, formulaReferenceId: { type: string, description: 'Formula reference ID', example: '2' }, rateAmount: { type: string, description: 'Rate amount', example: '1500.00' }, rateIncreaseIncrement: { type: string, description: 'Rate increase increment', example: '0.00' }, detailedAmount: { type: string, description: 'Detailed amount', example: '1500.00' }, isOptional: { type: string, description: 'Whether the fee is optional (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isIncludeedInAdvertisedRent: { type: string, description: 'Whether the fee is included in the advertised rent (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isRefundable: { type: string, description: 'Whether the fee is refundable (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, customerRelationshipId: { type: string, description: 'Customer relationship ID', example: '1' }, customerRelationshipName: { type: string, description: 'Customer relationship name', example: Primary }, arCodeMarketDescription: { type: string, description: 'AR code market description', example: 'Monthly rent payment' } } } }, floorPlanFees: { type: array, description: 'Floor plan level fees', items: { type: object, properties: { propertyId: { type: string, description: 'Property ID', example: '1234' }, propertyFloorplanId: { type: string, description: 'Property floorplan ID', example: '56' }, unitTypeId: { type: string, description: 'Unit type ID', example: '78' }, unitSpaceId: { type: string, description: 'Unit space ID', example: '101' }, entrataCategoryId: { type: string, description: 'Entrata category ID', example: '1' }, entrataCategory: { type: string, description: 'Entrata category name', example: 'Base Rent' }, associatedItemId: { type: string, description: 'Associated item ID', example: '10' }, associatedItem: { type: string, description: 'Associated item name', example: Parking }, cascadeId: { type: string, description: 'Cascade ID', example: '1' }, cascadeReferenceId: { type: string, description: 'Cascade reference ID', example: '1234' }, cascadeReferenceName: { type: string, description: 'Cascade reference name', example: 'Sample Property' }, spaceConfigurationId: { type: string, description: 'Space configuration ID', example: '5' }, spaceConfiguration: { type: string, description: 'Space configuration name', example: Standard }, chargeCodeId: { type: string, description: 'Charge code ID', example: '101' }, chargeCodeName: { type: string, description: 'Charge code name', example: 'Monthly Rent' }, chargeCodeDescription: { type: string, description: 'Charge code description', example: 'Monthly rent charge' }, chargeCodeGroupName: { type: string, description: 'Charge code group name', example: Rent }, leaseTermId: { type: string, description: 'Lease term ID', example: '12' }, leaseTerm: { type: string, description: 'Lease term name', example: '12 Month' }, leaseStartWindowId: { type: string, description: 'Lease start window ID', example: '1' }, termStartDate: { type: string, format: date, description: 'Term start date (YYYY-MM-DD)', example: '2024-01-01' }, termEndDate: { type: string, format: date, description: 'Term end date (YYYY-MM-DD)', example: '2024-12-31' }, chargeTimingId: { type: string, description: 'Charge timing ID', example: '1' }, chargeTiming: { type: string, description: 'Charge timing name', example: Monthly }, formulaId: { type: string, description: 'Formula ID', example: '1' }, formulaReferenceId: { type: string, description: 'Formula reference ID', example: '2' }, rateAmount: { type: string, description: 'Rate amount', example: '1500.00' }, rateIncreaseIncrement: { type: string, description: 'Rate increase increment', example: '0.00' }, detailedAmount: { type: string, description: 'Detailed amount', example: '1500.00' }, isOptional: { type: string, description: 'Whether the fee is optional (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isIncludeedInAdvertisedRent: { type: string, description: 'Whether the fee is included in the advertised rent (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isRefundable: { type: string, description: 'Whether the fee is refundable (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, customerRelationshipId: { type: string, description: 'Customer relationship ID', example: '1' }, customerRelationshipName: { type: string, description: 'Customer relationship name', example: Primary }, arCodeMarketDescription: { type: string, description: 'AR code market description', example: 'Monthly rent payment' } } } }, unitTypeFees: { type: array, description: 'Unit type level fees', items: { type: object, properties: { propertyId: { type: string, description: 'Property ID', example: '1234' }, propertyFloorplanId: { type: string, description: 'Property floorplan ID', example: '56' }, unitTypeId: { type: string, description: 'Unit type ID', example: '78' }, unitSpaceId: { type: string, description: 'Unit space ID', example: '101' }, entrataCategoryId: { type: string, description: 'Entrata category ID', example: '1' }, entrataCategory: { type: string, description: 'Entrata category name', example: 'Base Rent' }, associatedItemId: { type: string, description: 'Associated item ID', example: '10' }, associatedItem: { type: string, description: 'Associated item name', example: Parking }, cascadeId: { type: string, description: 'Cascade ID', example: '1' }, cascadeReferenceId: { type: string, description: 'Cascade reference ID', example: '1234' }, cascadeReferenceName: { type: string, description: 'Cascade reference name', example: 'Sample Property' }, spaceConfigurationId: { type: string, description: 'Space configuration ID', example: '5' }, spaceConfiguration: { type: string, description: 'Space configuration name', example: Standard }, chargeCodeId: { type: string, description: 'Charge code ID', example: '101' }, chargeCodeName: { type: string, description: 'Charge code name', example: 'Monthly Rent' }, chargeCodeDescription: { type: string, description: 'Charge code description', example: 'Monthly rent charge' }, chargeCodeGroupName: { type: string, description: 'Charge code group name', example: Rent }, leaseTermId: { type: string, description: 'Lease term ID', example: '12' }, leaseTerm: { type: string, description: 'Lease term name', example: '12 Month' }, leaseStartWindowId: { type: string, description: 'Lease start window ID', example: '1' }, termStartDate: { type: string, format: date, description: 'Term start date (YYYY-MM-DD)', example: '2024-01-01' }, termEndDate: { type: string, format: date, description: 'Term end date (YYYY-MM-DD)', example: '2024-12-31' }, chargeTimingId: { type: string, description: 'Charge timing ID', example: '1' }, chargeTiming: { type: string, description: 'Charge timing name', example: Monthly }, formulaId: { type: string, description: 'Formula ID', example: '1' }, formulaReferenceId: { type: string, description: 'Formula reference ID', example: '2' }, rateAmount: { type: string, description: 'Rate amount', example: '1500.00' }, rateIncreaseIncrement: { type: string, description: 'Rate increase increment', example: '0.00' }, detailedAmount: { type: string, description: 'Detailed amount', example: '1500.00' }, isOptional: { type: string, description: 'Whether the fee is optional (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isIncludeedInAdvertisedRent: { type: string, description: 'Whether the fee is included in the advertised rent (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isRefundable: { type: string, description: 'Whether the fee is refundable (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, customerRelationshipId: { type: string, description: 'Customer relationship ID', example: '1' }, customerRelationshipName: { type: string, description: 'Customer relationship name', example: Primary }, arCodeMarketDescription: { type: string, description: 'AR code market description', example: 'Monthly rent payment' } } } }, unitSpaceFees: { type: array, description: 'Unit space level fees', items: { type: object, properties: { propertyId: { type: string, description: 'Property ID', example: '1234' }, propertyFloorplanId: { type: string, description: 'Property floorplan ID', example: '56' }, unitTypeId: { type: string, description: 'Unit type ID', example: '78' }, unitSpaceId: { type: string, description: 'Unit space ID', example: '101' }, entrataCategoryId: { type: string, description: 'Entrata category ID', example: '1' }, entrataCategory: { type: string, description: 'Entrata category name', example: 'Base Rent' }, associatedItemId: { type: string, description: 'Associated item ID', example: '10' }, associatedItem: { type: string, description: 'Associated item name', example: Parking }, cascadeId: { type: string, description: 'Cascade ID', example: '1' }, cascadeReferenceId: { type: string, description: 'Cascade reference ID', example: '1234' }, cascadeReferenceName: { type: string, description: 'Cascade reference name', example: 'Sample Property' }, spaceConfigurationId: { type: string, description: 'Space configuration ID', example: '5' }, spaceConfiguration: { type: string, description: 'Space configuration name', example: Standard }, chargeCodeId: { type: string, description: 'Charge code ID', example: '101' }, chargeCodeName: { type: string, description: 'Charge code name', example: 'Monthly Rent' }, chargeCodeDescription: { type: string, description: 'Charge code description', example: 'Monthly rent charge' }, chargeCodeGroupName: { type: string, description: 'Charge code group name', example: Rent }, leaseTermId: { type: string, description: 'Lease term ID', example: '12' }, leaseTerm: { type: string, description: 'Lease term name', example: '12 Month' }, leaseStartWindowId: { type: string, description: 'Lease start window ID', example: '1' }, termStartDate: { type: string, format: date, description: 'Term start date (YYYY-MM-DD)', example: '2024-01-01' }, termEndDate: { type: string, format: date, description: 'Term end date (YYYY-MM-DD)', example: '2024-12-31' }, chargeTimingId: { type: string, description: 'Charge timing ID', example: '1' }, chargeTiming: { type: string, description: 'Charge timing name', example: Monthly }, formulaId: { type: string, description: 'Formula ID', example: '1' }, formulaReferenceId: { type: string, description: 'Formula reference ID', example: '2' }, rateAmount: { type: string, description: 'Rate amount', example: '1500.00' }, rateIncreaseIncrement: { type: string, description: 'Rate increase increment', example: '0.00' }, detailedAmount: { type: string, description: 'Detailed amount', example: '1500.00' }, isOptional: { type: string, description: 'Whether the fee is optional (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isIncludeedInAdvertisedRent: { type: string, description: 'Whether the fee is included in the advertised rent (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, isRefundable: { type: string, description: 'Whether the fee is refundable (1 for true, 0 for false)', enum: ['0', '1'], example: '0' }, customerRelationshipId: { type: string, description: 'Customer relationship ID', example: '1' }, customerRelationshipName: { type: string, description: 'Customer relationship name', example: Primary }, arCodeMarketDescription: { type: string, description: 'AR code market description', example: 'Monthly rent payment' } } } }, customFees: { type: array, description: 'Custom fees configured for the property', items: { type: object, properties: { id: { type: string, description: 'Custom fee ID', example: '301' }, name: { type: string, description: 'Custom fee name', example: 'Application Fee' }, description: { type: string, description: 'Custom fee description', example: 'One-time application processing fee' }, chargeTimingId: { type: string, description: 'Charge timing ID', example: '1' }, amountType: { type: string, description: 'Amount type', example: fixed }, amountDetail: { type: string, description: 'Amount detail', example: 'Per application' }, fixedAmount: { type: string, description: 'Fixed amount', example: '75.00' }, avgAmount: { type: string, description: 'Average amount', example: '75.00' }, maxAmount: { type: string, description: 'Maximum amount', example: '75.00' }, minAmount: { type: string, description: 'Minimum amount', example: '75.00' }, isOptional: { type: string, description: 'Whether the fee is optional (1 for true, 0 for false)', enum: ['0', '1'], example: '0' } } } } } } } } } }, insertPricing-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [pricing], properties: { pricing: { type: array, description: 'Array of pricing operation results', items: { type: object, properties: { '@attributes': { type: object, properties: { node: { type: integer, description: 'Node number from the request', example: 1 }, reference_id: { type: string, description: 'Database ID of the created/updated rate', example: '12345' }, status: { type: string, description: 'Operation status', enum: [Success, Failed], example: Success }, is_valid: { type: string, description: 'Whether the rate is valid after validation', enum: ['Yes', 'No', ''], example: 'Yes' }, message: { type: string, description: 'Operation result message', example: 'Rate inserted/updated successfully.' }, validation_info: { type: string, description: 'Validation information (present when is_valid is No)', example: '' } } } } } }, processing_log: { type: object, description: 'Processing timing information', properties: { data_load_timing: { type: number, description: 'Time spent loading data in seconds', example: 0.125 }, process_rates_time: { type: number, description: 'Time spent processing rates in seconds', example: 0.342 }, old_rate_cleanup: { type: number, description: 'Time spent cleaning up old rates in seconds', example: 0.087 }, updateRates_time: { type: number, description: 'Time spent updating rates in seconds', example: 0.156 }, update_rates_allowed_time: { type: number, description: 'Time spent updating allowed rates in seconds', example: 0.098 } } } } } } } } }, insertPricing-r2-response-schema: { description: 'Response body returned by the insertPricing method.', type: object, required: [response], properties: { response: { description: 'Wrapper object containing the result and metadata.', type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request.', example: '15' }, code: { type: integer, description: 'The success code.', enum: [200], example: 200 }, result: { type: object, required: [pricing], properties: { pricing: { type: array, description: 'Array of pricing operation results.', items: { type: object, properties: { node: { type: integer, description: 'One-based node number corresponding to the position of this item in the request pricing array.', example: 1 }, referenceId: { type: string, description: 'Database ID of the created or updated rate.', example: '12345' }, status: { type: string, description: 'Operation status.', enum: [Success, Failed], example: Success }, isValid: { type: string, description: 'Whether the rate is valid after validation (Yes, No, or empty; present for successful inserts when allowed-rates check runs).', enum: ['Yes', 'No', ''], example: 'Yes' }, message: { type: string, description: 'Operation result message.', example: 'Rate inserted/updated successfully.' }, validationInfo: { type: string, description: 'Validation information, present when isValid is No.', example: '' } } } }, processingLog: { type: object, description: 'Processing timing information.', properties: { dataLoadTiming: { type: number, description: 'Time spent loading data in seconds.', example: 0.125 }, processRatesTime: { type: number, description: 'Time spent processing rates in seconds.', example: 0.342 }, oldRateCleanup: { type: number, description: 'Time spent cleaning up old rates in seconds.', example: 0.087 }, updateRatesTime: { type: number, description: 'Time spent updating rates in seconds.', example: 0.156 }, updateRatesAllowedTime: { type: number, description: 'Time spent updating allowed rates in seconds.', example: 0.098 } } } } } } } } }, sendBudgetedRent-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [pricing], properties: { pricing: { type: array, description: 'Array of budgeted rent update results', items: { type: object, properties: { node: { type: integer, description: 'Node number from the request', example: 1 }, status: { type: string, description: 'Update operation status', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Result message describing the operation outcome', example: 'budgeted rent updated successfully.' } } } } } } } } } }, deletePropertyMedia-r1-request-schema: { description: 'Deletes property media associations for the specified property by media IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [deletePropertyMedia], description: 'Method name to be called', example: deletePropertyMedia }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, id], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, id: { type: integer, description: 'This is a required field. This field accepts single value. Marketing media association ID to delete.', example: 98765 } }, description: 'Method parameters' } } } } }, getAmenityReservations-r1-request-schema: { description: 'Retrieves amenity reservations for a property, optionally filtered by amenity IDs and reservation status types.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getAmenityReservations], description: 'Method name to be called', example: getAmenityReservations }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, amenityIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated amenity IDs to filter results.', example: '101,102' }, amenityReservationStatusTypeIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated reservation status type IDs to filter results. Defaults to Approved (1) if not provided.', example: '1,2' } }, description: 'Method parameters' } } } } }, getReservableAmenities-r1-request-schema: { description: 'Retrieves reservable amenities, block days/hours, limits, visibility, and rates for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getReservableAmenities], description: 'Method name to be called', example: getReservableAmenities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, amenityIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated amenity IDs to filter results.', example: '101,102' } }, description: 'Method parameters' } } } } }, getCalendarAvailability-r1-request-schema: { description: 'Returns calendar settings and available appointment time ranges for a property within a date span (up to 7 days).', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCalendarAvailability], description: 'Method name to be called', example: getCalendarAvailability }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, fromDate, toDate], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, fromDate: { type: string, description: 'This is a required field. This field accepts single value. Start date in mm/dd/yyyy format (must be today or later). fromDate indicates from which date we should start to include when returning available time periods off the property calendar. Only a 7 day range is allowed per request and that range includes the fromDate and toDate in it.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 01/10/2025 }, toDate: { type: string, description: 'This is a required field. This field accepts single value. End date in mm/dd/yyyy format. toDate indicates up till which date we should include when returning a vailable time periods off the property calendar. Only a 7 day range is allowed per request and that range includes the fromDate and toDate in it.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 01/14/2025 }, calendarEventCategoryIds: { type: string, description: "This is an optional field. This field accepts comma separated multiple values. Calendar Event type ids. Possible id: 1-General, 2-Resident, 3-Leasing, 4-Maintenance. If no Id's are passed only Resident and Leasing categories are considered by default.", example: '1,2,3,4' } }, description: 'Method parameters' } } } } }, getCalendarAvailability-r2-request-schema: { description: 'Returns available tour time slots for a property within a date span (up to 60 days) for a given tour type.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getCalendarAvailability], description: 'Method name to be called', example: getCalendarAvailability }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId, fromDate, toDate, tourType], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, fromDate: { type: string, description: 'This is a required field. This field accepts single value. Start date in mm/dd/yyyy format (must be today or later). fromDate indicates from which date we should start to include when returning available time periods off the property calendar. Only a 60 day range is allowed per request and that range includes the fromDate and toDate in it.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 01/10/2025 }, toDate: { type: string, description: 'This is a required field. This field accepts single value. End date in mm/dd/yyyy format. toDate indicates up till which date we should include when returning a vailable time periods off the property calendar. Only a 60 day range is allowed per request and that range includes the fromDate and toDate in it.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 03/05/2025 }, tourType: { type: string, description: 'This is a required field. This field accepts single value. Tour type: SELF_GUIDED, VIRTUAL_GUIDED, AGENT_GUIDED.', enum: [AGENT_GUIDED, SELF_GUIDED, VIRTUAL_GUIDED], example: AGENT_GUIDED } }, description: 'Method parameters' } } } } }, getFloorPlans-r1-request-schema: { description: 'Retrieves floor plans and related details for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getFloorPlans], description: 'Method name to be called', example: getFloorPlans }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, propertyFloorPlanIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated floorplan IDs to filter results.', example: '1001,1002' }, usePropertyPreferences: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to use property preferences, 0 to ignore them.', example: 0 }, includeDisabledFloorplans: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled floorplans, 0 to exclude them.', example: 0 } }, description: 'Method parameters' } } } } }, sendFloorPlans-r1-request-schema: { description: 'Creates floor plans for the specified property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendFloorPlans], description: 'Method name to be called', example: sendFloorPlans }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, floorPlans], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, floorPlans: { type: object, required: [floorPlan], properties: { floorPlan: { description: 'One or more floor plans to create', oneOf: [{ type: object, required: [name, numberOfBedRooms, numberOfBathRooms], properties: { name: { type: string, description: 'This is a required field. This field accepts single value. Name of the floor plan.', example: A1 }, description: { type: string, description: 'This is an optional field. This field accepts single value. Description of the floor plan.', example: 'Open concept layout' }, seoTitle: { type: string, description: 'This is an optional field. This field accepts single value. SEO title for the floor plan.', example: 'A1 - One Bedroom' }, seoDescription: { type: string, description: 'This is an optional field. This field accepts single value. SEO description for the floor plan.', example: 'Spacious one bedroom' }, seoKeywords: { type: string, description: 'This is an optional field. This field accepts single value. SEO keywords for the floor plan.', example: 'one bedroom, a1, floor plan' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to publish the floor plan, 0 to keep it unpublished.', example: 1 }, isDisabledVirtualMoveIn: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to disable virtual move-in for this floor plan, 0 to enable.', example: 0 }, minSquareFeet: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Minimum square footage for the floor plan.', example: 650 }, maxSquareFeet: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Maximum square footage for the floor plan.', example: 725 }, numberOfBedRooms: { type: integer, description: 'This is a required field. This field accepts single value. Number of bedrooms in the floor plan.', example: 1 }, numberOfBathRooms: { type: integer, description: 'This is a required field. This field accepts single value. Number of bathrooms in the floor plan.', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark this floor plan as featured, 0 for not featured.', example: 0 } } }, { type: array, items: { type: object, required: [name, numberOfBedRooms, numberOfBathRooms], properties: { name: { type: string, description: 'This is a required field. This field accepts single value. Name of the floor plan.', example: A1 }, description: { type: string, description: 'This is an optional field. This field accepts single value. Description of the floor plan.', example: 'Open concept layout' }, seoTitle: { type: string, description: 'This is an optional field. This field accepts single value. SEO title for the floor plan.', example: 'A1 - One Bedroom' }, seoDescription: { type: string, description: 'This is an optional field. This field accepts single value. SEO description for the floor plan.', example: 'Spacious one bedroom' }, seoKeywords: { type: string, description: 'This is an optional field. This field accepts single value. SEO keywords for the floor plan.', example: 'one bedroom, a1, floor plan' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to publish the floor plan, 0 to keep it unpublished.', example: 1 }, isDisabledVirtualMoveIn: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to disable virtual move-in for this floor plan, 0 to enable.', example: 0 }, minSquareFeet: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Minimum square footage for the floor plan.', example: 650 }, maxSquareFeet: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Maximum square footage for the floor plan.', example: 725 }, numberOfBedRooms: { type: integer, description: 'This is a required field. This field accepts single value. Number of bedrooms in the floor plan.', example: 1 }, numberOfBathRooms: { type: integer, description: 'This is a required field. This field accepts single value. Number of bathrooms in the floor plan.', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark this floor plan as featured, 0 for not featured.', example: 0 } } } }] } } } }, description: 'Method parameters' } } } } }, getPetTypes-r1-request-schema: { description: 'Retrieves default pet types configured for the specified properties.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPetTypes], description: 'Method name to be called', example: getPetTypes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'This is a required field. This field accepts comma separated multiple values. Comma-separated property IDs.', example: '12345,67890' } }, description: 'Method parameters' } } } } }, getPhoneNumber-r1-request-schema: { description: 'Returns phone numbers for properties by lead source switch code or by referring domain.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPhoneNumber], description: 'Method name to be called', example: getPhoneNumber }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: array, description: 'This is a required field. This field accepts multiple values. List of property IDs.', items: { type: integer }, example: [1197254, 7211] }, switchCode: { type: integer, description: 'This is an optional field. This field accepts single value. Lead source switch code. At least one of switchCode or ref must be provided.', example: 62963 }, ref: { type: string, description: 'This is an optional field. This field accepts single value. Referring URL used to resolve ILS/lead source. The domain part of the URL is used for resolution. At least one of switchCode or ref must be provided.', example: 'http://google.com' } }, description: 'Method parameters. `propertyIds` is required. At least one of `switchCode` or `ref` must be provided.' } } } } }, getProperties-r1-request-schema: { description: 'Retrieves detailed property information for one or more properties.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getProperties], description: 'Method name to be called', example: getProperties }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated property IDs to filter results. If omitted, returns all permitted properties (subject to showAllStatus).', example: '12345,67890' }, propertyLookupCode: { type: string, description: 'This is an optional field. This field accepts single value. Property lookup code to fetch a specific property.', example: PRP-001 }, showAllStatus: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled properties, 0 to return only enabled properties.', example: 0 } }, description: 'Method parameters' } } } } }, getPropertyAddOns-r1-request-schema: { description: 'Retrieves add-ons for a property, including visibility, availability, date windows, and rates.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyAddOns], description: 'Method name to be called', example: getPropertyAddOns }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 } }, description: 'Method parameters' } } } } }, getPropertyAnnouncements-r1-request-schema: { description: 'Retrieves published property and company announcements for a property (Resident Portal product).', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyAnnouncements], description: 'Method name to be called', example: getPropertyAnnouncements }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 } }, description: 'Method parameters' } } } } }, getPropertyMedia-r1-request-schema: { description: 'Retrieves property media associations with optional filtering by media type, subtype, and reference IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyMedia], description: 'Method name to be called', example: getPropertyMedia }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, mediaTypeId: { type: integer, description: 'This is an optional field. This field accepts single value. The ID of the media type (e.g., 9 = unit_floorplan_media). Retrieved from the getPropertyPickLists API.', example: 1 }, mediaSubTypeId: { type: integer, description: 'This is an optional field. This field accepts single value. The identifier for the type of media. Retrievedvia the getPropertyPickLists API.', example: 24 }, referenceIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. reference id for mediaType property UnitId for 24 and 93.', example: '1001,1002' } }, description: 'Method parameters' } } } } }, sendPropertyMedia-r1-media-item: { type: object, required: [mediaTypeId, mediaSubTypeId, referenceId, mediaProvider, mediaUrl, mediaAltText], properties: { mediaTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Media type ID.', example: 1 }, mediaSubTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Media sub-type ID.', example: 10 }, referenceId: { type: integer, description: 'This is a required field. This field accepts single value. Reference ID required for certain media types (e.g., unit floorplan media).', example: 1001 }, mediaProvider: { type: string, description: 'This is a required field. This field accepts single value. Provider/source of the media.', example: External }, mediaUrl: { type: string, description: 'This is a required field. This field accepts single value. Publicly accessible URL of the media.', example: 'https://cdn.example.com/img1.jpg' }, mediaAltText: { type: string, description: 'This is a required field. This field accepts single value. Alternative text for the media.', example: 'Clubhouse exterior' }, mediaFormat: { type: string, description: 'This is an optional field. This field accepts single value. File format (e.g., jpg, png).', example: jpg }, name: { type: string, description: 'This is an optional field. This field accepts single value. Media name.', example: clubhouse-front.jpg }, description: { type: string, description: 'This is an optional field. This field accepts single value. Media description.', example: 'Front elevation' }, caption: { type: string, description: 'This is an optional field. This field accepts single value. Media caption.', example: 'Main entrance' }, height: { type: string, description: 'This is an optional field. This field accepts single value. Media height in pixels.', example: '800' }, width: { type: string, description: 'This is an optional field. This field accepts single value. Media width in pixels.', example: '1200' }, thumbnailUrl: { type: string, description: 'This is an optional field. This field accepts single value. Thumbnail URL.', example: 'https://cdn.example.com/img1-thumb.jpg' } } }, sendPropertyMedia-r1-request-schema: { description: 'Inserts property media associations for the specified property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendPropertyMedia], description: 'Method name to be called', example: sendPropertyMedia }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, media], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, media: { description: 'One or more media records to insert', oneOf: [{ $ref: '#/components/schemas/sendPropertyMedia-r1-media-item' }, { type: array, items: { $ref: '#/components/schemas/sendPropertyMedia-r1-media-item' } }] } }, description: 'Method parameters' } } } } }, sendRentableItems-r1-rentableItemType: { type: object, required: [categoryId], properties: { categoryId: { type: integer, description: 'This is a required field. This field accepts single value. Add-on category ID for the rentable item type.', example: 10 }, name: { type: string, description: 'This is an optional field. This field accepts single value. Group name; if omitted, category name is used.', example: 'Covered Parking' }, showOnWebsite: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to show on website, 0 to hide.', example: 1 }, isMarketed: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark as marketed, 0 otherwise.', example: 0 }, hasInventory: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 if this group has inventory items, 0 to create a single default add-on.', example: 1 }, rentableItems: { type: object, description: 'Required when hasInventory is true', properties: { rentableItem: { type: array, items: { type: object, required: [name], properties: { name: { type: string, description: 'This is a required field. This field accepts single value. Name of the rentable item.', example: 'Spot A-1' }, description: { type: string, description: 'This is an optional field. This field accepts single value. Description of the rentable item.', example: 'Covered spot near building A' }, showOnWebsite: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to show on website, 0 to hide.', example: 1 }, availabilityStatusId: { type: integer, description: 'This is an optional field. This field accepts single value. Allowed values are VACANT_UNRENTED_NOT_READY or VACANT_UNRENTED_READY.', example: 2 } } } } } } } }, sendRentableItems-r1-request-schema: { description: 'Creates rentable item types (groups) and their rentable items for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendRentableItems], description: 'Method name to be called', example: sendRentableItems }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, rentableItemTypes], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, rentableItemTypes: { type: object, required: [rentableItemType], properties: { rentableItemType: { description: 'One or more rentable item types (groups)', oneOf: [{ $ref: '#/components/schemas/sendRentableItems-r1-rentableItemType' }, { type: array, items: { $ref: '#/components/schemas/sendRentableItems-r1-rentableItemType' } }] } } } }, description: 'Method parameters' } } } } }, updatePropertyMedia-r1-media-item: { type: object, required: [id, mediaTypeId, mediaSubTypeId, referenceId, mediaProvider, mediaUrl, mediaAltText], properties: { id: { type: string, description: 'This is a required field. This field accepts single value. Marketing media association ID to update.', example: '90001' }, mediaTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Media type ID.', example: 1 }, mediaSubTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Media sub-type ID.', example: 10 }, referenceId: { type: integer, description: 'This is a required field. This field accepts single value. Reference ID required for certain media types (e.g., unit floorplan media).', example: 1001 }, mediaProvider: { type: string, description: 'This is a required field. This field accepts single value. Provider/source of the media.', example: External }, mediaUrl: { type: string, description: 'This is a required field. This field accepts single value. Publicly accessible URL of the media.', example: 'https://cdn.example.com/img1.jpg' }, mediaAltText: { type: string, description: 'This is a required field. This field accepts single value. Alternative text for the media.', example: 'Clubhouse exterior' }, mediaFormat: { type: string, description: 'This is an optional field. This field accepts single value. File format (e.g., jpg, png).', example: jpg }, name: { type: string, description: 'This is an optional field. This field accepts single value. Media name.', example: clubhouse-front.jpg }, description: { type: string, description: 'This is an optional field. This field accepts single value. Media description.', example: 'Front elevation' }, caption: { type: string, description: 'This is an optional field. This field accepts single value. Media caption.', example: 'Main entrance' }, height: { type: string, description: 'This is an optional field. This field accepts single value. Media height in pixels.', example: '800' }, width: { type: string, description: 'This is an optional field. This field accepts single value. Media width in pixels.', example: '1200' }, thumbnailUrl: { type: string, description: 'This is an optional field. This field accepts single value. Thumbnail URL.', example: 'https://cdn.example.com/img1-thumb.jpg' } } }, updatePropertyMedia-r1-request-schema: { description: 'Updates existing property media associations for the specified property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updatePropertyMedia], description: 'Method name to be called', example: updatePropertyMedia }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, media], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 }, media: { description: 'One or more media records to update', oneOf: [{ $ref: '#/components/schemas/updatePropertyMedia-r1-media-item' }, { type: array, items: { $ref: '#/components/schemas/updatePropertyMedia-r1-media-item' } }] } }, description: 'Method parameters' } } } } }, getPropertyPickLists-r1-request-schema: { description: 'Retrieves pick lists (unit types, add-on groups, floorplans, buildings, search areas, etc.) for one or more properties.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyPickLists], description: 'Method name to be called', example: getPropertyPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated property IDs.', example: '12345,67890' } }, description: 'Method parameters' } } } } }, getPropertyPickLists-r2-request-schema: { description: 'Retrieves expanded pick lists for one or more properties (R2), including unit types, buildings, floorplans, add-on groups, search areas, status/type dictionaries, and media types.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyPickLists], description: 'Method name to be called', example: getPropertyPickLists }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, properties: { propertyIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated property IDs.', example: '12345,67890' } }, description: 'Method parameters' } } } } }, getRentableItems-r1-request-schema: { description: 'Retrieves rentable items for a specific property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getRentableItems], description: 'Method name to be called', example: getRentableItems }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 12345 } }, description: 'Method parameters' } } } } }, getWebsites-r1-request-schema: { description: 'Retrieves websites configured for the given properties, including linked properties and domains.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getWebsites], description: 'Method name to be called', example: getWebsites }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'This is a required field. This field accepts comma separated multiple values. Comma-separated property IDs.', example: '12345,67890' } }, description: 'Method parameters' } } } } }, deletePropertyMedia-r1-response-schema: { description: 'Response confirming deletion of property media associations with status information.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, message], properties: { status: { type: string, description: 'The status of the delete operation', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Success or error message describing the result', example: 'Property media deleted successfully.' } } } } } } }, getAmenityReservations-r1-response-schema: { description: 'Response containing amenity reservations with customer details, reservation dates, and status information.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', enum: [200], example: 200 }, result: { type: object, properties: { amenities: { type: object, properties: { amenity: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Amenity ID', example: 101 }, name: { type: string, description: 'Amenity name', example: Clubhouse }, description: { type: string, description: 'Amenity description (if available)', example: 'Community clubhouse with kitchen' }, isPublished: { type: integer, description: 'Whether the amenity is published (1) or hidden (0)', enum: [0, 1], example: 1 }, reservations: { type: object, properties: { reservation: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Amenity reservation ID', example: 555001 }, resident: { type: string, description: 'Resident full name (if available)', example: 'Jane Doe' }, leaseId: { type: integer, description: 'Associated lease ID (if available)', example: 67890 }, buildingId: { type: integer, description: 'Property building ID (if available)', example: 22 }, buildingName: { type: string, description: 'Property building name (if available)', example: 'Building A' }, unitId: { type: integer, description: 'Property unit ID (if available)', example: 3344 }, unitNumber: { type: string, description: 'Unit number (if available)', example: 12B }, reservationDate: { type: string, format: date, description: 'Reservation date (YYYY-MM-DD)', example: '2025-01-15' }, reservationTitle: { type: string, description: 'Reservation title/purpose (if available)', example: 'Birthday Party' }, reserveByDay: { type: integer, description: '1 if reservation is for full day, else 0', enum: [0, 1], example: 0 }, reservationStartTime: { type: string, description: 'Reservation start time in hh:mm AM/PM or "Full Day" when reserveByDay is 1', example: '10:00 AM' }, reservationEndTime: { type: string, description: 'Reservation end time in hh:mm AM/PM (present when reserveByDay is 0)', example: '12:00 PM' }, statusTypeId: { type: integer, description: 'Amenity reservation status type ID', example: 1 }, status: { type: string, description: 'Amenity reservation status', example: Approved }, rejectionComment: { type: string, description: 'Rejection comment (if applicable)', example: 'Conflicts with maintenance' } } } } } } } } } } } } } } } } }, getReservableAmenities-r1-response-schema: { description: 'Response containing reservable amenities with names, descriptions, visibility, reservation limits, block days/hours, and rate information.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { amenities: { type: object, description: 'Container for amenities data', properties: { amenity: { type: array, description: 'Array of reservable amenities for the property', items: { type: object, properties: { id: { type: integer, description: 'Amenity ID', example: 1 }, name: { type: string, description: 'Amenity name', example: Pool }, description: { type: string, description: 'Amenity description', example: 'Community swimming pool' }, reservedByDay: { type: integer, description: 'Whether amenity is reserved by full day (1) or by hours (0)', enum: [0, 1], example: 1 }, blockHoursByDay: { type: integer, description: 'Whether block hours are defined per day (1) or not (0)', enum: [0, 1], example: 0 }, blockDays: { type: object, description: 'Days and hours when amenity is blocked/unavailable', properties: { blockDay: { type: array, description: 'Array of blocked day configurations', items: { type: object, properties: { day: { type: string, description: 'Day of week', example: Monday }, blockHours: { type: string, description: 'Blocked hours in comma-separated format (e.g., "12pm,1pm,2pm" or "09:00-17:00")', example: '09:00-17:00' } } } } } }, maxReservationDays: { type: integer, description: 'Maximum number of days in advance amenity can be reserved', example: 7 }, maxHours: { type: integer, description: 'Maximum hours per reservation (if reservedByDay is 0)', example: 4 }, isApprovalRequired: { type: integer, description: 'Whether reservations require approval (1) or not (0)', enum: [0, 1], example: 1 }, isResidentVisible: { type: integer, description: 'Whether amenity is visible to residents (1) or hidden (0)', enum: [0, 1], example: 1 }, isAllowFutureResident: { type: integer, description: 'Whether future residents can reserve (1) or only current residents (0)', enum: [0, 1], example: 0 }, rates: { type: object, description: 'Rates/fees associated with this amenity', properties: { rate: { type: array, description: 'Array of rate configurations', items: { type: object, properties: { arCodeId: { type: integer, description: 'AR code ID', example: 100 }, arCodeTypeId: { type: integer, description: 'AR code type ID', example: 1 }, chargeTypeId: { type: integer, description: 'Charge type ID', example: 2 }, amount: { type: string, description: 'Rate amount', example: '25.00' }, active: { type: integer, description: 'Whether rate is active (1) or inactive (0)', enum: [0, 1], example: 1 }, isPublish: { type: integer, description: 'Whether rate is published (1) or unpublished (0)', enum: [0, 1], example: 1 } } } } } } } } } } } } } } } } }, getCalendarAvailability-r1-response-schema: { description: 'Response containing calendar configuration, appointment length, timezone, and available time slots with booking status.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', enum: [200], example: 200 }, result: { type: object, properties: { propertyCalendarSettings: { type: object, required: [propertyId, appointmentLength, selfGuidedTourAppointmentLength, minLeadTimeTour, selfGuidedTourMinLeadTime], properties: { propertyId: { type: integer, description: 'Property ID', example: 12345 }, appointmentLength: { type: integer, description: 'Appointment length in minutes for agent-guided tours', example: 30 }, selfGuidedTourAppointmentLength: { type: integer, description: 'Self-guided tour appointment length in minutes', example: 30 }, minLeadTimeTour: { type: string, description: 'Minimum lead time required before scheduling agent-guided tours', example: '15 Minutes' }, selfGuidedTourMinLeadTime: { type: string, description: 'Minimum lead time required before scheduling self-guided tours', example: '15 Minutes' }, availabilities: { type: object, description: 'Agent-guided tour availability by day of week', properties: { availability: { type: array, description: 'Array of availability time blocks for agent-guided tours', items: { type: object, properties: { day: { type: string, description: 'Day of week', example: Monday }, startTime: { type: string, description: 'Start time in HH:MM:SS format with timezone abbreviation', example: '09:00:00MST' }, endTime: { type: string, description: 'End time in HH:MM:SS format with timezone abbreviation', example: '17:00:00MST' }, simultaneousAppointmentLimit: { description: 'Maximum number of simultaneous appointments allowed, or "No Limit"', oneOf: [{ type: integer }, { type: string, enum: ['No Limit'] }] } } } } } }, selfGuidedTourAvailabilities: { type: object, description: 'Self-guided tour availability by day of week', properties: { availability: { type: array, description: 'Array of availability time blocks for self-guided tours', items: { type: object, properties: { day: { type: string, description: 'Day of week', example: Monday }, startTime: { type: string, description: 'Start time in HH:MM:SS format with timezone abbreviation', example: '09:00:00MST' }, endTime: { type: string, description: 'End time in HH:MM:SS format with timezone abbreviation', example: '17:00:00MST' }, simultaneousAppointmentLimit: { description: 'Maximum number of simultaneous appointments allowed, or "No Limit"', oneOf: [{ type: integer }, { type: string, enum: ['No Limit'] }] } } } } } } } }, propertyCalendarAvailability: { type: object, description: 'Actual available time slots based on calendar events', properties: { availableHours: { type: object, description: 'Container for available hour blocks', properties: { availableHour: { type: array, description: 'Array of specific available time slots within the requested date range', items: { type: object, properties: { date: { type: string, description: 'Date in mm/dd/yyyy format', example: 01/12/2025 }, startTime: { type: string, description: 'Start time in HH:MM:SS format with timezone abbreviation', example: '09:00:00MST' }, endTime: { type: string, description: 'End time in HH:MM:SS format with timezone abbreviation', example: '10:30:00MST' } } } } } } } } } } } } } }, getCalendarAvailability-r2-response-schema: { description: 'Response containing available tour appointment slots with timestamps and booking availability status.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', enum: [200], example: 200 }, result: { type: object, required: [availableTours], properties: { availableTours: { type: object, required: [availableTour], properties: { availableTour: { type: array, description: 'List of available tour date/time ranges', items: { type: object, required: [tourDate, tourTime], properties: { tourDate: { type: string, description: 'Tour date in ISO format (YYYY-MM-DD)', example: '2025-01-12' }, tourTime: { type: array, description: 'List of available time slots in "HH:MM TZ - HH:MM TZ" format', items: { type: string }, example: ['09:00 MST - 09:30 MST', '10:00 MST - 10:30 MST'] } } } } } } } } } } } }, getFloorPlans-r1-response-schema: { description: 'Response containing floor plan details including bedrooms, bathrooms, square footage, pricing, amenities, media, and unit type associations.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', enum: [200], example: 200 }, result: { type: object, required: [FloorPlans], properties: { FloorPlans: { type: object, required: [FloorPlan], properties: { FloorPlan: { type: array, items: { type: object, properties: { Identification: { type: object, description: 'Identification details for the floor plan', properties: { IDValue: { type: integer, description: 'Floorplan ID', example: 1001 }, '@attributes': { type: object, description: 'Identification attributes', properties: { IDRank: { type: string, description: 'Rank of this identifier (primary, secondary, etc.)', example: primary }, IDScopeType: { type: string, description: 'Scope type of the identifier', example: sender }, IDType: { type: string, description: 'Type of identifier', example: 'Floorplan ID' } } } } }, Name: { type: string, description: 'Floorplan name', example: A1 }, PropertyId: { type: integer, description: 'Property ID', example: 12345 }, FloorplanGroups: { type: object, description: 'Floor plan groups this floor plan belongs to', properties: { FloorplanGroup: { type: object, description: 'Map of floor plan groups keyed by group ID', additionalProperties: { type: object, properties: { '@attributes': { type: object, description: 'Floor plan group attributes', properties: { id: { type: integer, description: 'Floor plan group ID', example: 10 }, name: { type: string, description: 'Floor plan group name', example: Classic } } } } } } } }, Comment: { type: string, description: 'Floorplan description', example: 'Open concept with lots of light' }, UnitCount: { type: string, description: 'Total number of units for this floorplan', example: '10' }, UnitsAvailable: { type: string, description: 'Number of available units for this floorplan', example: '2' }, UnitTypes: { type: object, description: 'Unit types associated with this floor plan', properties: { UnitType: { type: array, description: 'Array of unit type associations', items: { type: object, properties: { '@attributes': { type: object, description: 'Unit type attributes', properties: { Id: { type: integer, description: 'Unit type ID', example: 501 } } }, '@value': { type: string, description: 'Unit type name', example: Renovated } } } } } }, FloorCount: { type: integer, description: 'Number of floors/levels in the floor plan', example: 1 }, TotalRoomCount: { type: integer, description: 'Total number of rooms in the floor plan', example: 3 }, IsDisabled: { type: boolean, description: 'True if floorplan is unpublished/disabled', example: false }, Room: { type: array, description: 'Array of room configurations in the floor plan', items: { type: object, properties: { '@attributes': { type: object, description: 'Room attributes', properties: { RoomType: { type: string, description: 'Type of room (e.g., Bedroom, Bathroom, Kitchen)', example: Bedroom } } }, Count: { type: integer, description: 'Number of this room type in the floor plan', example: 1 }, Comment: { type: string, description: 'Additional comments about this room type', example: 'Primary bedroom' } } } }, SquareFeet: { type: object, description: 'Square footage range for the floor plan', properties: { '@attributes': { type: object, description: 'Square footage attributes', properties: { Min: { type: number, description: 'Minimum square feet', example: 650 }, Max: { type: number, description: 'Maximum square feet', example: 725 } } } } }, MarketRent: { type: object, description: 'Market rent range for the floor plan', properties: { '@attributes': { type: object, description: 'Market rent attributes', properties: { Min: { type: number, format: float, description: 'Minimum market rent', example: 1200 }, Max: { type: number, format: float, description: 'Maximum market rent', example: 1400 } } } } }, Deposit: { type: object, description: 'Deposit information for the floor plan', properties: { '@attributes': { type: object, description: 'Deposit attributes', properties: { DepositType: { type: string, description: 'Type of deposit (e.g., security deposit, pet deposit)', example: 'security deposit' } } }, Amount: { type: object, description: 'Deposit amount information', properties: { '@attributes': { type: object, description: 'Amount attributes', properties: { AmountType: { type: string, description: 'How the amount is calculated (e.g., MonthMultiple, Fixed)', example: MonthMultiple } } }, ValueRange: { type: object, description: 'Deposit amount range', properties: { '@attributes': { type: object, description: 'Value range attributes', properties: { Min: { type: integer, description: 'Minimum deposit amount', example: 300 }, Max: { type: integer, description: 'Maximum deposit amount', example: 500 } } } } } } } } }, Amenity: { type: array, description: 'Array of amenities included with the floor plan', items: { type: object, properties: { '@attributes': { type: object, description: 'Amenity attributes', properties: { AmenityType: { type: string, description: 'Type/category of amenity', example: AirConditioner } } }, Description: { type: string, description: 'Description of the amenity', example: 'Central Air' } } } }, File: { type: array, description: 'Array of media files (images, documents) associated with the floor plan', items: { type: object, properties: { FileType: { type: string, description: 'Type of file (e.g., Floorplan, Photo, Document)', example: Floorplan }, '@attributes': { type: object, description: 'File attributes', properties: { FileID: { type: integer, description: 'File/media ID', example: 90001 }, Active: { type: string, description: 'Whether file is active ("true") or inactive ("false")', example: 'true' } } }, Description: { type: string, description: 'File description', example: '2D Floor Plan' }, Name: { type: string, description: 'File name', example: A1-2D.png }, Caption: { type: string, description: 'File caption', example: 'Main layout' }, Format: { type: string, description: 'File format/extension (e.g., png, jpg, pdf)', example: png }, Width: { type: string, description: 'Image width in pixels (if image file)', example: '1024' }, Height: { type: string, description: 'Image height in pixels (if image file)', example: '768' }, Src: { type: string, description: 'Publicly accessible URL of the file', example: 'https://cdn.example.com/floorplans/a1-2d.png' }, IsDefault: { type: boolean, description: 'Whether this is the default/primary file for the floor plan', example: true } } } } } } } } } } } } } } }, sendFloorPlans-r1-response-schema: { description: 'Response containing status information and created floor plan IDs for the property.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { floorplans: { type: object, description: 'Container for floor plan results', properties: { floorplan: { type: array, description: 'Array of floor plan creation results', items: { type: object, properties: { node: { type: integer, description: 'Node number (position in request array)', example: 1 }, status: { type: string, description: 'Status of the floor plan creation operation', enum: [Success, Failure], example: Success }, floorplanId: { type: integer, description: 'Present when status is Success', example: 1001 }, name: { type: string, description: 'Present when status is Success', example: A1 }, message: { type: string, description: 'Details of success or error', example: 'Floorplan inserted successfully.' } } } } } } } } } } } }, getPetTypes-r1-response-schema: { description: 'Response containing configured pet types with names and IDs for the specified properties.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code of the response', enum: [200], example: 200 }, result: { type: object, required: [DefaultPetTypes], properties: { DefaultPetTypes: { type: object, required: [Property], properties: { Property: { type: object, description: 'Map keyed by propertyId; each contains property-level pet types', properties: { additionalProperties: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Property ID', example: 12345 } } }, DefaultPetType: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [Name, Id], properties: { Name: { type: string, description: 'Pet type name', example: Dog }, Id: { type: integer, description: 'Pet type ID', example: 1 } } } } } } } } } } } } } } } } } }, getPhoneNumber-r1-response-schema: { description: 'Response containing phone numbers with lead source information for the requested properties.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, description: 'Object containing property IDs as keys and formatted phone numbers as values additionalProperties is dynamic.', properties: { additionalProperties: { type: string, pattern: '^\(\d{3}\) \d{3}-\d{4}$', description: 'Formatted phone number in (XXX) XXX-XXXX format', example: '(844) 353-4031' } } } } } } }, getProperties-r1-response-schema: { description: 'Response containing comprehensive property information including contact details, address, amenities, office hours, pet policies, parking, utilities, and configuration settings.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { PhysicalProperty: { type: object, description: 'Container for property data', properties: { Property: { type: array, description: 'Array of property objects', items: { type: object, properties: { PropertyID: { type: integer, description: 'Property ID', example: 12345 }, ParentPropertyID: { type: integer, description: 'Parent property ID (if any). Only present if property has a parent property.', example: 100 }, MarketingName: { type: string, description: 'Property marketing name', example: 'Oaks at Parkview' }, PropertyLookupCode: { type: string, description: 'Property lookup code. Only present if property has a lookup code.', example: PRP-001 }, Type: { type: string, description: 'Property type name (e.g., Conventional, Student, etc.)', example: Conventional }, General_ID: { type: string, description: 'General identifier (mirrors lookup code). Only present if property has a lookup code.', example: PRP-001 }, YearBuilt: { type: string, description: 'Year the property was built. Only present if available.', example: '2002' }, ShortDescription: { type: string, description: 'Short description of the property. Only present if available.', example: 'Luxury apartments in downtown' }, LongDescription: { type: string, description: 'Full description of the property. Only present if available.', example: 'Beautiful luxury apartments located in the heart of downtown with modern amenities and stunning city views.' }, ExternalId: { type: string, description: 'External PMS ID (when available). Only present for integrated properties.', example: EXT12345 }, PmsId: { type: string, description: 'PMS identifier (when available). Only present for integrated properties.', example: PMS67890 }, webSite: { type: string, description: 'Community website URL. Only present if available.', example: 'https://example.com' }, Address: { type: object, description: 'Primary property address. Only present if property has an address.', properties: { '@attributes': { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: property } } }, Address: { type: string, description: 'Street address (may include multiple lines separated by commas)', example: '123 Main St, Apt 1' }, City: { type: string, description: 'City name', example: Provo }, State: { type: string, description: 'State code (for US properties)', example: UT }, Province: { type: string, description: 'Province name (for Canadian properties)', example: Alberta }, PostalCode: { type: string, description: 'Postal/ZIP code', example: '84601' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Office email address. Only present if valid email exists.', example: office@example.com } } }, Addresses: { type: object, description: 'All web-visible property addresses. Only present if property has multiple addresses.', properties: { Address: { type: array, description: 'Array of property addresses', items: { type: object, properties: { AddressType: { type: string, description: 'Type of address', example: property }, Address: { type: string, description: 'Street address (may include multiple lines separated by commas)', example: '123 Main St, Apt 1' }, City: { type: string, description: 'City name', example: Provo }, StateCode: { type: string, description: 'State code (for US properties)', example: UT }, Province: { type: string, description: 'Province name (for Canadian properties)', example: Alberta }, PostalCode: { type: string, description: 'Postal/ZIP code', example: '84601' }, Country: { type: string, description: 'Country code', example: US } } } } } }, Phone: { type: object, description: 'Primary phone number. Only present if property has a primary phone number.', properties: { PhoneNumber: { type: string, description: 'Phone number (10 digits, without country code)', example: '8015551234' }, '@attributes': { type: object, properties: { PhoneType: { type: string, description: 'Type of phone number', example: primary } } }, PhoneDescription: { type: string, description: 'Description of the phone number', example: Primary }, Extension: { type: string, description: 'Phone extension. Only present if available.', example: '123' } } }, PostMonths: { type: object, description: 'Posting months for AR, AP, and GL. Only present if property has GL settings configured.', properties: { ArPostMonth: { type: string, description: 'Accounts Receivable posting month (format: MM/YYYY)', example: 01/2025 }, ApPostMonth: { type: string, description: 'Accounts Payable posting month (format: MM/YYYY)', example: 01/2025 }, GlPostMonth: { type: string, description: 'General Ledger posting month (format: MM/YYYY)', example: 01/2025 } } }, PropertyHours: { type: object, description: 'Property hours including holiday, office, and pool hours. Only present if property has hours configured.', properties: { HolidayHours: { type: object, description: 'Holiday hours. Only present if property has holiday hours configured.', properties: { HolidayHour: { type: array, description: 'Array of holiday hours', items: { type: object, properties: { Name: { type: string, description: 'Name of the holiday', example: "New Year's Day" }, Date: { type: string, description: 'Holiday date (format: YYYY-MM-DD)', example: '2025-01-01' }, OpenTime: { type: string, description: 'Opening time (format: HH:MM AM/PM). Only present if holiday has specific hours.', example: '10:00 AM' }, CloseTime: { type: string, description: 'Closing time (format: HH:MM AM/PM). Only present if holiday has specific hours.', example: '02:00 PM' } } } } } }, OfficeHours: { type: object, description: 'Office hours. Only present if property has office hours configured.', properties: { OfficeHour: { type: array, description: 'Array of office hours by day', items: { type: object, properties: { Day: { type: string, description: 'Day of the week', example: Monday }, AvailabilityType: { type: string, description: 'Availability type (e.g., "Open" or "By Appointment Only")', example: Open }, OpenTime: { type: string, description: 'Opening time (format: HH:MM AM/PM). Only present if office is open.', example: '09:00 AM' }, CloseTime: { type: string, description: 'Closing time (format: HH:MM AM/PM). Only present if office is open.', example: '05:00 PM' }, LunchStartTime: { type: string, description: 'Lunch break start time (format: HH:MM AM/PM). Only present if lunch hours are configured.', example: '12:00 PM' }, LunchEndTime: { type: string, description: 'Lunch break end time (format: HH:MM AM/PM). Only present if lunch hours are configured.', example: '01:00 PM' } } } } } }, PoolHours: { type: object, description: 'Pool hours. Only present if property has pool hours configured.', properties: { PoolHour: { type: array, description: 'Array of pool hours by day', items: { type: object, properties: { Day: { type: string, description: 'Day of the week', example: Monday }, OpenTime: { type: string, description: 'Pool opening time (format: HH:MM AM/PM)', example: '06:00 AM' }, CloseTime: { type: string, description: 'Pool closing time (format: HH:MM AM/PM)', example: '10:00 PM' } } } } } } } }, IsDisabled: { type: integer, enum: [0, 1], description: 'Whether the property is disabled (1) or enabled (0)', example: 0 }, IsFeaturedProperty: { type: integer, enum: [0, 1], description: 'Whether the property is featured (1) or not (0)', example: 1 }, SpaceOptions: { type: object, description: 'Space configuration options. Only present if property has space configurations.', properties: { SpaceOption: { type: array, description: 'Array of space options', items: { type: object, properties: { Id: { type: integer, description: 'Space option ID', example: 10 }, Name: { type: string, description: 'Space option name', example: Storage } } } } } }, LeaseTerms: { type: object, description: 'Lease terms for the property. Only present if property has lease terms configured.', properties: { LeaseTerm: { type: array, description: 'Array of lease terms', items: { type: object, properties: { Id: { type: integer, description: 'Lease term ID', example: 5 }, Name: { type: string, description: 'Lease term name', example: '12 Months' }, TermMonths: { type: integer, description: 'Number of months for the lease term', example: 12 }, IsProspect: { type: integer, enum: [0, 1], description: 'Whether this term is for prospects (1) or not (0)', example: 1 }, IsRenewal: { type: integer, enum: [0, 1], description: 'Whether this term is for renewals (1) or not (0)', example: 0 }, IsActive: { type: boolean, description: 'Whether the lease term is active (true) or disabled (false)', example: true }, LeaseStartWindows: { type: object, description: 'Lease start windows. Only present if lease term has start windows configured.', properties: { LeaseStartWindow: { type: array, description: 'Array of lease start windows', items: { type: object, properties: { Id: { type: integer, description: 'Lease start window ID', example: 1 }, WindowStartDate: { type: string, description: 'Start date of the window (format: YYYY-MM-DD). Only present for date-based lease terms.', example: '2025-01-01' }, WindowEndDate: { type: string, description: 'End date of the window (format: YYYY-MM-DD). Only present for date-based lease terms.', example: '2025-01-31' }, WindowStartDays: { type: integer, description: 'Start offset in days. Only present for offset-based lease terms.', example: 30 }, WindowEndDays: { type: integer, description: 'End offset in days. Only present for offset-based lease terms.', example: 60 } } } } } } } } } } }, CustomKeysData: { type: object, description: 'Custom data key-value pairs. Only present if property has custom data configured.', properties: { CustomKeyData: { type: array, description: 'Array of custom key-value pairs', items: { type: object, properties: { Key: { type: string, description: 'Custom key name', example: PropertyFeature }, Value: { type: string, description: 'Custom key value', example: Pool } } } } } } } } } } } } } } } } }, getPropertyAddOns-r1-response-schema: { description: 'Response containing property add-ons with visibility settings, availability dates, lease term associations, and rate information.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { currencyCode: { type: string, description: 'ISO currency code for the property. Only present if property has a currency code configured.', example: USD }, addOns: { type: object, required: [addon], properties: { addon: { type: array, description: 'Array of add-on items for the property', items: { type: object, properties: { id: { type: integer, description: 'Add-on ID', example: 501 }, name: { type: string, description: 'Add-on name', example: 'Garage Parking' }, addOnTypeId: { type: integer, description: 'Add-on type ID', example: 1 }, addOnCategoryId: { type: integer, description: 'Add-on category ID', example: 10 }, addOnGroupId: { type: integer, description: 'Add-on group ID', example: 100 }, isInventory: { type: integer, enum: [0, 1], description: 'Whether this add-on has inventory (1) or not (0)', example: 1 }, addOnAvailableOn: { type: string, description: 'Available on date (format: YYYY-MM-DD). Only present if date is set.', example: '2025-01-15' }, isWebVisible: { type: integer, enum: [0, 1], description: 'Whether this add-on is visible on website (1) or not (0). Only present if value is set.', example: 1 }, availability: { type: string, description: 'Availability status name (e.g., Available, Unavailable)', example: Available }, reservationStartDate: { type: string, description: 'Reservation start date (format: YYYY-MM-DD). Only present if date is set.', example: '2025-01-10' }, reservationEndDate: { type: string, description: 'Reservation end date (format: YYYY-MM-DD). Only present if date is set.', example: '2025-01-20' }, holdUntilDate: { type: string, description: 'Hold until date (format: YYYY-MM-DD). Only present if date is set.', example: '2025-01-05' }, rates: { type: object, description: 'Rate information for the add-on. Only present if rates are configured.', properties: { rate: { type: array, description: 'Array of rate objects', items: { type: object, properties: { chargeTimingId: { type: integer, description: 'AR trigger ID (charge timing, e.g., 1 for monthly, 2 for move-in)', example: 1 }, chargeCodeId: { type: integer, description: 'AR code ID associated with this rate', example: 200 }, amount: { type: string, description: 'Rate amount formatted as decimal string (e.g., "50.00")', example: '50.00' } } } } } } } } } } } } } } } } }, getPropertyAnnouncements-r1-response-schema: { description: 'Response containing published property and company announcements with titles, content, dates, and priority information.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { Announcements: { type: object, description: 'Container for announcement data', properties: { Announcement: { type: array, description: 'Array of published announcements for the property', items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Announcement ID', example: 501 } } }, AnnouncementTypeId: { type: integer, description: 'Announcement type ID (1 = Property, 2 = Company)', example: 1 }, FrequencyId: { type: integer, description: 'Frequency ID if applicable (daily, weekly, monthly)', example: 2 }, Title: { type: string, description: 'Announcement title', example: 'Pool Maintenance' }, Description: { type: string, description: 'Announcement description or content', example: 'The pool will be closed for maintenance on Saturday.' }, StartDate: { type: string, description: 'Announcement start date in YYYY-MM-DD format', example: '2025-01-10' }, EndDate: { type: string, description: 'Announcement end date in YYYY-MM-DD format', example: '2025-01-12' } } } } } } } } } } } }, getPropertyMedia-r1-response-schema: { description: 'Response containing property media associations including URLs, captions, types, subtypes, display order, and reference associations.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { propertyId: { type: integer, description: 'Property ID', example: 12345 }, media: { type: array, description: 'Array of property media associations', items: { type: object, properties: { id: { type: integer, description: 'Marketing media association ID', example: 90001 }, mediaTypeId: { type: integer, description: 'Media type ID', example: 1 }, mediaTypeName: { type: string, description: 'Media type name', example: 'Property Media' }, mediaSubTypeId: { type: integer, description: 'Media sub-type ID', example: 10 }, mediaSubTypeName: { type: string, description: 'Media sub-type name', example: Photos }, referenceId: { type: integer, description: 'Reference ID (e.g., unit ID for unit media)', example: 1001 }, mediaProvider: { type: string, description: 'Provider/source of the media', example: External }, mediaUrl: { type: string, description: 'Publicly accessible URL of the media', example: 'https://cdn.example.com/img1.jpg' }, mediaAltText: { type: string, description: 'Alternative text for the media', example: 'Front elevation' }, name: { type: string, description: 'Media file name', example: Front.jpg }, description: { type: string, description: 'Media description', example: 'Front view' }, caption: { type: string, description: 'Media caption', example: 'Main entrance' }, height: { type: string, description: 'Media height in pixels', example: '800' }, width: { type: string, description: 'Media width in pixels', example: '1200' }, mediaFormat: { type: string, description: 'File format (e.g., jpg, png)', example: jpg }, thumbnailUrl: { type: string, description: 'Thumbnail URL', example: 'https://cdn.example.com/img1-thumb.jpg' } } } } } } } } } }, sendPropertyMedia-r1-response-schema: { description: 'Response containing status information and created media association IDs for the property.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { media: { type: array, items: { type: object, properties: { node: { type: integer, example: 1 }, id: { type: integer, description: 'Marketing media association ID (when successful)', example: 90001 }, status: { type: string, enum: [Success, Failure], example: Success }, message: { type: string, example: 'Media inserted successfully.' } } } } } } } } } }, sendRentableItems-r1-response-schema: { description: 'Response containing status information and created rentable item group/item IDs for the property.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { rentableItemTypes: { type: object, properties: { rentableItemType: { type: array, items: { type: object, properties: { node: { type: integer, example: 1 }, rentableItemTypeId: { type: integer, description: 'Created rentable item type (group) ID', example: 100 }, rentableItemIds: { type: string, description: 'Comma-separated IDs of created rentable items (if any)', example: '10001,10002' }, status: { type: string, enum: [Success, Failure], example: Success }, message: { type: string, example: 'rentableItemType inserted successfully.' } } } } } } } } } } } }, updatePropertyMedia-r1-response-schema: { description: 'Response containing status information for updated property media associations.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, example: '15' }, code: { type: integer, enum: [200], example: 200 }, result: { type: object, properties: { media: { type: array, items: { type: object, properties: { node: { type: integer, example: 1 }, id: { type: integer, description: 'Marketing media association ID (when successful)', example: 90001 }, status: { type: string, enum: [Success, Failure], example: Success }, message: { type: string, example: 'Media updated successfully.' } } } } } } } } } }, getPropertyPickLists-r1-response-schema: { description: 'Response containing property pick lists including unit types, add-on groups, floorplans, buildings, search areas, lead sources, and lease terms.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { company: { type: object, description: 'Company-level pick list data', properties: { searchAreas: { type: object, description: 'Company search areas organized by country and state', properties: { countries: { type: array, items: { type: object, properties: { country: { type: array, items: { type: object, properties: { states: { type: object, properties: { state: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Code: { type: string, example: UT }, Name: { type: string, example: Utah } } }, searchArea: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 1 }, Name: { type: string, example: 'Salt Lake City' } } } } } } } } } } } } } } } } } } } } }, Property: { type: array, description: 'Array of properties with their associated pick lists', items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 12345 }, Name: { type: string, example: Parkview }, IsDisabled: { type: integer, enum: [0, 1], example: 0 } } }, UnitTypes: { type: object, properties: { UnitType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 10 }, Name: { type: string, example: '1 Bedroom' } } } } } } } }, AddOnGroups: { type: object, properties: { RentableItems: { type: object, properties: { RentableItem: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 100 }, Name: { type: string, example: Storage } } } } } } } }, AssignableItems: { type: object, properties: { AssignableItem: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 200 }, Name: { type: string, example: 'Parking Permit' } } } } } } } }, Services: { type: object, properties: { Service: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 300 }, Name: { type: string, example: 'Valet Trash' } } } } } } } } } }, PropertyBuildings: { type: object, properties: { PropertyBuilding: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 1 }, Name: { type: string, example: 'Building A' } } } } } } } }, PropertyFloorplans: { type: object, properties: { PropertyFloorplan: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 500 }, Name: { type: string, example: A1 } } } } } } } }, MoveOutReasons: { type: object, properties: { MoveOutReason: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 5 }, SystemCode: { type: string, example: TESTING_SYSTEM_CODE }, Name: { type: string, example: 'Job Relocation' } } } } } } } }, leasePeriods: { type: object, properties: { leasePeriod: { type: array, items: { type: object, properties: { leaseTermId: { type: integer, example: 7 }, leaseTermName: { type: string, example: '12 Months' }, leaseTermStructureId: { type: integer, example: 2 }, leaseTermStructureName: { type: string, example: Fixed }, leaseStartWindowId: { type: integer, example: 1 }, leaseStartDate: { type: string, example: '2025-01-01' }, leaseEndDate: { type: string, example: '2025-12-31' } } } } } }, PropertySearchAreas: { type: object, properties: { SearchAreas: { type: object, properties: { SearchArea: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, example: 11 }, CompanySearchAreaId: { type: integer, example: 99 } } } } } } } } } } } } } } } } } } }, getPropertyPickLists-r2-response-schema: { description: 'Response containing expanded property pick lists including unit types, buildings, floorplans, add-on groups, search areas, application/unit status types, media types/subtypes, and lease terms with academic year associations.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { properties: { type: object, description: 'Container for property pick list data', properties: { property: { type: array, description: 'Array of properties with their associated pick lists', items: { type: object, properties: { id: { type: integer, description: 'Property ID', example: 12345 }, name: { type: string, description: 'Property name', example: Parkview }, unitTypes: { type: object, properties: { unitType: { type: array, items: { type: object, properties: { id: { type: integer, example: 10 }, name: { type: string, example: '1 Bedroom' } } } } } }, propertyBuildings: { type: object, properties: { propertyBuilding: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, propertyFloorplans: { type: object, properties: { propertyFloorplan: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, addOnCategories: { type: object, properties: { addOnCategory: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, rentableItems: { type: object, properties: { rentableItem: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, assignableItems: { type: object, properties: { assignableItem: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, services: { type: object, properties: { service: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, moveOutTypes: { type: object, properties: { moveOutType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, moveOutReasons: { type: object, properties: { moveOutReason: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, systemCode: { type: string, example: TESTING_SYSTEM_CODE }, name: { type: string, example: 'Sample Name' } } } } } }, leaseTerms: { type: object, properties: { leaseTerm: { type: array, items: { type: object, properties: { leaseTermId: { type: integer, example: 7 }, leaseTermName: { type: string, example: '12 Months' }, leaseTermStructureId: { type: integer, example: 2 }, leaseTermStructureName: { type: string, example: Fixed }, webVisible: { type: integer, enum: [0, 1], description: 'Whether the lease term is visible on website (1 for visible, 0 for hidden)', example: 1 }, isActive: { type: integer, enum: [0, 1], description: 'Whether the lease term is active (1 for Active, 0 for Inactive)', example: 1 }, leaseStartWindows: { type: object, properties: { leaseStartWindow: { type: array, items: { type: object, properties: { leaseStartWindowId: { type: integer, example: 900 }, academicYearId: { type: integer, example: 2025 }, windowStartDate: { type: string, example: '2025-08-01' }, windowEndDate: { type: string, example: '2026-07-31' }, windowStartDays: { type: integer, example: 30 }, windowEndDays: { type: integer, example: 60 } } } } } } } } } } }, propertySearchAreas: { type: object, properties: { propertySearchArea: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, companySearchAreaId: { type: integer, example: 99 } } } } } } } } } } }, searchAreaStates: { type: object, properties: { searchAreaState: { type: array, items: { type: object, properties: { state: { type: string, example: Utah }, stateCode: { type: string, example: UT }, countryCode: { type: string, example: US }, searchAreas: { type: object, properties: { searchArea: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' }, subSearchAreas: { type: object, properties: { subSearchArea: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' }, childSubSearchAreas: { type: object, properties: { childSubSearchArea: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } } } } } } } } } } } } } } } } }, phoneNumberTypes: { type: object, properties: { phoneNumberType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, addressTypes: { type: object, properties: { addressType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, amenityReservationStatusTypes: { type: object, properties: { amenityReservationStatusType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, taxNumberTypes: { type: object, properties: { taxNumberType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, companyIdentificationTypes: { type: object, properties: { companyIdentificationType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, unitSpaceStatusTypes: { type: object, properties: { unitSpaceStatusType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, genders: { type: object, properties: { gender: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, defaultAmenities: { type: object, properties: { defaultAmenity: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' }, amenityTypeId: { type: integer, example: 1 } } } } } }, amenityTypes: { type: object, properties: { amenityType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, academicYears: { type: object, properties: { academicYear: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } }, mediaTypes: { type: object, properties: { mediaType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' }, mediaSubTypes: { type: object, properties: { mediaSubType: { type: array, items: { type: object, properties: { id: { type: integer, example: 1 }, name: { type: string, example: 'Sample Name' } } } } } } } } } } } } } } } } }, getRentableItems-r1-response-schema: { description: 'Response containing rentable items grouped by type with names, descriptions, availability, pricing, and lease term associations.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { RentableItemTypes: { type: object, description: 'Container for rentable item type groups', properties: { RentableItemType: { type: array, description: 'Array of rentable item type groups (e.g., Parking, Storage)', items: { type: object, properties: { Id: { type: integer, description: 'Rentable item type (add-on group) ID', example: 1 }, Name: { type: string, description: 'Rentable item type name', example: Storage }, Description: { type: string, description: 'Rentable item type description', example: 'Storage unit rental' }, Applications: { type: object, description: 'Applications where this rentable item type is used', properties: { Application: { type: array, description: 'Array of application types', items: { type: object, properties: { Name: { type: string, description: 'Application type name', example: Residential } } } } } }, RentableItemOptions: { type: object, description: 'Container for rentable item option configurations', properties: { RentableItemOption: { type: array, description: 'Array of rentable item option configurations (variants within a type)', items: { type: object, properties: { Id: { type: integer, description: 'Rentable item option (add-on) ID', example: 10 }, Name: { type: string, description: 'Rentable item option name', example: 'Small Storage' }, Description: { type: string, description: 'Rentable item option description', example: '5x5 storage unit' }, AllowFlexibleReservationDates: { type: integer, description: 'Whether flexible reservation dates are allowed (1) or not (0)', enum: [0, 1], example: 1 }, HasInventory: { type: integer, description: 'Whether this option has individual inventory items (1) or is a single virtual add-on (0)', enum: [0, 1], example: 1 }, Rent: { type: object, description: 'Rent details at the option level (RIO = Rentable Item Option)', properties: { Type: { type: string, description: 'Rate type', example: RIO }, ChargeCode: { type: string, description: 'AR code name for rent', example: 'Parking Rent' }, Amount: { type: string, description: 'Rent amount', example: $50.00 } } }, Deposit: { type: object, description: 'Deposit details at the option level', properties: { Type: { type: string, description: 'Rate type', example: RIO }, ChargeCode: { type: string, description: 'AR code name for deposit', example: 'Deposit Code' }, Amount: { type: string, description: 'Deposit amount', example: $100.00 } } }, ReservationFee: { type: object, description: 'Reservation fee details at the option level', properties: { Type: { type: string, description: 'Rate type', example: RIO }, ChargeCode: { type: string, description: 'AR code name for reservation fee', example: 'Reservation Fee' }, Amount: { type: string, description: 'Reservation fee amount', example: $25.00 } } }, RentableItems: { type: object, description: 'Container for individual rentable item inventory (only present if HasInventory is 1)', properties: { RentableItem: { type: array, description: 'Array of individual rentable item inventory units', items: { type: object, properties: { Id: { type: integer, description: 'Individual rentable item (add-on) ID', example: 10001 }, Name: { type: string, description: 'Individual rentable item name', example: 'Storage Unit A-1' }, Resident: { type: object, description: 'Current resident renting this item (if occupied)', properties: { firstName: { type: string, description: 'Resident first name', example: John }, lastName: { type: string, description: 'Resident last name', example: Doe }, leaseStatus: { type: string, description: 'Lease status', example: Current } } }, Availability: { type: string, description: 'Availability status name', example: Available }, AvailableOn: { type: string, description: 'Date when item becomes available (YYYY-MM-DD)', example: '2025-01-15' }, ReservationStartDate: { type: string, description: 'Reservation window start date (YYYY-MM-DD)', example: '2025-01-01' }, ReservationEndDate: { type: string, description: 'Reservation window end date (YYYY-MM-DD)', example: '2025-12-31' }, HoldUntil: { type: string, description: 'Date until which item is held (YYYY-MM-DD)', example: '2025-01-20' }, WebsiteAvailibility: { type: integer, description: 'Whether item is visible on website (1) or hidden (0)', enum: [0, 1], example: 1 }, Rent: { type: object, description: 'Rent details at the individual item level (RI = Rentable Item)', properties: { Type: { type: string, description: 'Rate type', example: RI }, ChargeCode: { type: string, description: 'AR code name for rent', example: 'Parking Rent' }, Amount: { type: string, description: 'Rent amount', example: $50.00 } } }, Deposit: { type: object, description: 'Deposit details at the individual item level', properties: { Type: { type: string, description: 'Rate type', example: RI }, ChargeCode: { type: string, description: 'AR code name for deposit', example: 'Deposit Code' }, Amount: { type: string, description: 'Deposit amount', example: $100.00 } } }, ReservationFee: { type: object, description: 'Reservation fee details at the individual item level', properties: { Type: { type: string, description: 'Rate type', example: RI }, ChargeCode: { type: string, description: 'AR code name for reservation fee', example: 'Reservation Fee' }, Amount: { type: string, description: 'Reservation fee amount', example: $25.00 } } } } } } } } } } } } } } } } } } } } } } } }, getWebsites-r1-response-schema: { description: 'Response containing website configurations with names, URLs, linked properties, domains, and application settings.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code indicating the API call completed successfully', enum: [200], example: 200 }, result: { type: object, properties: { websites: { type: object, description: 'Container for website data', properties: { website: { type: array, description: 'Array of websites configured for the requested properties', items: { type: object, properties: { id: { type: integer, description: 'Website ID', example: 1001 }, name: { type: string, description: 'Website name', example: 'Parkview Main' }, subdomain: { type: string, description: 'Website subdomain', example: parkview }, websiteProperties: { type: object, description: 'Properties linked to this website', properties: { websiteProperty: { type: array, description: 'Array of property associations', items: { type: object, properties: { propertyId: { type: integer, description: 'Linked property ID', example: 12345 }, propertyName: { type: string, description: 'Linked property name', example: Parkview } } } } } }, websiteDomains: { type: object, description: 'Domains configured for this website', properties: { websiteDomain: { type: array, description: 'Array of domain configurations', items: { type: object, properties: { domain: { type: string, description: 'Domain name', example: www.parkviewapts.com }, isPrimary: { type: integer, description: 'Whether this is the primary domain (1) or not (0)', enum: [0, 1], example: 1 }, isSecure: { type: integer, description: 'Whether SSL/HTTPS is enabled (1) or not (0)', enum: [0, 1], example: 1 } } } } } } } } } } } } } } } } }, getAmenities-r1-request-schema: { description: 'Retrieves amenities for a property, including property-level amenities, unit amenities, floorplan amenities, and unit type amenities with their associated rates and visibility settings.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getAmenities], description: 'Method name to be called', example: getAmenities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 1234 }, unitNumber: { type: string, description: 'This is an optional field. This field accepts single value. Unit number to filter amenities.', example: 101A }, chargeCodeTypeIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated charge code type IDs to filter amenities.', example: '1,2,3,4' } }, description: 'Method parameters' } } } } }, getMitsPropertyUnits-r1-request-schema: { description: 'Retrieves comprehensive MITS-formatted property unit data including floorplans, buildings, amenities, pricing, availability, and pet policies for one or more properties.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getMitsPropertyUnits], description: 'Method name to be called', example: getMitsPropertyUnits }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'This is a required field. This field accepts comma separated multiple values. Comma-separated property IDs to retrieve MITS data for.', example: '1234,5678,9012' }, availableUnitsOnly: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to retrieve only available units, 0 for all units. Default is 0.', enum: [0, 1], example: 1 }, usePropertyPreferences: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to use property preferences (like availability window and max available units per floor plan), 0 to ignore them. Default is 0.', enum: [0, 1], example: 1 }, includeDisabledFloorplans: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled/unpublished floorplans, 0 to exclude them. Default is 0.', enum: [0, 1], example: 0 }, showUnitSpaces: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to show unit spaces (rooms within units) in the response, 0 to show property units. Default is 0.', enum: [0, 1], example: 1 }, includeDisabledUnits: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled/unpublished units, 0 to exclude them. Default is 0.', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getPropertyUnits-r1-request-schema: { description: 'Retrieves comprehensive property unit details including unit spaces with lease term pricing, availability status, amenities, custom key data, media files, and pet policies.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPropertyUnits], description: 'Method name to be called', example: getPropertyUnits }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyIds], properties: { propertyIds: { type: string, description: 'This is a required field. This field accepts comma separated multiple values. Comma-separated list of property IDs from which to retrieve unit information.', example: '1234,5678,9012' }, availableUnitsOnly: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to retrieve only available units, 0 for all units.', enum: [0, 1], example: 1 }, usePropertyPreferences: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to use property preferences, 0 to ignore them. If enabled then the Entrata setting "Max Available Units per Floor Plan" will be honored and the available units returned will be reduced. Also requires using the availableUnitsOnly parameter as true (1).', enum: [0, 1], example: 1 }, includeDisabledFloorplans: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled floorplans, 0 to exclude them.', enum: [0, 1], example: 0 }, includeDisabledUnits: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled units, 0 to exclude them.', enum: [0, 1], example: 0 }, skipPricing: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to skip pricing information, 0 to include pricing.', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getSpecials-r1-request-schema: { description: 'Retrieves property specials and concessions organized by property level, floorplan level, and unit level with details including dates, descriptions, lease terms, and recipient types.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getSpecials], description: 'Method name to be called', example: getSpecials }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID for which to retrieve specials and concessions information.', example: 1234 } }, description: 'Method parameters' } } } } }, getSpecials-r2-request-schema: { description: 'Retrieves property specials and concessions with enhanced filtering capabilities, organized by property, floorplan, and unit with comprehensive details including rates, associations, and conditions.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getSpecials], description: 'Method name to be called', example: getSpecials }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID from which to retrieve specials information.', example: 1234 } }, description: 'Method parameters' } } } } }, getSpecials-r3-request-schema: { description: 'Retrieves property specials with grouped organization by special IDs, including rates with lease term associations and space configuration details for property, floorplan, and unit levels.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getSpecials], description: 'Method name to be called', example: getSpecials }, version: { type: string, enum: [r3], description: 'API version', example: r3 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID from which to retrieve specials information.', example: 1234 } }, description: 'Method parameters' } } } } }, getSpecials-r4-request-schema: { description: 'Retrieves special groups with comprehensive details including specials, rates, associations, conditions, lease terms, space configurations, lead sources, and recipient information organized by special group IDs.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getSpecials], description: 'Method name to be called', example: getSpecials }, version: { type: string, enum: [r4], description: 'API version', example: r4 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID from which to retrieve special groups information.', example: 1234 } }, description: 'Method parameters' } } } } }, getUnitsAvailabilityAndPricing-r1-request-schema: { description: 'Retrieves comprehensive unit availability and pricing information including floorplan details, unit spaces with lease terms, deposits, amenities, and concessions with flexible filtering options.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getUnitsAvailabilityAndPricing], description: 'Method name to be called', example: getUnitsAvailabilityAndPricing }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID from which to retrieve units and pricing information.', example: 1234 }, floorplanId: { type: integer, description: 'This is an optional field. This field accepts single value. Floorplan ID to filter results by specific floorplan.', example: 5001 }, unitTypeId: { type: integer, description: 'This is an optional field. This field accepts single value. Unit Type ID to filter results by specific unit type.', example: 4001 }, propertyUnitId: { type: integer, description: 'This is an optional field. This field accepts single value. Property unit ID to filter results by specific unit.', example: 6001 }, availableUnitsOnly: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to retrieve only available units, 0 for all units.', enum: [0, 1], example: 1 }, showChildProperties: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include child properties in results, 0 to exclude them.', enum: [0, 1], example: 0 }, moveInStartDate: { type: string, description: 'This is an optional field. This field accepts single value. Desired move-in start date in MM/DD/YYYY format.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 02/01/2024 }, moveInEndDate: { type: string, description: 'This is an optional field. This field accepts single value. Desired move-in end date in MM/DD/YYYY format. Must be greater than or equal to moveInStartDate.', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 02/28/2024 }, daysFromAvailableOnDate: { type: integer, description: 'This is an optional field. This field accepts single value. Number of days from today to find available units. When specified, overrides moveInStartDate and moveInEndDate.', example: 30 }, includeDisabledFloorplans: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled/unpublished floorplans, 0 to exclude them.', enum: [0, 1], example: 0 }, showUnitSpaces: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to show detailed unit spaces in PropertyUnits format, 0 to show simplified ILS_Units format.', enum: [0, 1], example: 1 }, includeDisabledUnits: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to include disabled/unpublished units, 0 to exclude them.', enum: [0, 1], example: 0 }, allowLeaseExpirationOverride: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to allow lease expiration override in availability calculations, 0 to not allow.', enum: [0, 1], example: 0 }, useSpaceConfiguration: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to use space configuration options if property has them enabled, 0 to ignore space configurations.', enum: [0, 1], example: 0 }, skipPricing: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to skip pricing information in response, 0 to include full pricing details.', enum: [0, 1], example: 0 }, unavailableUnitsOnly: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to retrieve only unavailable units, 0 for all units. Cannot be used with availableUnitsOnly=1.', enum: [0, 1], example: 0 } }, description: 'Method parameters' } } } } }, getUnitTypes-r1-request-schema: { description: 'Retrieves unit types for a property with floorplan associations, bedroom/bathroom counts, square footage ranges, market rent ranges, and lease term pricing information.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getUnitTypes], description: 'Method name to be called', example: getUnitTypes }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 1234 } }, description: 'Method parameters' } } } } }, sendAmenities-r1-request-schema: { description: 'Creates property-level amenities and unit-level amenities with their rate associations for a specified property and unit spaces.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendAmenities], description: 'Method name to be called', example: sendAmenities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, propertyAmenities, unitAmenities], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID where amenities will be added.', example: 1234 }, propertyAmenities: { type: object, required: [propertyAmenity], properties: { propertyAmenity: { type: array, description: 'Array of property-level (community) amenities to add', items: { type: object, required: [name], properties: { name: { type: string, description: 'This is a required field. This field accepts single value. Name of the amenity. Must be unique among property amenities.', example: 'Swimming Pool' }, description: { type: string, description: 'This is an optional field. This field accepts single value. Description of the amenity.', example: 'Outdoor swimming pool with lounge area' }, isPublished: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to publish the amenity, 0 to keep it unpublished.', enum: [0, 1], example: 1 } } } } } }, unitAmenities: { type: object, required: [unitAmenity], properties: { unitAmenity: { type: array, description: 'Array of unit-level (apartment) amenities to add to specific unit spaces', items: { type: object, required: [unitSpaceId, name], properties: { unitSpaceId: { type: integer, description: 'This is a required field. This field accepts single value. Unit space ID where the amenity will be added.', example: 7001 }, name: { type: string, description: 'This is a required field. This field accepts single value. Name of the amenity. Must be unique among unit amenities.', example: Dishwasher }, description: { type: string, description: 'This is an optional field. This field accepts single value. Description of the amenity.', example: 'Built-in dishwasher' }, isPublished: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to publish the amenity, 0 to keep it unpublished.', enum: [0, 1], example: 1 } } } } } } }, description: 'Method parameters' } } } } }, sendPropertyUnits-r1-request-schema: { description: 'Creates property units with unit spaces, including address, floorplan, building, floor associations, amenities, specials, and lease term configurations (maximum 100 units per request).', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendPropertyUnits], description: 'Method name to be called', example: sendPropertyUnits }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, units], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 1234 }, units: { type: object, required: [unit], properties: { unit: { type: array, description: 'Array of units to add (maximum 100 units)', maxItems: 100, items: { type: object, required: [unitNumber, propertyFloorplanId, unitTypeId, leaseTermId, countryCode, streetLine1, city, stateCode, postalCode], properties: { unitNumber: { type: string, description: 'This is a required field. This field accepts single value. Unit number identifier.', example: 101A }, unitPrefix: { type: string, description: 'This is an optional field. This field accepts single value. Unit number prefix.', example: Bldg1- }, unitSuffix: { type: string, description: 'This is an optional field. This field accepts single value. Unit number suffix.', example: '-A' }, unitTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Unit type ID associated with the floorplan.', example: 4001 }, propertyBuildingId: { type: integer, description: 'This is an optional field. This field accepts single value. Property building ID where the unit is located.', example: 1001 }, propertyFloorplanId: { type: integer, description: 'This is a required field. This field accepts single value. Property floorplan ID for the unit.', example: 5001 }, propertyFloorId: { type: integer, description: 'This is an optional field. This field accepts single value. Property floor ID where the unit is located.', example: 2001 }, spaceNumber: { type: string, description: "This is an optional field. This field accepts single value. Space number within the unit (defaults to 'A', maximum 15 spaces per unit).", example: A }, spaceConfigurationId: { type: integer, description: 'This is an optional field. This field accepts single value. Space configuration ID (required for student properties).', example: 6001 }, maxOccupants: { type: integer, description: 'This is an optional field. This field accepts single value. Maximum number of occupants allowed in the unit.', example: 4 }, maxPets: { type: integer, description: 'This is an optional field. This field accepts single value. Maximum number of pets allowed in the unit.', example: 2 }, numberOfBedRooms: { type: integer, description: 'This is an optional field. This field accepts single value. Number of bedrooms (required for affordable properties).', example: 1 }, numberOfBathRooms: { type: integer, description: 'This is an optional field. This field accepts single value. Number of bathrooms (required for affordable properties).', example: 1 }, squareFeet: { type: integer, description: 'This is an optional field. This field accepts single value. Unit square footage (required for affordable properties).', example: 750 }, note: { type: string, description: 'This is an optional field. This field accepts single value. Additional notes or comments about the unit.', example: 'Recently renovated unit with modern appliances' }, unitGenderId: { type: integer, description: 'This is an optional field. This field accepts single value. Gender ID for student housing units.', example: 1 }, marketingNumber: { type: string, description: 'This is an optional field. This field accepts single value. Marketing unit number for display purposes.', example: A101 }, certificateOfOccupancyDate: { type: string, description: 'This is an optional field. This field accepts single value. Certificate of occupancy date in YYYY-MM-DD format.', format: date, example: '2024-01-15' }, isShowOnWebsite: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 to show unit on website, 0 to hide.', enum: [0, 1], example: 1 }, unitExclusionReasonTypeId: { type: integer, description: 'This is an optional field. This field accepts single value. Unit exclusion reason type ID if unit is excluded from availability.', example: 3001 }, unitSpaceStatusTypeId: { type: integer, description: 'This is an optional field. This field accepts single value. Unit space status type ID indicating current status.', example: 4001 }, availableOn: { type: string, description: 'This is an optional field. This field accepts single value. Date unit becomes available in YYYY-MM-DD format (required for most statuses except Occupied No Notice).', format: date, example: '2024-02-01' }, makeReadyDate: { type: string, description: 'This is an optional field. This field accepts single value. Make ready date in YYYY-MM-DD format (must not be greater than availableOn date).', format: date, example: '2024-01-25' }, isFurnished: { type: integer, description: 'This is an optional field. This field accepts single value. Set to 1 if unit is furnished, 0 if unfurnished.', enum: [0, 1], example: 0 }, taxCreditUnitNumber: { type: string, description: 'This is an optional field. This field accepts single value. Tax credit unit number for affordable housing properties.', example: TC-101 }, countryCode: { type: string, description: 'This is a required field. This field accepts single value. Country code for unit address (e.g., US, CA).', example: US }, streetLine1: { type: string, description: 'This is a required field. This field accepts single value. Primary street address line.', example: '123 Main Street' }, streetLine2: { type: string, description: 'This is an optional field. This field accepts single value. Secondary street address line (apartment, suite, etc.).', example: 'Apt 101' }, streetLine3: { type: string, description: 'This is an optional field. This field accepts single value. Tertiary street address line.', example: '' }, city: { type: string, description: 'This is a required field. This field accepts single value. City name.', example: 'San Francisco' }, stateCode: { type: string, description: 'This is a required field. This field accepts single value. State/province code (lowercase, e.g., ca, ny).', example: ca }, postalCode: { type: integer, description: 'This is a required field. This field accepts single value. Postal/ZIP code.', example: 94102 }, amenityIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated amenity IDs to associate with the unit space.', example: '1001,1002,1003' }, specialIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Comma-separated special IDs to associate with the unit space.', example: '2001,2002' }, leaseTermId: { type: integer, description: 'This is a required field. This field accepts single value. Lease term ID for the unit space.', example: 5001 }, termStartDate: { type: string, description: 'This is an optional field. This field accepts single value. Lease term start date in YYYY-MM-DD format (required with termEndDate for lease start windows).', format: date, example: '2024-02-01' }, termEndDate: { type: string, description: 'This is an optional field. This field accepts single value. Lease term end date in YYYY-MM-DD format (required with termStartDate for lease start windows).', format: date, example: '2024-07-31' } } } } } } }, description: 'Method parameters' } } } } }, sendSpecialGroup-r1-request-schema: { description: 'Creates a special group with specials, lease terms, associations (property, floorplan, or unit level), conditions, lead sources, and recipient restrictions for a property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendSpecialGroup], description: 'Method name to be called', example: sendSpecialGroup }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, specialGroup], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID where special group will be created.', example: 1234 }, specialGroup: { type: object, required: [specialGroupName, isActive, isWebVisible, isAdvertised, quantityBudgeted, leaseTermDetails, specials], properties: { specialGroupName: { type: string, description: 'This is a required field. This field accepts single value. Special group name.', example: 'Summer Special 2024' }, internalDescription: { type: string, description: 'This is an optional field. This field accepts single value. Internal description not visible to residents.', example: 'Internal notes about this special' }, isActive: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 if special is active, 0 if inactive.', example: 1 }, isWebVisible: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 to show in advertising, 0 to hide.', example: 1 }, startDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Start date for advertising the special.', example: '2024-06-01' }, endDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. End date for advertising the special.', example: '2024-08-31' }, hideEndDate: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide end date in advertising, 0 to show.', example: 0 }, marketingDescription: { type: string, description: 'This is an optional field. This field accepts single value. Description shown to residents.', example: 'Limited time summer special offer' }, termsAndConditions: { type: string, description: 'This is an optional field. This field accepts single value. Terms and conditions displayed for the special.', example: 'Terms and conditions apply' }, isAdvertised: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 for automatic special, 0 for manual-only special. If isWebVisible is 1, isAdvertised must be 1.', example: 1 }, moveInDateFrom: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Minimum move-in date for special eligibility.', example: '2024-06-01' }, moveInDateTo: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Maximum move-in date for special eligibility.', example: '2024-08-31' }, renewalStartDateFrom: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Minimum renewal start date for special eligibility.', example: '2024-06-01' }, renewalStartDateTo: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Maximum renewal start date for special eligibility.', example: '2024-08-31' }, limitQuantity: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to limit quantity, 0 for unlimited.', example: 1 }, quantityBudgeted: { type: integer, description: 'This is a required field. This field accepts single value. Number of specials to be given (must be > 0 if limitQuantity is 1).', example: 50 }, couponCode: { type: string, description: 'This is an optional field. This field accepts single value. Promotional code required during application. Required if leadSourceId is provided.', example: SUMMER2024 }, leadSourceId: { type: integer, description: 'This is an optional field. This field accepts single value. Lead source ID for promotional code tracking. Requires couponCode if provided.', example: 1001 }, incentiveLimit: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to enable incentive limit, 0 otherwise.', example: 0 }, isSelectable: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 if specials incentive count and incentive limit are equal, 0 otherwise.', example: 1 }, floorPlanIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Floorplan IDs this special applies to.', example: '5001,5002,5003' }, unitTypeIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Unit type IDs this special applies to.', example: '6001,6002' }, unitSpaceIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Unit space IDs this special applies to.', example: '7001,7002,7003' }, leaseTermDetails: { type: array, description: 'This is a required field. Array of lease term details.', items: { type: object, required: [leaseTermId], properties: { leaseTermId: { type: integer, description: 'This is a required field. This field accepts single value. Lease term ID.', example: 8001 } } } }, specialRecipientDetails: { type: object, description: 'This is required if isAdvertised is 1. Defines who qualifies for the special.', required: [specialRecipientIds], properties: { specialTriggerTypeIdProspect: { type: integer, description: 'This is required if specialRecipientIds includes PROSPECTS (ID 1). This field accepts single value. Special trigger type ID for prospects.', example: 9001 }, specialTriggerTypeIdRenewal: { type: integer, description: 'This is required if specialRecipientIds includes RENEWALS (ID 2). This field accepts single value. Special trigger type ID for renewals.', example: 9002 }, specialRecipientIds: { type: string, description: 'This is required if isAdvertised is 1. This field accepts comma separated multiple values. Special recipient IDs (1=Prospects, 2=Renewals, 3=Residents).', example: '1,2' } } }, specialGroupSpaceConfigurationIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Space configuration IDs for this special.', example: '11001,11002' }, specials: { type: array, description: 'This is a required field. Array of special details.', items: { type: object, required: [specialTypeId, specialName], properties: { specialTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Special type ID (1=Standard, 2=Gift Incentive, 3=Homebody Rewards).', example: 1 }, specialName: { type: string, description: 'This is a required field. This field accepts single value. Special name.', example: 'First Month Free' }, giftValue: { type: number, format: float, description: 'This is required if specialTypeId is 2 (GIFT_INCENTIVE) or 3 (HOMEBODY_REWARDS). This field accepts single value. Monetary value of the gift.', example: 500 }, rates: { type: array, description: 'This is required if specialTypeId is 1 (STANDARD). Array of rate details.', items: { type: object, required: [arCodeId, arTriggerId, arCodeTypeId, leaseTermId, arFormulaId, rateAmount], properties: { arCodeId: { type: integer, description: 'This is a required field. This field accepts single value. AR code ID that determines GL posting.', example: 12001 }, arTriggerId: { type: integer, description: 'This is a required field. This field accepts single value. AR trigger ID (event causing rate to post).', example: 13001 }, arCodeTypeId: { type: integer, description: 'This is a required field. This field accepts single value. AR code type ID for the charge code.', example: 14001 }, customerRelationshipId: { type: integer, description: 'This is an optional field. This field accepts single value. Customer relationship ID (primary resident, co-applicant, etc.). Only used for application fees.', example: 1 }, leaseTermId: { type: integer, description: 'This is a required field. This field accepts single value. Lease term ID.', example: 8001 }, leaseTermMonth: { type: integer, description: 'This is an optional field. This field accepts single value. Lease term in months.', example: 12 }, leaseStartWindowId: { type: integer, description: 'This is an optional field. This field accepts single value. Lease start window ID.', example: 1 }, windowStartDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Window start date (used for student housing).', example: '2024-08-01' }, windowEndDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Window end date (used for student housing).', example: '2024-08-31' }, arFormulaId: { type: integer, description: 'This is a required field. This field accepts single value. AR formula ID (1=flat fee, 2=equation, 3=multiplier, 4=lookup table).', example: 1 }, rateIntervalStart: { type: integer, description: 'This is an optional field. This field accepts single value. Month of lease when special should be applied.', example: 1 }, rateAmount: { type: number, format: float, description: 'This is a required field. This field accepts single value. Rate amount (typically negative for discounts).', example: -100 }, rateIncreaseIncrement: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Used for percent-based formulas to calculate rate amount.', example: 0 }, arFormulaReferenceId: { type: integer, description: 'This is an optional field. This field accepts single value. Additional formula information (e.g., charge code ID for percent formulas).', example: 1 }, spaceConfigurationId: { type: integer, description: 'This is an optional field. This field accepts single value. Space configuration ID (used for student housing). 0 means all configurations.', example: 0 }, showInEntrata: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to display in Entrata, 0 to hide.', example: 1 }, showOnWebsite: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to display pricing on website, 0 to hide.', example: 1 } } } } } } } } } }, description: 'Method parameters' } } } } }, updateAmenities-r1-request-schema: { description: 'Updates existing amenities for property, unit type, floorplan, or unit space levels with details including name, description, visibility settings, video URL, amenity type, and associations.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateAmenities], description: 'Method name to be called', example: updateAmenities }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. The property ID.', example: 1234 }, propertyAmenities: { type: object, properties: { propertyAmenity: { type: array, description: 'Array of property amenity objects to update', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'This is a required field. This field accepts single value. This node should accept the amenity id which needs to be updated.', example: 1001 }, name: { type: string, description: 'This is a required field. This field accepts single value. This accepts name of the amenity.', example: 'Updated Pool Access' }, description: { type: string, description: 'This is an optional field. This field accepts single value. This node should accept the amenity description.', example: 'Updated description for pool access' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to publish the amenity, 0 to keep it unpublished.', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark amenity as featured, 0 otherwise.', example: 0 }, showOnQuote: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to show amenity on quote, 0 otherwise.', example: 1 }, hideDescription: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide amenity description, 0 to show it.', example: 0 }, videoUrl: { type: string, description: 'This is an optional field. This field accepts single value. URL for amenity video. Must be a valid URL starting with http://, https://, or /.', example: 'https://example.com/videos/pool-tour.mp4' }, defaultAmenityId: { type: integer, description: 'This is an optional field. This field accepts single value. Reference to a default amenity ID.', example: 500 }, amenityTypeId: { type: integer, enum: [1, 2, 3], description: 'This is an optional field. This field accepts single value. Type of amenity - 1 for APARTMENT, 2 for COMMUNITY, 3 for NEGATIVE_FEATURES.', example: 2 } } } } } }, unitTypeAmenities: { type: object, properties: { unitTypeAmenity: { type: array, description: 'Array of unit type amenity objects to update', items: { type: object, required: [id, name, associatedUnitTypeIds], properties: { id: { type: integer, description: 'This is a required field. This field accepts single value. Unit type amenity ID to update.', example: 2001 }, name: { type: string, description: 'This is a required field. This field accepts single value. Updated amenity name.', example: 'Updated Balcony' }, description: { type: string, description: 'This is an optional field. This field accepts single value. Updated amenity description.', example: 'Updated description for balcony' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Whether the amenity is published (0=No, 1=Yes).', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark amenity as featured, 0 otherwise.', example: 0 }, hideDescription: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide amenity description, 0 to show it.', example: 0 }, videoUrl: { type: string, description: 'This is an optional field. This field accepts single value. URL for amenity video. Must be a valid URL starting with http://, https://, or /.', example: 'https://example.com/videos/balcony-view.mp4' }, defaultAmenityId: { type: integer, description: 'This is an optional field. This field accepts single value. Reference to a default amenity ID.', example: 501 }, amenityTypeId: { type: integer, enum: [1, 2, 3], description: 'This is an optional field. This field accepts single value. Type of amenity - 1 for APARTMENT, 2 for COMMUNITY, 3 for NEGATIVE_FEATURES.', example: 1 }, associatedUnitTypeIds: { type: array, description: 'This is a required field. This field accepts array of integer values. Array of unit type IDs to associate with this amenity.', items: { type: integer }, example: [101, 102] } } } } } }, floorplanAmenities: { type: object, properties: { floorplanAmenity: { type: array, description: 'Array of floorplan amenity objects to update', items: { type: object, required: [id, name, associatedFloorplanIds], properties: { id: { type: integer, description: 'This is a required field. This field accepts single value. Floorplan amenity ID to update.', example: 3001 }, name: { type: string, description: 'This is a required field. This field accepts single value. Updated amenity name.', example: 'Updated Hardwood Floors' }, description: { type: string, description: 'This is an optional field. This field accepts single value. Updated amenity description.', example: 'Updated description for hardwood floors' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Whether the amenity is published (0=No, 1=Yes).', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark amenity as featured, 0 otherwise.', example: 1 }, hideDescription: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide amenity description, 0 to show it.', example: 0 }, videoUrl: { type: string, description: 'This is an optional field. This field accepts single value. URL for amenity video. Must be a valid URL starting with http://, https://, or /.', example: 'https://example.com/videos/hardwood-tour.mp4' }, defaultAmenityId: { type: integer, description: 'This is an optional field. This field accepts single value. Reference to a default amenity ID.', example: 502 }, amenityTypeId: { type: integer, enum: [1, 2, 3], description: 'This is an optional field. This field accepts single value. Type of amenity - 1 for APARTMENT, 2 for COMMUNITY, 3 for NEGATIVE_FEATURES.', example: 1 }, associatedFloorplanIds: { type: array, description: 'This is a required field. This field accepts array of integer values. Array of floorplan IDs to associate with this amenity.', items: { type: integer }, example: [201, 202] } } } } } }, unitSpaceAmenities: { type: object, properties: { unitSpaceAmenity: { type: array, description: 'Array of unit space amenity objects to update', items: { type: object, required: [id, name, associatedUnitSpaceIds], properties: { id: { type: integer, description: 'This is a required field. This field accepts single value. Unit space amenity ID to update.', example: 4001 }, name: { type: string, description: 'This is a required field. This field accepts single value. Updated amenity name.', example: 'Updated Walk-in Closet' }, description: { type: string, description: 'This is an optional field. This field accepts single value. Updated amenity description.', example: 'Updated description for walk-in closet' }, isPublished: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Whether the amenity is published (0=No, 1=Yes).', example: 1 }, isFeatured: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to mark amenity as featured, 0 otherwise.', example: 0 }, showOnQuote: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to show amenity on quote, 0 otherwise.', example: 1 }, hideDescription: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide amenity description, 0 to show it.', example: 0 }, videoUrl: { type: string, description: 'This is an optional field. This field accepts single value. URL for amenity video. Must be a valid URL starting with http://, https://, or /.', example: 'https://example.com/videos/closet-feature.mp4' }, defaultAmenityId: { type: integer, description: 'This is an optional field. This field accepts single value. Reference to a default amenity ID.', example: 503 }, amenityTypeId: { type: integer, enum: [1, 2, 3], description: 'This is an optional field. This field accepts single value. Type of amenity - 1 for APARTMENT, 2 for COMMUNITY, 3 for NEGATIVE_FEATURES.', example: 1 }, associatedUnitSpaceIds: { type: array, description: 'This is a required field. This field accepts array of integer values. Array of unit space IDs to associate with this amenity.', items: { type: integer }, example: [301, 302] } } } } } } }, description: 'Method parameters' } } } } }, updateSpecialGroup-r1-request-schema: { description: 'Updates an existing special group or deletes it if isDeleted is set to 1. Supports updating specials, lease terms, associations, conditions, lead sources, and recipient restrictions.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateSpecialGroup], description: 'Method name to be called', example: updateSpecialGroup }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [propertyId, specialGroup], properties: { propertyId: { type: integer, description: 'This is a required field. This field accepts single value. Property ID where the special group will be updated.', example: 1234 }, specialGroup: { type: object, required: [specialGroupId, specialGroupName, isActive, isWebVisible, isAdvertised, quantityBudgeted, leaseTermDetails, specials], properties: { specialGroupId: { type: integer, description: 'This is a required field. This field accepts single value. Special group ID to update.', example: 15001 }, isDeleted: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to delete the special group, 0 to update.', example: 0 }, specialGroupName: { type: string, description: 'This is a required field. This field accepts single value. Special group name.', example: 'Updated Summer Special 2024' }, internalDescription: { type: string, description: 'This is an optional field. This field accepts single value. Internal description not visible to residents.', example: 'Updated internal notes' }, isActive: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 if special is active, 0 if inactive.', example: 1 }, isWebVisible: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 to show in advertising, 0 to hide.', example: 1 }, startDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Start date when special advertising begins.', example: '2024-06-01' }, endDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. End date when special advertising concludes.', example: '2024-09-30' }, hideEndDate: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to hide end date in advertising, 0 to show.', example: 0 }, marketingDescription: { type: string, description: 'This is an optional field. This field accepts single value. Description shown to residents.', example: 'Updated limited time summer special offer' }, termsAndConditions: { type: string, description: 'This is an optional field. This field accepts single value. Terms and conditions displayed with the special.', example: 'Updated terms and conditions apply' }, isAdvertised: { type: integer, enum: [0, 1], description: 'This is a required field. This field accepts single value. Set to 1 for automatic special, 0 for manual-only special. If isWebVisible is 1, isAdvertised must be 1.', example: 1 }, moveInDateFrom: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Minimum move-in date to qualify as eligible.', example: '2024-06-01' }, moveInDateTo: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Maximum move-in date to qualify as eligible.', example: '2024-09-30' }, renewalStartDateFrom: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Minimum renewal start date to qualify as eligible.', example: '2024-06-01' }, renewalStartDateTo: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Maximum renewal start date to qualify as eligible.', example: '2024-09-30' }, limitQuantity: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to limit quantity, 0 for unlimited.', example: 1 }, quantityBudgeted: { type: integer, description: 'This is a required field. This field accepts single value. Number of specials to be given (must be > 0 if limitQuantity is 1).', example: 75 }, couponCode: { type: string, description: 'This is an optional field. This field accepts single value. Promotional code required during application. Required if leadSourceId is provided.', example: SUMMER2024 }, leadSourceId: { type: integer, description: 'This is an optional field. This field accepts single value. Lead source ID for promotional code tracking. Requires couponCode if provided.', example: 1001 }, incentiveLimit: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to enable incentive limit, 0 otherwise.', example: 0 }, isSelectable: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 if specials incentive count and incentive limit are equal, 0 otherwise.', example: 1 }, floorPlanIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Floorplan IDs this special applies to.', example: '5001,5002,5003' }, unitTypeIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Unit type IDs this special applies to.', example: '6001,6002' }, unitSpaceIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Unit space IDs this special applies to.', example: '7001,7002,7003' }, leaseTermDetails: { type: array, description: 'This is a required field. Array of lease term details.', items: { type: object, required: [leaseTermId], properties: { leaseTermId: { type: integer, description: 'This is a required field. This field accepts single value. Lease term ID.', example: 8001 } } } }, specialRecipientDetails: { type: object, description: 'This is required if isAdvertised is 1. Defines which customer types qualify.', required: [specialRecipientIds], properties: { specialTriggerTypeIdProspect: { type: integer, description: 'This is required if specialRecipientIds includes PROSPECTS (ID 1). This field accepts single value. Special trigger type ID applicable to prospect recipients.', example: 9001 }, specialTriggerTypeIdRenewal: { type: integer, description: 'This is required if specialRecipientIds includes RENEWALS (ID 2). This field accepts single value. Special trigger type ID applicable to renewal recipients.', example: 9002 }, specialRecipientIds: { type: string, description: 'This is required if isAdvertised is 1. This field accepts comma separated multiple values. Special recipient IDs (1=Prospects, 2=Renewals, 3=Residents).', example: '1,2' } } }, specialGroupSpaceConfigurationIds: { type: string, description: 'This is an optional field. This field accepts comma separated multiple values. Space configuration IDs applicable to this special group.', example: '11001,11002' }, specials: { type: array, description: 'This is a required field. Array of special details to update.', items: { type: object, required: [specialId, specialTypeId, specialName], properties: { specialId: { type: integer, description: 'This is a required field. This field accepts single value. Special ID to update.', example: 20001 }, specialTypeId: { type: integer, description: 'This is a required field. This field accepts single value. Special type ID (1=Standard, 2=Gift Incentive, 3=Homebody Rewards).', example: 1 }, specialName: { type: string, description: 'This is a required field. This field accepts single value. Special name.', example: 'Updated First Month Free' }, giftValue: { type: number, format: float, description: 'This is required if specialTypeId is 2 (GIFT_INCENTIVE) or 3 (HOMEBODY_REWARDS). This field accepts single value. Monetary value of the gift.', example: 500 }, rates: { type: array, description: 'This is required if specialTypeId is 1 (STANDARD). Array of rate details.', items: { type: object, required: [arCodeId, arTriggerId, arCodeTypeId, leaseTermId, arFormulaId, rateAmount], properties: { arCodeId: { type: integer, description: 'This is a required field. This field accepts single value. AR code ID that determines GL posting.', example: 12001 }, arTriggerId: { type: integer, description: 'This is a required field. This field accepts single value. AR trigger ID (event causing rate to post).', example: 13001 }, arCodeTypeId: { type: integer, description: 'This is a required field. This field accepts single value. AR code type ID associated with the charge code.', example: 14001 }, customerRelationshipId: { type: integer, description: 'This is an optional field. This field accepts single value. Customer relationship ID (primary resident, co-applicant, etc.). Only used for application fees.', example: 1 }, leaseTermId: { type: integer, description: 'This is a required field. This field accepts single value. Lease term ID.', example: 8001 }, leaseTermMonth: { type: integer, description: 'This is an optional field. This field accepts single value. Lease term in months.', example: 12 }, leaseStartWindowId: { type: integer, description: 'This is an optional field. This field accepts single value. Lease start window ID.', example: 1 }, windowStartDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Window start date (used for student housing).', example: '2024-08-01' }, windowEndDate: { type: string, format: date, description: 'This is an optional field. This field accepts single value in YYYY-MM-DD format. Window end date (used for student housing).', example: '2024-08-31' }, arFormulaId: { type: integer, description: 'This is a required field. This field accepts single value. AR formula ID (1=flat fee, 2=equation, 3=multiplier, 4=lookup table).', example: 1 }, rateIntervalStart: { type: integer, description: 'This is an optional field. This field accepts single value. Month of lease when special should be applied.', example: 1 }, rateAmount: { type: number, format: float, description: 'This is a required field. This field accepts single value. Rate amount (typically negative for discounts).', example: -150 }, rateIncreaseIncrement: { type: number, format: float, description: 'This is an optional field. This field accepts single value. Used for percent-based formulas to calculate rate amount.', example: 0 }, arFormulaReferenceId: { type: integer, description: 'This is an optional field. This field accepts single value. Additional formula information (e.g., charge code ID for percent formulas).', example: 1 }, spaceConfigurationId: { type: integer, description: 'This is an optional field. This field accepts single value. Space configuration ID (used for student housing). 0 means all configurations.', example: 0 }, showInEntrata: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to display in Entrata, 0 to hide.', example: 1 }, showOnWebsite: { type: integer, enum: [0, 1], description: 'This is an optional field. This field accepts single value. Set to 1 to display pricing on website, 0 to hide.', example: 1 } } } } } } } } } }, description: 'Method parameters' } } } } }, getAmenities-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Amenities], properties: { Amenities: { type: object, properties: { currencyCode: { type: string, description: 'Currency code for the property', example: USD }, PropertyAmenities: { type: object, description: 'Property-level amenities', properties: { Amenity: { type: array, description: 'List of property amenities', items: { type: object, properties: { '@attributes': { type: object, description: 'Amenity attributes', properties: { Id: { type: integer, description: 'Amenity ID', example: 1001 }, ExternalId: { type: string, description: 'External ID for the amenity (optional)', example: EXT-1001 }, IsOptional: { type: integer, enum: [0, 1], description: 'Whether this amenity is optional (1) or not (0)', example: 1 }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether this amenity is published (1) or not (0)', example: 1 }, IsFeatured: { type: integer, enum: [0, 1], description: 'Whether this amenity is featured (1) or not (0)', example: 0 }, HideRates: { type: integer, enum: [0, 1], description: 'Whether to hide rates (1) or show them (0)', example: 0 }, AmenityType: { type: string, description: 'Type of amenity (Community or Apartment)', example: Community }, ILSAmenityName: { type: string, description: 'ILS-standardized amenity name', example: Pool } } }, Name: { type: string, description: 'Amenity name', example: 'Swimming Pool' }, ImageUrl: { type: string, description: 'URL to amenity image (optional)', example: 'https://example.com/images/pool.jpg' }, Description: { type: string, description: 'Amenity description (optional)', example: 'Outdoor swimming pool with lounge area' }, Rates: { type: object, description: 'Rates for this amenity', properties: { Rate: { type: array, description: 'List of rate entries', items: { type: object, properties: { '@attributes': { type: object, description: 'Rate attributes', properties: { ArCodeId: { type: integer, description: 'AR code ID', example: 5001 }, ArCodeTypeId: { type: integer, description: 'AR code type ID', example: 3 }, ChargeTypeId: { type: integer, description: 'Charge type/trigger ID', example: 1 }, Amount: { type: string, description: 'Rate amount (formatted)', example: '25.00' }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether rate is published (1) or not (0)', example: 1 }, IsActive: { type: integer, enum: [0, 1], description: 'Whether rate is active (1) or not (0)', example: 1 }, LeaseTermId: { type: integer, description: 'Lease term ID (optional)', example: 3001 }, LeaseStartWindowId: { type: integer, description: 'Lease start window ID (optional)', example: 4001 } } } } } } } } } } } } }, UnitAmenities: { type: object, description: 'Unit-level amenities', properties: { Amenity: { type: array, description: 'List of unit amenities', items: { type: object, properties: { '@attributes': { type: object, description: 'Amenity attributes', properties: { Id: { type: integer, description: 'Amenity ID', example: 1002 }, IsStandardAmenity: { type: string, enum: ['0', '1'], description: 'Whether this is a standard amenity (1) or not (0)', example: '0' }, AmenityType: { type: string, description: 'Type of amenity (Community or Apartment)', example: Apartment }, ILSAmenityName: { type: string, description: 'ILS-standardized amenity name', example: Dishwasher } } }, Name: { type: string, description: 'Amenity name', example: Dishwasher }, ImageUrl: { type: string, description: 'URL to amenity image (optional)', example: 'https://example.com/images/dishwasher.jpg' }, Description: { type: string, description: 'Amenity description (optional)', example: 'Built-in dishwasher' }, Units: { type: object, description: 'Units associated with this amenity', properties: { Unit: { type: array, description: 'List of units', items: { type: object, properties: { '@attributes': { type: object, description: 'Unit attributes', properties: { PropertyUnitId: { type: integer, description: 'Property unit ID', example: 5001 }, UnitSpaceId: { type: integer, description: 'Unit space ID', example: 7001 }, ExternalId: { type: string, description: 'External ID (optional)', example: EXT-5001 }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether this is published (1) or not (0)', example: 1 }, IsFeatured: { type: integer, enum: [0, 1], description: 'Whether this is featured (1) or not (0)', example: 0 }, HideRates: { type: integer, enum: [0, 1], description: 'Whether to hide rates (1) or show them (0)', example: 0 }, ShowDescription: { type: integer, enum: [0, 1], description: 'Whether to show description (1) or hide it (0)', example: 1 } } }, Rates: { type: object, description: 'Rates for this unit amenity', properties: { Rate: { type: array, description: 'List of rate entries', items: { type: object, properties: { '@attributes': { type: object, description: 'Rate attributes', properties: { ArCodeId: { type: integer, description: 'AR code ID', example: 5002 }, ArCodeTypeId: { type: integer, description: 'AR code type ID', example: 3 }, ChargeTypeId: { type: integer, description: 'Charge type/trigger ID', example: 1 }, Amount: { type: string, description: 'Rate amount (formatted)', example: '0.00' }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether rate is published (1) or not (0)', example: 1 }, IsActive: { type: integer, enum: [0, 1], description: 'Whether rate is active (1) or not (0)', example: 1 }, LeaseTermId: { type: integer, description: 'Lease term ID (optional)', example: 3001 }, LeaseStartWindowId: { type: integer, description: 'Lease start window ID (optional)', example: 4001 } } } } } } } } } } } } } } } } } }, FloorplanAmenities: { type: object, description: 'Floorplan-level amenities', properties: { Amenity: { type: array, description: 'List of floorplan amenities', items: { type: object, properties: { '@attributes': { type: object, description: 'Amenity attributes', properties: { Id: { type: integer, description: 'Amenity ID', example: 1003 }, IsStandardAmenity: { type: string, enum: ['0', '1'], description: 'Whether this is a standard amenity (1) or not (0)', example: '0' }, AmenityType: { type: string, description: 'Type of amenity', example: Apartment }, ILSAmenityName: { type: string, description: 'ILS-standardized amenity name', example: HardwoodFloors } } }, Name: { type: string, description: 'Amenity name', example: 'Hardwood Floors' }, ImageUrl: { type: string, description: 'URL to amenity image (optional)', example: 'https://example.com/images/hardwood.jpg' }, Description: { type: string, description: 'Amenity description (optional)', example: 'Premium hardwood flooring' }, Floorplans: { type: object, description: 'Floorplans associated with this amenity', properties: { Floorplan: { type: array, description: 'List of floorplans', items: { type: object, properties: { '@attributes': { type: object, description: 'Floorplan attributes', properties: { PropertyFloorplanId: { type: integer, description: 'Property floorplan ID', example: 3001 }, ExternalId: { type: string, description: 'External ID (optional)', example: EXT-3001 }, IsOptional: { type: integer, enum: [0, 1], description: 'Whether this is optional (1) or not (0)', example: 1 }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether this is published (1) or not (0)', example: 1 }, IsFeatured: { type: integer, enum: [0, 1], description: 'Whether this is featured (1) or not (0)', example: 0 } } }, Rates: { type: object, description: 'Rates for this floorplan amenity', properties: { Rate: { type: array, description: 'List of rate entries', items: { type: object, properties: { '@attributes': { type: object, description: 'Rate attributes', properties: { ArCodeId: { type: integer, description: 'AR code ID', example: 5003 }, ArCodeTypeId: { type: integer, description: 'AR code type ID', example: 3 }, ChargeTypeId: { type: integer, description: 'Charge type/trigger ID', example: 1 }, Amount: { type: string, description: 'Rate amount (formatted)', example: '0.00' }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether rate is published (1) or not (0)', example: 1 }, IsActive: { type: integer, enum: [0, 1], description: 'Whether rate is active (1) or not (0)', example: 1 }, LeaseTermId: { type: integer, description: 'Lease term ID (optional)', example: 3001 }, LeaseStartWindowId: { type: integer, description: 'Lease start window ID (optional)', example: 4001 } } } } } } } } } } } } } } } } } }, UnitTypeAmenities: { type: object, description: 'Unit type-level amenities', properties: { Amenity: { type: array, description: 'List of unit type amenities', items: { type: object, properties: { '@attributes': { type: object, description: 'Amenity attributes', properties: { Id: { type: integer, description: 'Amenity ID', example: 1004 }, IsStandardAmenity: { type: string, enum: ['0', '1'], description: 'Whether this is a standard amenity (1) or not (0)', example: '0' }, AmenityType: { type: string, description: 'Type of amenity', example: Apartment }, ILSAmenityName: { type: string, description: 'ILS-standardized amenity name', example: Balcony } } }, Name: { type: string, description: 'Amenity name', example: Balcony }, ImageUrl: { type: string, description: 'URL to amenity image (optional)', example: 'https://example.com/images/balcony.jpg' }, Description: { type: string, description: 'Amenity description (optional)', example: 'Private balcony with city view' }, Units: { type: object, description: 'Units associated with this amenity', properties: { Unit: { type: array, description: 'List of units', items: { type: object, properties: { '@attributes': { type: object, description: 'Unit attributes', properties: { PropertyUnitId: { type: integer, description: 'Property unit ID', example: 5001 }, ExternalId: { type: string, description: 'External ID (optional)', example: EXT-5001 }, IsOptional: { type: integer, enum: [0, 1], description: 'Whether this is optional (1) or not (0)', example: 1 }, IsPublished: { type: integer, enum: [0, 1], description: 'Whether this is published (1) or not (0)', example: 1 }, IsFeatured: { type: integer, enum: [0, 1], description: 'Whether this is featured (1) or not (0)', example: 0 } } }, Rates: { type: object, description: 'Rates for this unit type amenity', properties: { Rate: { type: array, description: 'List of rate entries', items: { type: object, properties: { '@attributes': { type: object, description: 'Rate attributes', properties: { ArCodeId: { type: integer, description: 'AR code ID', example: 5004 }, ChargeTypeId: { type: integer, description: 'Charge type/trigger ID', example: 1 }, Amount: { type: string, description: 'Rate amount (formatted)', example: '50.00' } } } } } } } } } } } } } } } } } } } } } } } } } }, getMitsPropertyUnits-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [PhysicalProperty], properties: { PhysicalProperty: { type: object, required: [Management, Property], properties: { Management: { type: object, required: [Identification, PropertyContacts], properties: { Identification: { type: object, description: 'Management company identification', required: [IDValue, OrganizationName], properties: { IDValue: { type: integer, description: 'Client ID', example: 1001 }, OrganizationName: { type: string, description: 'Organization name', example: 'Sample Property Management' } } }, PropertyContacts: { type: object, required: [Companies], properties: { Companies: { type: object, required: [Identification, CompanyName], properties: { Identification: { type: object, description: 'Company identification information', required: [IDValue], properties: { IDValue: { type: integer, description: 'Company ID', example: 1001 } } }, CompanyName: { type: string, description: 'Company name', example: 'Sample Property Management' }, WebSite: { type: string, description: 'Company website URL', example: 'https://www.samplepm.com' } } } } } } }, Property: { type: array, description: 'Array of property information', items: { type: object, required: [Identification, PropertyID], properties: { Identification: { type: object, description: 'Property identification with IDScopeType and IDRank attributes', required: ['@attributes', IDValue], properties: { '@attributes': { type: object, required: [IDScopeType, IDRank], properties: { IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDValue: { type: integer, description: 'Property ID', example: 1234 } } }, PropertyID: { type: object, description: 'Detailed property identification and contact information', properties: { Identification: { type: object, description: 'Property identification with attributes and values', properties: { '@attributes': { type: object, required: [IDScopeType, IDRank], properties: { IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDValue: { type: integer, description: 'Property ID', example: 1234 }, OrganizationName: { type: string, description: 'Remote primary key or organization name', example: PROP-1234 } } }, MarketingName: { type: string, description: 'Property marketing name', example: 'Sample Apartment Complex' }, LegalName: { type: string, description: 'Property legal name', example: 'Sample Apartment Complex' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, WebSite: { type: string, description: 'Property website URL', example: 'https://www.sampleapartments.com' }, Address: { type: object, description: 'Property address information', properties: { '@attributes': { type: object, required: [AddressType], properties: { AddressType: { type: string, description: 'Type of address', example: property } } }, Address: { type: string, description: 'Combined street address lines', example: '123 Main Street' }, City: { type: string, description: 'City name', example: Anytown }, State: { type: string, description: 'State code', example: CA }, PostalCode: { type: string, description: 'ZIP/postal code', example: '12345' }, Country: { type: string, description: 'Country code', example: US }, Email: { type: string, description: 'Property office email address', example: info@samplepm.com } } }, Phone: { type: array, description: 'Array of phone numbers', items: { type: object, properties: { '@attributes': { type: object, required: [PhoneType], properties: { PhoneType: { type: string, enum: [office, fax, other], description: 'Type of phone number (office, fax, or other)', example: office } } }, PhoneNumber: { type: string, description: 'Phone number', example: '5551234567' }, PhoneDescription: { type: string, description: 'Description of phone type (Office, Fax, Maintenance, Maintenance Emergency, or custom name)', example: Office }, Extension: { type: string, description: 'Phone extension (optional)', example: '123' } } } } } }, ILS_Identification: { type: object, description: 'ILS identification with property type and location data', properties: { '@attributes': { type: object, required: [ILS_IdentificationType, RentalType], properties: { ILS_IdentificationType: { type: string, enum: [Apartment, SingleFamily, Campus, Military, Subsidized], description: 'Type of property (Apartment, SingleFamily, Campus, Military, Subsidized)', example: Apartment }, RentalType: { type: string, description: 'Rental type', example: Unspecified } } }, Latitude: { type: number, description: 'Property latitude coordinate', example: 37.7749 }, Longitude: { type: number, description: 'Property longitude coordinate', example: -122.4194 }, DaylightSaving: { type: boolean, description: 'Whether property observes daylight saving time', example: true }, TimeZone: { type: string, description: 'Property timezone name', example: America/Los_Angeles } } }, Information: { type: object, description: 'Detailed property information', properties: { StructureType: { type: string, description: 'Type of structure', example: Apartment }, BuildingCount: { type: integer, description: 'Number of buildings', example: 3 }, UnitCount: { type: integer, description: 'Total number of units', example: 150 }, YearBuilt: { type: integer, description: 'Year property was built', example: 2015 }, YearRemodeled: { type: integer, description: 'Year property was remodeled', example: 2020 }, OfficeHour: { type: array, description: 'Office hours for each day', items: { type: object, properties: { Day: { type: string, description: 'Day of the week', example: Monday }, OpenTime: { type: string, description: 'Opening time', example: '09:00 AM' }, CloseTime: { type: string, description: 'Closing time', example: '05:00 PM' } } } }, ShortDescription: { type: string, description: 'Short property description', example: 'Luxury apartments in downtown' }, LongDescription: { type: string, description: 'Long property description', example: 'Experience luxury living in our beautifully appointed apartments...' }, LeaseLength: { type: string, description: 'Available lease lengths (comma-separated)', example: '6 months, 12 months, 18 months' }, DrivingDirections: { type: string, description: 'Driving directions to property', example: 'Take I-80 East to Exit 12...' }, PropertyAvailabilityURL: { type: string, description: 'URL to property availability page', example: 'https://www.samplepm.com/anytown-ca/sample-apartment-complex' } } }, Fee: { type: object, description: 'Application and other fees', properties: { ApplicationFee: { type: array, description: 'Array of application fees', items: { type: object, properties: { '@attributes': { type: object, required: [Type, Amount], properties: { Type: { type: string, description: 'Fee type name (AR trigger name)', example: 'Application Fee' }, Amount: { type: number, description: 'Fee amount', example: 50 } } } } } } } }, Concession: { type: array, description: 'Array of property specials/concessions', items: { type: object, properties: { '@attributes': { type: object, required: [Active], properties: { Active: { type: integer, description: 'Whether concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession value/amount', example: 500 }, Term: { type: integer, description: 'Lease term in months for concession', example: 12 }, DescriptionHeader: { type: string, description: 'Concession name/header', example: 'Move-in Special' }, DescriptionBody: { type: string, description: 'Concession description', example: 'Get $500 off first month rent' }, DescriptionFooter: { type: string, description: 'Additional concession notes', example: 'Valid for 12-month leases only' } } } }, Amenity: { type: array, description: 'Array of property amenities', items: { type: object, properties: { '@attributes': { type: object, required: [AmenityType], properties: { AmenityType: { type: string, description: 'Type of amenity', example: Community } } }, Description: { type: string, description: 'Amenity name/description', example: 'Swimming Pool' } } } }, Policy: { type: object, description: 'Property policies', properties: { Pet: { type: array, description: 'Pet policies', items: { type: object, properties: { '@attributes': { type: object, required: [Allowed], properties: { Allowed: { type: string, description: 'Whether pets are allowed', example: 'true' } } }, Pets: { type: object, properties: { '@attributes': { type: object, properties: { Count: { type: integer, description: 'Maximum number of pets allowed', example: 2 }, Description: { type: string, description: 'Pet policy description', example: 'Small dogs and cats welcome' }, PetType: { type: string, description: 'Type of pet (Dog, Cat, Bird, etc.)', example: Dog }, Weight: { type: integer, description: 'Maximum pet weight in pounds', example: 50 } } } } }, Deposit: { type: number, description: 'Pet deposit amount', example: 300 }, Fee: { type: number, description: 'One-time pet fee', example: 250 }, Rent: { type: number, description: 'Monthly pet rent', example: 25 }, PetCare: { type: string, description: 'Whether pet care services are available', example: 'true' }, Restrictions: { type: string, description: 'Pet policy restrictions', example: 'Aggressive breeds not allowed' } } } }, General: { type: string, description: 'General property policies (parking, etc.)', example: 'Parking available for $50/month' } } }, Building: { type: array, description: 'Array of buildings on the property', items: { type: object, properties: { Identification: { type: object, description: 'Building identification information', required: ['@attributes', IDValue], properties: { '@attributes': { type: object, required: [IDScopeType, IDRank], properties: { IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDValue: { type: integer, description: 'Building ID', example: 101 }, OrganizationName: { type: string, description: 'Remote primary key (optional)', example: BLDG-101 } } }, BuildingType: { type: string, description: 'Type of building (optional)', example: Garden }, Name: { type: string, description: 'Building name', example: 'Building A' }, Description: { type: string, description: 'Building description', example: 'Modern garden-style building with elevator access' }, UnitCount: { type: integer, description: 'Number of units in the building', example: 24 }, SquareFeet: { type: integer, description: 'Total square feet of the building', example: 18000 }, File: { type: object, description: 'Building media file (optional, single file)', properties: { '@attributes': { type: object, required: [FileID, Active], properties: { FileID: { type: integer, description: 'File ID', example: 4001 }, Active: { type: string, description: 'Whether file is active', enum: ['true', 'false'], example: 'true' } } }, FileType: { type: string, description: 'Type of file', example: Photo }, Description: { type: string, description: 'File description (optional)', example: 'Building exterior view' }, Name: { type: string, description: 'File name', example: building_a_exterior.jpg }, Caption: { type: string, description: 'File caption (optional)', example: 'Building A Exterior' }, Format: { type: string, description: 'File format', example: jpg }, Src: { type: string, description: 'File source URL', example: 'https://media.samplepm.com/buildings/building_a_exterior.jpg' }, Width: { type: string, description: 'Image width (optional)', example: '1920' }, Height: { type: string, description: 'Image height (optional)', example: '1080' }, Rank: { type: integer, description: 'Display order rank', example: 1 } } } } } }, Floorplan: { type: array, description: 'Array of floorplans', items: { type: object, properties: { Identification: { type: object, description: 'Floorplan identification information', properties: { '@attributes': { type: object, required: [IDScopeType, IDRank], properties: { IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDValue: { type: integer, description: 'Floorplan ID', example: 5001 }, OrganizationName: { type: string, description: 'Remote primary key', example: FP-5001 } } }, Name: { type: string, description: 'Floorplan name', example: '1 Bedroom' }, Comment: { type: string, description: 'Floorplan description/comments', example: 'Spacious 1 bedroom with balcony' }, UnitCount: { type: integer, description: 'Total units with this floorplan', example: 45 }, UnitsAvailable: { type: integer, description: 'Number of available units', example: 5 }, DisplayedUnitsAvailable: { type: integer, description: 'Number of units to display (limited by preferences)', example: 3 }, FloorCount: { type: integer, description: 'Number of floors in this floorplan', example: 1 }, TotalRoomCount: { type: integer, description: 'Total number of rooms', example: 4 }, FloorplanAvailabilityURL: { type: string, description: 'URL to floorplan availability page', example: 'https://www.samplepm.com/floorplans/1-bedroom-5001' }, Room: { type: array, description: 'Array of rooms in floorplan', items: { type: object, properties: { '@attributes': { type: object, required: [RoomType], properties: { RoomType: { type: string, description: 'Type of room (Bedroom, Bathroom)', example: Bedroom } } }, Count: { type: number, description: 'Number of this room type', example: 1 }, Description: { type: string, description: 'Room description', example: 'Master Bedroom' }, Comment: { type: string, description: 'Additional comments', example: Bedroom } } } }, SquareFeet: { type: object, description: 'Square footage information for this floorplan', properties: { '@attributes': { type: object, required: [Avg, Min, Max], properties: { Avg: { type: integer, description: 'Average square footage', example: 750 }, Min: { type: integer, description: 'Minimum square footage', example: 700 }, Max: { type: integer, description: 'Maximum square footage', example: 800 } } } } }, MarketRent: { type: object, description: 'Market rent range for this floorplan', properties: { '@attributes': { type: object, required: [Min, Max], properties: { Min: { type: number, description: 'Minimum market rent', example: 1200 }, Max: { type: number, description: 'Maximum market rent', example: 1400 } } } } }, Deposit: { type: object, description: 'Security deposit information', properties: { '@attributes': { type: object, required: [DepositType], properties: { DepositType: { type: string, description: 'Type of deposit', example: 'security deposit' } } }, Amount: { type: object, description: 'Deposit amount information', properties: { '@attributes': { type: object, required: [AmountType], properties: { AmountType: { type: string, description: 'Type of amount', example: MonthMultiple } } }, ValueRange: { type: object, description: 'Range of deposit amounts', properties: { '@attributes': { type: object, required: [Min, Max], properties: { Min: { type: string, description: 'Minimum deposit', example: $1200.00 }, Max: { type: string, description: 'Maximum deposit', example: $1400.00 } } } } } } } } }, Concession: { type: array, description: 'Floorplan-specific concessions', items: { type: object, properties: { '@attributes': { type: object, required: [Active], properties: { Active: { type: integer, description: 'Whether concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession value/amount in dollars', example: 500 }, Term: { type: integer, description: 'Lease term in months for this concession', example: 12 }, DescriptionHeader: { type: string, description: 'Concession name/header', example: 'First Month Free' }, DescriptionBody: { type: string, description: 'Concession description details', example: 'Get your first month rent free' }, DescriptionFooter: { type: string, description: 'Additional concession notes or restrictions', example: 'New residents only' } } } }, Amenity: { type: array, description: 'Floorplan-specific amenities', items: { type: object, properties: { '@attributes': { type: object, required: [AmenityType], properties: { AmenityType: { type: string, description: 'Type of amenity', example: Balcony } } }, Description: { type: string, description: 'Amenity name/description', example: 'Private Balcony' } } } }, File: { type: array, description: 'Floorplan images and files', items: { type: object, properties: { '@attributes': { type: object, required: [FileID, Active], properties: { FileID: { type: integer, example: 2001 }, Active: { type: string, description: 'Whether file is active', example: 'true' } } }, FileType: { type: string, description: 'Type of file (Floorplan, Photo, etc.)', example: Floorplan }, Description: { type: string, description: 'File description', example: '2D Floor Plan' }, Name: { type: string, description: 'File name', example: floorplan_1bed.jpg }, Caption: { type: string, description: 'Image caption', example: '1 Bedroom Layout' }, Format: { type: string, description: 'File format/extension', example: jpg }, Src: { type: string, description: 'URL to the file', example: 'https://cdn.example.com/floorplans/1bed.jpg' }, Width: { type: integer, description: 'Image width in pixels', example: 1920 }, Height: { type: integer, description: 'Image height in pixels', example: 1080 }, Rank: { type: integer, description: 'Display order/rank', example: 1 } } } } } } }, ILS_Unit: { type: array, description: 'Array of units or unit spaces (depending on showUnitSpaces parameter)', items: { type: object, properties: { Identification: { type: object, description: 'Unit or unit space identification', properties: { '@attributes': { type: object, required: [IDScopeType, IDRank], properties: { IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDType: { type: string, description: 'Type of ID (UnitID or UnitSpaceID)', example: UnitSpaceID }, IDValue: { type: integer, description: 'Unit or unit space ID', example: 7001 }, OrganizationName: { type: string, description: 'Remote primary key', example: UNIT-7001 } } }, Units: { type: object, description: 'Container for unit information', properties: { Unit: { type: object, description: 'Detailed unit information', properties: { '@attributes': { type: object, required: [BuildingId, FloorPlanId], properties: { BuildingId: { type: integer, description: 'Building ID where unit is located', example: 101 }, FloorPlanId: { type: integer, description: 'Floorplan ID for this unit', example: 5001 } } }, Identification: { type: object, description: 'Unit identification information', properties: { '@attributes': { type: object, required: [IDType, IDScopeType, IDRank], properties: { IDType: { type: string, description: 'ID type', example: UnitID }, IDScopeType: { type: string, description: 'ID scope type', example: sender }, IDRank: { type: string, description: 'ID rank', example: primary } } }, IDValue: { type: integer, description: 'Unit ID', example: 6001 } } }, MarketingName: { type: string, description: 'Unit number or name', example: 101A }, UnitType: { type: string, description: 'Unit type name', example: '1 Bedroom' }, UnitBedrooms: { type: number, description: 'Number of bedrooms', example: 1 }, UnitBathrooms: { type: number, description: 'Number of bathrooms', example: 1 }, MinSquareFeet: { type: integer, description: 'Minimum square feet', example: 750 }, MaxSquareFeet: { type: integer, description: 'Maximum square feet', example: 750 }, SquareFootType: { type: string, description: 'Type of square footage measurement', example: internal }, UnitRent: { type: number, description: 'Unit rent amount', example: 1250 }, MarketRent: { type: number, description: 'Market rent amount', example: 1250 }, UnitOccupancyStatus: { type: string, description: 'Occupancy status (vacant/occupied)', example: vacant }, UnitEconomicStatus: { type: string, description: 'Economic status of unit (residential, commercial, down, model, employee, construction, office, or Other)', example: residential }, UnitEconomicStatusDescription: { type: string, description: "Additional economic status details (used when UnitEconomicStatus is 'Other')", example: 'Corporate Housing' }, NumberOccupants: { type: object, description: 'Maximum occupancy information', properties: { '@attributes': { type: object, required: [Total], properties: { Total: { type: integer, description: 'Maximum occupants allowed', example: 2 } } } } }, FloorplanName: { type: string, description: 'Associated floorplan name', example: '1 Bedroom' }, BuildingName: { type: string, description: 'Building name where unit is located', example: 'Building A' }, ExclusionReason: { type: string, description: 'Reason unit is excluded from marketing', example: 'Model Unit' }, Address: { type: object, description: 'Unit-specific address', properties: { '@attributes': { type: object, required: [AddressType], properties: { AddressType: { type: string, description: 'Type of address', example: property } } }, Address: { type: string, example: '123 Main Street, Unit 101A' }, City: { type: string, example: Anytown }, State: { type: string, example: CA }, Province: { type: string, example: California }, PostalCode: { type: string, example: '12345' }, Country: { type: string, example: US } } } } } } }, Comment: { type: string, description: 'Notes about the unit', example: 'Corner unit with great views' }, EffectiveRent: { type: number, description: 'Effective rent amount', example: 1200 }, FloorLevel: { type: integer, description: 'Floor number where unit is located', example: 1 }, Affordable: { type: object, description: 'Affordable housing information (present only for affordable units)', properties: { '@attributes': { type: object, required: [Type], properties: { Type: { type: string, description: 'Subsidy type (e.g., Section 8, LIHTC, Other)', example: 'Section 8' } } } } }, Availability: { type: object, description: 'Unit availability information', properties: { VacateDate: { type: object, description: 'Date unit was or will be vacated', properties: { '@attributes': { type: object, required: [Month, Day, Year], properties: { Month: { type: string, description: "Month (MM format or '-' if unknown)", example: '01' }, Day: { type: string, description: "Day (DD format or '-' if unknown)", example: '15' }, Year: { type: string, description: "Year (YYYY format or '-' if unknown)", example: '2026' } } } } }, MadeReadyDate: { type: object, description: 'Date unit will be ready for occupancy', properties: { '@attributes': { type: object, required: [Month, Day, Year], properties: { Month: { type: string, description: "Month (MM format or '-' if unknown)", example: '02' }, Day: { type: string, description: "Day (DD format or '-' if unknown)", example: '01' }, Year: { type: string, description: "Year (YYYY format or '-' if unknown)", example: '2026' } } } } }, VacancyClass: { type: string, description: 'Vacancy classification', enum: [Occupied, Unoccupied], example: Unoccupied }, UnitAvailabilityURL: { type: string, description: 'URL for checking unit availability', example: 'https://www.samplepm.com/anytown-ca/sample-apartment-complex/floorplans/1-bedroom-5001/fp_name/occupancy_type/conventional' } } }, Concession: { type: array, description: 'Unit-specific concessions/specials', items: { type: object, properties: { '@attributes': { type: object, required: [Active], properties: { Active: { type: integer, description: 'Whether concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession dollar amount', example: 500 }, Term: { type: integer, description: 'Lease term in months', example: 12 }, DescriptionHeader: { type: string, description: 'Special/concession name', example: 'Move-in Special' }, DescriptionBody: { type: string, description: 'Special description details', example: "Get $500 off your first month's rent" }, DescriptionFooter: { type: string, description: 'Additional notes or restrictions', example: 'Valid for 12-month leases only' } } } }, Amenity: { type: array, description: 'Unit-specific amenities', items: { type: object, properties: { '@attributes': { type: object, required: [AmenityType], properties: { AmenityType: { type: string, example: Washer/Dryer } } }, Description: { type: string, example: 'In-Unit Washer/Dryer' } } } }, File: { type: object, description: 'Unit photo (single media file per unit)', properties: { '@attributes': { type: object, required: [FileID, Active], properties: { FileID: { type: integer, description: 'File ID', example: 8001 }, Active: { type: string, description: 'Whether file is active', example: 'true' } } }, FileType: { type: string, description: 'Type of file', example: Photo }, Description: { type: string, description: 'File description/caption', example: 'Corner unit view' }, Name: { type: string, description: 'File name', example: unit_101a.jpg }, Caption: { type: string, description: 'Image caption', example: 'Beautiful corner unit' }, Format: { type: string, description: 'File format/extension', example: jpg }, Src: { type: string, description: 'URL to the file', example: 'https://cdn.example.com/units/101a.jpg' }, Width: { type: integer, description: 'Image width in pixels', example: 1920 }, Height: { type: integer, description: 'Image height in pixels', example: 1080 }, Rank: { type: integer, description: 'Display order/rank', example: 1 } } } } } }, Utility: { type: object, description: 'Utility information and resident responsibilities', properties: { '@attributes': { type: object, required: [MajorUtility], properties: { MajorUtility: { type: string, description: 'Major utility type', example: Unspecified } } } }, additionalProperties: { type: object, description: 'Dynamic utility nodes (e.g., Electric, Gas, Water, Trash, Sewer)', properties: { '@attributes': { type: object, properties: { isPublished: { type: string, description: 'Whether utility is published', example: 'true' }, ResidentIsResponsible: { type: string, description: 'Whether resident is responsible for this utility', example: 'true' } } } } } }, File: { type: array, description: 'Property photos and files', items: { type: object, properties: { '@attributes': { type: object, required: [FileID, Active], properties: { FileID: { type: integer, description: 'File ID', example: 3001 }, Active: { type: string, description: 'Whether file is active', example: 'true' } } }, FileType: { type: string, description: 'Type of file', example: Photo }, Name: { type: string, description: 'File name', example: property_exterior.jpg }, Format: { type: string, description: 'File format/extension', example: jpg }, Description: { type: string, description: 'File description', example: 'Exterior view of property' }, Caption: { type: string, description: 'Image caption', example: 'Beautiful exterior' }, Src: { type: string, description: 'URL to the file', example: 'https://cdn.example.com/property/exterior.jpg' }, Width: { type: string, description: 'Image width in pixels', example: '1920' }, Height: { type: string, description: 'Image height in pixels', example: '1080' }, Rank: { type: integer, description: 'Display order/rank', example: 1 }, sortRank: { type: integer, description: 'Sort rank for ordering', example: 1 } } } } } } } } } } } } } } }, getPropertyUnits-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [properties], properties: { properties: { type: array, description: 'Array of property information with units', items: { type: object, required: [propertyId, propertyName], properties: { propertyId: { type: integer, description: 'Property ID', example: 1234 }, propertyName: { type: string, description: 'Property name', example: 'Sample Apartment Complex' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, remotePrimaryKey: { type: string, description: 'Remote primary key identifier', example: EXT-PROP-1234 }, parentPropertyId: { type: integer, description: 'Parent property ID if this is a child property', example: 100 }, buildingCount: { type: integer, description: 'Total number of buildings in the property', example: 5 }, unitCount: { type: integer, description: 'Total number of units in the property', example: 250 }, propertyAvailabilityURL: { type: string, description: 'Website URL for property availability', example: 'https://example.com/property-name' }, units: { type: object, properties: { unit: { type: array, description: 'List of units in the property', items: { type: object, required: [id], properties: { id: { type: integer, description: 'Unit ID', example: 6001 }, remotePrimaryKey: { type: string, description: 'Remote primary key identifier for the unit', example: EXT-UNIT-101A }, unitNumber: { type: string, description: 'Unit number', example: 101A }, unitTypeId: { type: integer, description: 'Unit type ID', example: 5 }, unitTypeName: { type: string, description: 'Unit type name', example: Standard }, floorPlanId: { type: integer, description: 'Associated floorplan ID', example: 5001 }, floorplanName: { type: string, description: 'Floorplan name', example: '1 Bedroom A' }, buildingId: { type: integer, description: 'Building ID', example: 301 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, floorId: { type: integer, description: 'Floor ID', example: 401 }, floorNumber: { type: string, description: 'Floor number', example: '1' }, numberOfBedrooms: { type: integer, description: 'Number of bedrooms', example: 1 }, numberOfBathrooms: { type: number, description: 'Number of bathrooms', example: 1 }, SquareFeet: { type: string, description: 'Unit square footage', example: '750' }, maxNumberOccupants: { type: integer, description: 'Maximum number of occupants allowed', example: 2 }, maxNumberOfPets: { type: integer, description: 'Maximum number of pets allowed', example: 2 }, isCorporateRented: { type: string, description: 'Whether the unit is corporate rented (1 for yes, 0 for no)', enum: ['0', '1'], example: '0' }, isFurnished: { type: string, description: 'Whether the unit is furnished (1 for yes, 0 for no)', enum: ['0', '1'], example: '0' }, comment: { type: string, description: 'Additional notes or comments about the unit', example: 'Recently renovated with new appliances' }, unitAddress: { type: object, description: 'Unit address information', properties: { address: { type: string, description: 'Street address', example: '123 Main Street, Apt 101A' }, city: { type: string, description: 'City name', example: Anytown }, state: { type: string, description: 'State code', example: CA }, province: { type: string, description: 'Province name', example: Ontario }, postalCode: { type: string, description: 'ZIP/postal code', example: '12345' }, country: { type: string, description: 'Country code', example: US } } }, unitSpaces: { type: object, properties: { unitSpace: { type: array, description: 'List of unit spaces with pricing details', items: { type: object, required: [unitSpaceId, unitNumber], properties: { unitSpaceId: { type: integer, description: 'Unit space ID', example: 7001 }, unitNumber: { type: string, description: 'Unit number or unit-space combination', example: 101A }, marketingUnitNumber: { type: string, description: 'Marketing unit number', example: A101 }, isAffordable: { type: integer, description: 'Whether this is an affordable housing unit (1 for yes, 0 for no)', enum: [0, 1], example: 0 }, hasPricing: { type: integer, description: 'Whether pricing is available (1 for yes, 0 for no)', enum: [0, 1], example: 1 }, excludedReason: { type: string, description: 'Reason for exclusion if unit is excluded', example: 'Under Renovation' }, makeReadyDate: { type: string, description: 'Make ready date in YYYY-MM-DD format', example: '2024-02-15' }, spaceConfiguration: { type: string, description: 'Space configuration name', example: 'Standard Configuration' }, rent: { type: object, description: 'Rent information with lease terms', properties: { termRent: { type: array, description: 'Array of rent terms with pricing details', items: { type: object, properties: { leaseTermId: { type: integer, description: 'Lease term ID', example: 3001 }, leaseTerm: { type: string, description: 'Lease term in months', example: '12 Months' }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Month Lease' }, isBestPrice: { type: string, description: 'Whether this is the best price (1 for yes)', example: '1' }, spaceOptionId: { type: integer, description: 'Space configuration ID', example: 12 }, spaceOption: { type: string, description: 'Space configuration option name', example: 'Standard Configuration' }, startDate: { type: string, description: 'Lease start date in YYYY-MM-DD format', example: '2024-02-01' }, endDate: { type: string, description: 'Lease end date in YYYY-MM-DD format', example: '2025-01-31' }, rent: { type: string, description: 'Rent amount (formatted with commas)', example: '1,250.00' }, baseRent: { type: string, description: 'Base rent amount (formatted with commas)', example: '1,200.00' }, rateFrequency: { type: string, description: 'Rate frequency (e.g., Monthly)', example: Monthly } } } }, minRent: { type: string, description: 'Minimum rent amount (formatted with commas)', example: '1,200.00' }, maxRent: { type: string, description: 'Maximum rent amount (formatted with commas)', example: '1,400.00' } } }, minDeposit: { type: string, description: 'Minimum deposit amount (formatted with commas)', example: '1,200.00' }, maxDeposit: { type: string, description: 'Maximum deposit amount (formatted with commas)', example: '1,400.00' }, marketRent: { type: number, description: 'Market rent amount', example: 1250 }, occupancyTypeId: { type: integer, description: 'Occupancy type ID', example: 1 }, occupancyTypeName: { type: string, description: 'Occupancy type name', example: Conventional }, exclusionReason: { type: string, description: 'Exclusion reason if unit is excluded', example: 'Maintenance Required' }, availabilityStatus: { type: string, description: 'Unit availability status', example: Available }, effectiveRent: { type: number, description: 'Effective rent amount', example: 1200 }, availableDate: { type: string, description: 'Date unit becomes available in YYYY-MM-DD format', example: '2024-02-01' }, reserveUntil: { type: string, description: 'Reserved until date in MM/DD/YYYY format', example: 02/15/2024 }, unitAvailabilityURL: { type: string, description: 'URL for unit availability on property website', example: 'https://example.com/property-name/floorplans/1-bedroom-a-5001/fp_name/occupancy_type/conventional' }, amenities: { type: object, properties: { amenity: { type: array, description: 'List of amenities associated with this unit space', items: { type: object, properties: { id: { type: integer, description: 'Amenity ID', example: 801 }, name: { type: string, description: 'Amenity name', example: Balcony }, type: { type: string, description: 'Amenity type', example: Apartment } } } } } }, assignableItems: { type: object, properties: { assignableItem: { type: array, description: 'List of assignable items', items: { type: object, properties: { id: { type: integer, description: 'Assignable item ID', example: 1001 }, name: { type: string, description: 'Assignable item name', example: 'Parking Space #A12' } } } } } }, rentableItems: { type: object, properties: { rentableItem: { type: array, description: 'List of rentable items', items: { type: object, properties: { id: { type: integer, description: 'Rentable item ID', example: 2001 }, name: { type: string, description: 'Rentable item name', example: 'Storage Unit #123' } } } } } }, services: { type: object, properties: { service: { type: array, description: 'List of services', items: { type: object, properties: { id: { type: integer, description: 'Service ID', example: 3001 }, name: { type: string, description: 'Service name', example: 'Cable TV' } } } } } } } } } } }, customKeysData: { type: object, properties: { customKeyData: { type: array, description: 'Custom key-value data associated with the unit', items: { type: object, properties: { key: { type: string, description: 'Custom key name', example: LEASE_TYPE }, value: { type: string, description: 'Custom key value', example: Standard }, description: { type: string, description: 'Custom key description', example: 'Type of lease agreement' } } } } } }, files: { type: object, properties: { file: { type: array, description: 'Media files associated with the unit', items: { type: object, properties: { fileId: { type: integer, description: 'File ID', example: 1001 }, fileType: { type: string, description: 'Type of file', example: Photo }, description: { type: string, description: 'File description', example: 'Living Room View' }, name: { type: string, description: 'File name', example: unit_101a_living_room.jpg }, caption: { type: string, description: 'File caption', example: 'Living Room View' }, format: { type: string, description: 'File format/extension', example: jpg }, src: { type: string, description: 'URL to the file', example: 'https://cdn.example.com/units/101a-1.jpg' }, width: { type: integer, description: 'Image width in pixels', example: 1920 }, height: { type: integer, description: 'Image height in pixels', example: 1080 }, rank: { type: integer, description: 'Display order rank', example: 1 } } } } } } } } } } }, pets: { type: object, properties: { pet: { type: array, description: 'Pet policy information for the property', items: { type: object, properties: { type: { type: string, description: 'Pet type name', example: Dog }, deposit: { type: number, description: 'Pet deposit amount', example: 300 }, fee: { type: number, description: 'Pet fee amount', example: 150 }, rent: { type: number, description: 'Monthly pet rent', example: 25 }, count: { type: integer, description: 'Maximum number of pets allowed', example: 2 }, restrictions: { type: string, description: 'Pet restrictions (breed, size, etc.)', example: 'No aggressive breeds' }, petCare: { type: string, description: 'Whether pet care is provided (1 for yes, 0 for no)', enum: ['0', '1'], example: '0' }, description: { type: string, description: 'Pet type description', example: Dog } } } } } } } } } } } } } } }, getSpecials-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [PhysicalProperty], properties: { PhysicalProperty: { type: object, required: [Property], properties: { Property: { type: object, required: [Identification, PropertyID], properties: { Identification: { type: object, required: [IDValue], properties: { IDValue: { type: integer, description: 'Property ID', example: 1234 } } }, PropertyID: { type: object, required: [Identification, MarketingName, LegalName], properties: { Identification: { type: object, required: [IDValue, OrganizationName], properties: { IDValue: { type: integer, description: 'Property ID', example: 1234 }, OrganizationName: { type: string, description: 'Client company name', example: 'Sample Property Management' } } }, MarketingName: { type: string, description: 'Property marketing name', example: 'Sample Apartment Complex' }, LegalName: { type: string, description: 'Property legal name', example: 'Sample Apartment Complex LLC' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD } } }, Concession: { type: array, description: 'List of property-level concessions/specials (applies to entire property)', items: { type: object, required: [Value, DescriptionHeader], properties: { '@attributes': { type: object, properties: { Active: { type: integer, description: 'Whether the concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession value/amount in dollars', example: 500 }, Term: { type: integer, description: 'Lease term in months for which this concession applies', example: 12 }, DescriptionHeader: { type: string, description: 'Concession name/title (public-facing name)', example: 'First Month Free' }, DescriptionBody: { type: string, description: 'Concession public description (only included if not hidden)', example: 'Get your first month rent free when you sign a 12-month lease' }, DescriptionFooter: { type: string, description: 'Internal description/notes (for staff use)', example: 'Internal notes about eligibility requirements' }, StartDate: { type: string, description: 'Concession start date (YYYY-MM-DD format)', example: '2024-01-01' }, EndDate: { type: string, description: 'Concession end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-12-31' }, ProspectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility (YYYY-MM-DD format)', example: '2024-02-01' }, ProspectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility (YYYY-MM-DD format)', example: '2025-01-31' }, RenewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility (YYYY-MM-DD format)', example: '2024-03-01' }, RenewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility (YYYY-MM-DD format)', example: '2025-02-28' }, RecipientTypes: { type: string, description: 'Comma-separated list of recipient types (e.g., New Residents, Current Residents, Transferring Residents)', example: 'New Residents,Current Residents' } } } }, Floorplan: { type: array, description: 'List of floorplans with unit type-specific concessions', items: { type: object, required: [Identification, Name], properties: { Identification: { type: object, required: [IDValue], properties: { IDValue: { type: integer, description: 'Floorplan ID', example: 5001 } } }, Name: { type: string, description: 'Floorplan name', example: '1 Bedroom Deluxe' }, Comment: { type: string, description: 'Floorplan description (HTML tags stripped)', example: 'Spacious 1 bedroom with modern amenities and balcony' }, Concession: { type: array, description: 'List of floorplan/unit type-level concessions', items: { type: object, required: [Value, DescriptionHeader], properties: { '@attributes': { type: object, properties: { Active: { type: integer, description: 'Whether the concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession value/amount in dollars', example: 300 }, Term: { type: integer, description: 'Lease term in months for which this concession applies', example: 12 }, DescriptionHeader: { type: string, description: 'Concession name/title (public-facing name)', example: '1BR Move-in Special' }, DescriptionBody: { type: string, description: 'Concession public description (only included if not hidden)', example: 'Special pricing for 1 bedroom units' }, DescriptionFooter: { type: string, description: 'Internal description/notes (for staff use)', example: 'Internal: Apply to all 1BR units' }, StartDate: { type: string, description: 'Concession start date (YYYY-MM-DD format)', example: '2024-01-15' }, EndDate: { type: string, description: 'Concession end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-06-30' }, ProspectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility (YYYY-MM-DD format)', example: '2024-02-01' }, ProspectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility (YYYY-MM-DD format)', example: '2025-01-31' }, RenewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility (YYYY-MM-DD format)', example: '2024-03-01' }, RenewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility (YYYY-MM-DD format)', example: '2025-02-28' }, RecipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents' } } } } } } }, ILS_Unit: { type: array, description: 'List of specific units with unit-specific concessions', items: { type: object, required: [Units], properties: { Units: { type: object, required: [Unit], properties: { Unit: { type: object, description: 'Unit information', required: [Identification, MarketingName], properties: { '@attributes': { type: object, properties: { BuildingId: { type: integer, description: 'Building ID where unit is located', example: 1001 }, FloorPlanId: { type: integer, description: 'Floorplan ID associated with this unit', example: 5001 } } }, Identification: { type: object, required: [IDValue], properties: { '@attributes': { type: object, properties: { IDRank: { type: string, description: 'ID rank (always "primary")', example: primary }, IDScopeType: { type: string, description: 'ID scope type (always "sender")', example: sender }, IDType: { type: string, description: 'ID type (always "UnitID")', example: UnitID } } }, IDValue: { type: integer, description: 'Unit ID (property_unit_id)', example: 6001 } } }, MarketingName: { type: string, description: 'Unit number/name', example: 101A } } } } }, Concession: { type: array, description: 'List of unit-specific concessions', items: { type: object, required: [Value, DescriptionHeader], properties: { '@attributes': { type: object, properties: { Active: { type: integer, description: 'Whether the concession is active (always 1)', example: 1 } } }, Value: { type: number, description: 'Concession value/amount in dollars', example: 200 }, Term: { type: integer, description: 'Lease term in months for which this concession applies', example: 12 }, DescriptionHeader: { type: string, description: 'Concession name/title (public-facing name)', example: 'Unit 101A Special' }, DescriptionBody: { type: string, description: 'Concession public description (only included if not hidden)', example: 'Exclusive discount for this specific unit' }, DescriptionFooter: { type: string, description: 'Internal description/notes (for staff use)', example: 'Internal: First floor corner unit discount' }, StartDate: { type: string, description: 'Concession start date (YYYY-MM-DD format)', example: '2024-01-01' }, EndDate: { type: string, description: 'Concession end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-12-31' }, ProspectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility (YYYY-MM-DD format)', example: '2024-02-01' }, ProspectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility (YYYY-MM-DD format)', example: '2025-01-31' }, RenewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility (YYYY-MM-DD format)', example: '2024-03-01' }, RenewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility (YYYY-MM-DD format)', example: '2025-02-28' }, RecipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents,Current Residents' } } } } } } } } } } } } } } } } }, getSpecials-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [specials], properties: { specials: { type: object, description: 'Container for all specials data', properties: { propertyId: { type: integer, description: 'Property ID', example: 1234 }, organizationName: { type: string, description: 'Organization/company name', example: 'Sample Property Management' }, marketingName: { type: string, description: 'Property marketing name', example: 'Sample Apartment Complex' }, legalName: { type: string, description: 'Property legal name', example: 'Sample Apartment Complex LLC' }, propertySpecials: { type: object, description: 'Property-level specials (applies to entire property)', properties: { special: { type: array, description: 'Array of property-level specials', items: { type: object, required: [id, name, showOnWebsite, isActive], properties: { id: { type: integer, description: 'Special ID', example: 1001 }, name: { type: string, description: 'Special name', example: 'First Month Free' }, description: { type: string, description: 'Public description (only included if not hidden)', example: 'Get your first month rent free when you sign a 12-month lease' }, note: { type: string, description: 'Internal notes/description', example: 'Internal notes about this special' }, startDate: { type: string, description: 'Special start date (YYYY-MM-DD format)', example: '2024-01-01' }, endDate: { type: string, description: 'Special end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-12-31' }, prospectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility (YYYY-MM-DD format)', example: '2024-02-01' }, prospectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility (YYYY-MM-DD format)', example: '2025-01-31' }, renewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility (YYYY-MM-DD format)', example: '2024-03-01' }, renewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility (YYYY-MM-DD format)', example: '2025-02-28' }, recipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents,Current Residents' }, couponCode: { type: string, description: 'Coupon code for this special', example: MOVE2024 }, cap: { type: integer, description: 'Quantity budgeted/cap for this special', example: 50 }, remaining: { type: integer, description: 'Quantity remaining for this special', example: 35 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 1 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Move-in Specials' }, showOnWebsite: { type: integer, description: 'Whether to show on website (0 or 1)', enum: [0, 1], example: 1 }, isActive: { type: integer, description: 'Whether special is active (0 or 1)', enum: [0, 1], example: 1 }, rates: { type: object, description: 'Rates associated with this special', properties: { rate: { type: array, description: 'Array of rate details', items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 101 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 500 }, showOnWebsite: { type: integer, description: 'Whether to show on website', enum: [0, 1], example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID (only included if valid)', example: 12 } } } } } }, leaseTerms: { type: object, description: 'Lease terms associated with this special', properties: { leaseTerm: { type: array, description: 'Array of lease term details', items: { type: object, required: [chargeCodeTypeId, leaseTermId, leaseTermName, isActive], properties: { chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, isActive: { type: integer, description: 'Whether lease term is active (0 or 1)', enum: [0, 1], example: 1 } } } } } } } } } } }, floorplanSpecials: { type: object, description: 'Floorplan-level specials', properties: { special: { type: array, description: 'Array of floorplan-level specials', items: { type: object, required: [id, name, showOnWebsite, isActive], properties: { id: { type: integer, description: 'Special ID', example: 2001 }, name: { type: string, description: 'Special name', example: '1BR Move-in Special' }, description: { type: string, description: 'Public description (only included if not hidden)', example: 'Special pricing for 1 bedroom units' }, note: { type: string, description: 'Internal notes/description', example: 'Apply to all 1BR floorplans' }, startDate: { type: string, description: 'Special start date (YYYY-MM-DD format)', example: '2024-01-15' }, endDate: { type: string, description: 'Special end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-06-30' }, prospectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility', example: '2024-02-01' }, prospectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility', example: '2025-01-31' }, renewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility', example: '2024-03-01' }, renewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility', example: '2025-02-28' }, recipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents' }, couponCode: { type: string, description: 'Coupon code for this special', example: 1BR2024 }, cap: { type: integer, description: 'Quantity budgeted/cap for this special', example: 20 }, remaining: { type: integer, description: 'Quantity remaining for this special', example: 15 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 2 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Floorplan Specials' }, showOnWebsite: { type: integer, description: 'Whether to show on website (0 or 1)', enum: [0, 1], example: 1 }, isActive: { type: integer, description: 'Whether special is active (0 or 1)', enum: [0, 1], example: 1 }, floorplans: { type: object, description: 'Floorplans associated with this special', properties: { floorplan: { type: array, description: 'Array of floorplan details', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Floorplan ID (reference_id)', example: 5001 }, buildingId: { type: integer, description: 'Property building ID', example: 1001 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6001 }, name: { type: string, description: 'Floorplan name (reference_name)', example: '1 Bedroom Deluxe' }, rates: { type: object, description: 'Rates for this floorplan', properties: { rate: { type: array, description: 'Array of rate details', items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 102 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 300 }, showOnWebsite: { type: integer, description: 'Whether to show on website', enum: [0, 1], example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 } } } } } }, leaseTerms: { type: object, description: 'Lease terms for this floorplan', properties: { leaseTerm: { type: array, description: 'Array of lease term details', items: { type: object, required: [chargeCodeTypeId, leaseTermId, leaseTermName, isActive], properties: { chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, isActive: { type: integer, description: 'Whether lease term is active', enum: [0, 1], example: 1 } } } } } } } } } } } } } } } }, unitTypeSpecials: { type: object, description: 'Unit type-level specials', properties: { special: { type: array, description: 'Array of unit type-level specials', items: { type: object, required: [id, name, showOnWebsite, isActive], properties: { id: { type: integer, description: 'Special ID', example: 2501 }, name: { type: string, description: 'Special name', example: 'Unit Type Special Offer' }, description: { type: string, description: 'Public description (only included if not hidden)', example: 'Special pricing for this unit type' }, note: { type: string, description: 'Internal notes/description', example: 'Apply to specific unit types' }, startDate: { type: string, description: 'Special start date (YYYY-MM-DD format)', example: '2024-01-15' }, endDate: { type: string, description: 'Special end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-06-30' }, prospectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility', example: '2024-02-01' }, prospectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility', example: '2025-01-31' }, renewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility', example: '2024-03-01' }, renewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility', example: '2025-02-28' }, recipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents' }, couponCode: { type: string, description: 'Coupon code for this special', example: UNITTYPE2024 }, cap: { type: integer, description: 'Quantity budgeted/cap for this special', example: 25 }, remaining: { type: integer, description: 'Quantity remaining for this special', example: 18 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 3 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Unit Type Specials' }, showOnWebsite: { type: integer, description: 'Whether to show on website (0 or 1)', enum: [0, 1], example: 1 }, isActive: { type: integer, description: 'Whether special is active (0 or 1)', enum: [0, 1], example: 1 }, unitTypes: { type: object, description: 'Unit types associated with this special', properties: { unitType: { type: array, description: 'Array of unit type details', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Unit type ID (reference_id)', example: 4001 }, buildingId: { type: integer, description: 'Property building ID', example: 1001 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6001 }, name: { type: string, description: 'Unit type name (reference_name)', example: 'Studio Deluxe' }, rates: { type: object, description: 'Rates for this unit type', properties: { rate: { type: array, description: 'Array of rate details', items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 115 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 350 }, showOnWebsite: { type: integer, description: 'Whether to show on website', enum: [0, 1], example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 } } } } } }, leaseTerms: { type: object, description: 'Lease terms for this unit type', properties: { leaseTerm: { type: array, description: 'Array of lease term details', items: { type: object, required: [chargeCodeTypeId, leaseTermId, leaseTermName, isActive], properties: { chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, isActive: { type: integer, description: 'Whether lease term is active', enum: [0, 1], example: 1 } } } } } } } } } } } } } } } }, unitSpaceSpecials: { type: object, description: 'Unit space-level specials', properties: { special: { type: array, description: 'Array of unit space-level specials', items: { type: object, required: [id, name, showOnWebsite, isActive], properties: { id: { type: integer, description: 'Special ID', example: 3001 }, name: { type: string, description: 'Special name', example: 'Unit 101A Special' }, description: { type: string, description: 'Public description (only included if not hidden)', example: 'Exclusive discount for this specific unit' }, note: { type: string, description: 'Internal notes/description', example: 'First floor corner unit discount' }, startDate: { type: string, description: 'Special start date (YYYY-MM-DD format)', example: '2024-01-01' }, endDate: { type: string, description: 'Special end date (only included if not hidden, YYYY-MM-DD format)', example: '2024-12-31' }, prospectLeaseStartDate: { type: string, description: 'Earliest prospect lease start date for eligibility', example: '2024-02-01' }, prospectLeaseEndDate: { type: string, description: 'Latest prospect lease end date for eligibility', example: '2025-01-31' }, renewalLeaseStartDate: { type: string, description: 'Earliest renewal lease start date for eligibility', example: '2024-03-01' }, renewalLeaseEndDate: { type: string, description: 'Latest renewal lease end date for eligibility', example: '2025-02-28' }, recipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents,Current Residents' }, couponCode: { type: string, description: 'Coupon code for this special', example: UNIT101A }, cap: { type: integer, description: 'Quantity budgeted/cap for this special', example: 10 }, remaining: { type: integer, description: 'Quantity remaining for this special', example: 8 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 4 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Unit Space Specials' }, showOnWebsite: { type: integer, description: 'Whether to show on website (0 or 1)', enum: [0, 1], example: 1 }, isActive: { type: integer, description: 'Whether special is active (0 or 1)', enum: [0, 1], example: 1 }, unitSpaces: { type: object, description: 'Unit spaces associated with this special', properties: { unitSpace: { type: array, description: 'Array of unit space details', items: { type: object, required: [id, name], properties: { id: { type: integer, description: 'Unit space ID (reference_id)', example: 7001 }, buildingId: { type: integer, description: 'Property building ID', example: 1001 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6001 }, name: { type: string, description: 'Unit space number/name (reference_name)', example: 101A }, rates: { type: object, description: 'Rates for this unit space', properties: { rate: { type: array, description: 'Array of rate details', items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 108 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 200 }, showOnWebsite: { type: integer, description: 'Whether to show on website', enum: [0, 1], example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 } } } } } }, leaseTerms: { type: object, description: 'Lease terms for this unit space', properties: { leaseTerm: { type: array, description: 'Array of lease term details', items: { type: object, required: [chargeCodeTypeId, leaseTermId, leaseTermName, isActive], properties: { chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID', example: 12 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, isActive: { type: integer, description: 'Whether lease term is active', enum: [0, 1], example: 1 } } } } } } } } } } } } } } } } } } } } } } } }, getSpecials-r3-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [specials], properties: { specials: { type: object, description: 'Specials information organized by property details and special types', required: [propertyId, organizationName, marketingName, legalName], properties: { propertyId: { type: integer, description: 'Property ID', example: 1234 }, organizationName: { type: string, description: 'Organization name', example: 'ABC Property Management' }, marketingName: { type: string, description: 'Property marketing name', example: 'Sunset Gardens Apartments' }, legalName: { type: string, description: 'Property legal name', example: 'Sunset Gardens Apartments' }, propertySpecials: { type: object, description: 'Property-level specials that apply to the entire property', properties: { special: { type: object, description: 'Object containing special entries keyed by special ID', additionalProperties: { type: object, required: [id, name, showOnWebsite, isActive, giftValue], properties: { id: { type: integer, description: 'Special ID', example: 1001 }, name: { type: string, description: 'Special name', example: 'First Month Free' }, description: { type: string, description: 'Special description (shown if hideDescription is false)', example: 'Get your first month rent free when you sign a 12-month lease' }, note: { type: string, description: 'Internal note/description', example: 'Internal notes about this special offer' }, startDate: { type: string, description: 'Special start date in YYYY-MM-DD format', example: '2024-01-01' }, endDate: { type: string, description: 'Special end date in YYYY-MM-DD format (shown if hideEndDate is false)', example: '2024-12-31' }, prospectLeaseStartDate: { type: string, description: 'Prospect lease start date in YYYY-MM-DD format', example: '2024-01-01' }, prospectLeaseEndDate: { type: string, description: 'Prospect lease end date in YYYY-MM-DD format', example: '2024-12-31' }, renewalLeaseStartDate: { type: string, description: 'Renewal lease start date in YYYY-MM-DD format', example: '2024-01-01' }, renewalLeaseEndDate: { type: string, description: 'Renewal lease end date in YYYY-MM-DD format', example: '2024-12-31' }, recipientTypes: { type: string, description: 'Comma-separated list of recipient types', example: 'New Residents,Current Residents' }, couponCode: { type: string, description: 'Coupon code for the special', example: WINTER2024 }, cap: { type: integer, description: 'Quantity budgeted (maximum number of times this special can be used)', example: 50 }, remaining: { type: integer, description: 'Quantity remaining (how many uses are left)', example: 35 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 2 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Seasonal Promotion' }, specialGroupLeaseTerms: { type: object, description: 'Lease terms associated with the special group', properties: { specialGroupLeaseTerm: { type: array, description: 'Array of lease term details', items: { type: object, properties: { leaseTermId: { type: integer, description: 'Lease term ID', example: 4001 }, leaseStartWindowId: { type: integer, description: 'Lease start window ID', example: 5001 } } } } } }, showOnWebsite: { type: integer, description: 'Whether to show on website (1 for yes, 0 for no)', enum: [0, 1], example: 1 }, isActive: { type: integer, description: 'Whether the special is active (1 for yes, 0 for no)', enum: [0, 1], example: 1 }, giftValue: { type: number, description: 'Gift value amount', example: 500 }, rates: { type: object, description: 'Rates associated with the property-level special', properties: { rate: { type: array, description: 'Array of rate details', items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 301 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 500 }, showOnWebsite: { type: integer, description: 'Whether to show on website (1 for yes, 0 for no)', enum: [0, 1], example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID (only included if valid)', example: 4001 }, leaseStartWindowId: { type: integer, description: 'Lease start window ID (only included if valid)', example: 5001 } } } } } } } } } } }, floorplanSpecials: { type: object, description: 'Floorplan-level specials that apply to specific floorplans', properties: { special: { type: object, description: 'Object containing special entries keyed by special ID', additionalProperties: { type: object, required: [id, name, showOnWebsite, isActive, giftValue], properties: { id: { type: integer, description: 'Special ID', example: 2001 }, name: { type: string, description: 'Special name', example: 'Studio Special' }, description: { type: string, description: 'Special description', example: 'Special pricing on studio floorplans' }, note: { type: string, description: 'Internal note', example: 'Internal notes' }, startDate: { type: string, description: 'Special start date', example: '2024-01-15' }, endDate: { type: string, description: 'Special end date', example: '2024-06-30' }, prospectLeaseStartDate: { type: string, description: 'Prospect lease start date', example: '2024-02-01' }, prospectLeaseEndDate: { type: string, description: 'Prospect lease end date', example: '2024-07-31' }, renewalLeaseStartDate: { type: string, description: 'Renewal lease start date', example: '2024-01-01' }, renewalLeaseEndDate: { type: string, description: 'Renewal lease end date', example: '2024-12-31' }, recipientTypes: { type: string, description: 'Comma-separated recipient types', example: 'New Residents' }, couponCode: { type: string, description: 'Coupon code', example: STUDIO2024 }, cap: { type: integer, description: 'Quantity budgeted', example: 20 }, remaining: { type: integer, description: 'Quantity remaining', example: 15 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 3 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Floorplan Promotion' }, specialGroupLeaseTerms: { type: object, properties: { specialGroupLeaseTerm: { type: array, items: { type: object, properties: { leaseTermId: { type: integer, example: 4002 }, leaseStartWindowId: { type: integer, example: 5002 } } } } } }, showOnWebsite: { type: integer, enum: [0, 1], example: 1 }, isActive: { type: integer, enum: [0, 1], example: 1 }, giftValue: { type: number, example: 300 }, floorplans: { type: object, description: 'Floorplans associated with this special', properties: { floorplan: { type: array, description: 'Array of floorplan details', items: { type: object, properties: { id: { type: integer, description: 'Floorplan reference ID', example: 5001 }, buildingId: { type: integer, description: 'Property building ID', example: 1001 }, buildingName: { type: string, description: 'Building name', example: 'Building A' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6001 }, name: { type: string, description: 'Floorplan reference name', example: 'Studio Floorplan' }, rates: { type: object, properties: { rate: { type: array, items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 302 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 300 }, showOnWebsite: { type: integer, description: 'Whether to show on website', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID (only included if valid)', example: 4002 }, leaseStartWindowId: { type: integer, description: 'Lease start window ID (only included if valid)', example: 5002 } } } } } } } } } } } } } } } }, unitTypeSpecials: { type: object, description: 'Unit type-level specials that apply to specific unit types', properties: { special: { type: object, description: 'Object containing special entries keyed by special ID', additionalProperties: { type: object, required: [id, name, showOnWebsite, isActive, giftValue], properties: { id: { type: integer, description: 'Special ID', example: 3001 }, name: { type: string, description: 'Special name', example: 'Deluxe Unit Special' }, description: { type: string, description: 'Special description', example: 'Special offer on deluxe unit types' }, note: { type: string, description: 'Internal note', example: 'Limited time offer' }, startDate: { type: string, description: 'Special start date', example: '2024-03-01' }, endDate: { type: string, description: 'Special end date', example: '2024-08-31' }, prospectLeaseStartDate: { type: string, description: 'Prospect lease start date', example: '2024-03-15' }, prospectLeaseEndDate: { type: string, description: 'Prospect lease end date', example: '2024-09-15' }, renewalLeaseStartDate: { type: string, description: 'Renewal lease start date', example: '2024-01-01' }, renewalLeaseEndDate: { type: string, description: 'Renewal lease end date', example: '2024-12-31' }, recipientTypes: { type: string, description: 'Comma-separated recipient types', example: 'New Residents,Current Residents' }, couponCode: { type: string, description: 'Coupon code', example: DELUXE2024 }, cap: { type: integer, description: 'Quantity budgeted', example: 30 }, remaining: { type: integer, description: 'Quantity remaining', example: 22 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 4 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Unit Type Promotion' }, specialGroupLeaseTerms: { type: object, properties: { specialGroupLeaseTerm: { type: array, items: { type: object, properties: { leaseTermId: { type: integer, example: 4003 }, leaseStartWindowId: { type: integer, example: 5003 } } } } } }, showOnWebsite: { type: integer, enum: [0, 1], example: 1 }, isActive: { type: integer, enum: [0, 1], example: 1 }, giftValue: { type: number, example: 400 }, unitTypes: { type: object, description: 'Unit types associated with this special', properties: { unitType: { type: array, description: 'Array of unit type details', items: { type: object, properties: { id: { type: integer, description: 'Unit type reference ID', example: 7001 }, buildingId: { type: integer, description: 'Property building ID', example: 1002 }, buildingName: { type: string, description: 'Building name', example: 'Building B' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6002 }, name: { type: string, description: 'Unit type reference name', example: 'Deluxe Unit Type' }, rates: { type: object, properties: { rate: { type: array, items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 303 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 2 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 400 }, showOnWebsite: { type: integer, description: 'Whether to show on website', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID (only included if valid)', example: 4003 }, leaseStartWindowId: { type: integer, description: 'Lease start window ID (only included if valid)', example: 5003 } } } } } } } } } } } } } } } }, unitSpaceSpecials: { type: object, description: 'Unit space-level specials that apply to specific unit spaces', properties: { special: { type: object, description: 'Object containing special entries keyed by special ID', additionalProperties: { type: object, required: [id, name, showOnWebsite, isActive, giftValue], properties: { id: { type: integer, description: 'Special ID', example: 4001 }, name: { type: string, description: 'Special name', example: 'Premium Space Special' }, description: { type: string, description: 'Special description', example: 'Exclusive offer on premium unit spaces' }, note: { type: string, description: 'Internal note', example: 'High-demand units only' }, startDate: { type: string, description: 'Special start date', example: '2024-04-01' }, endDate: { type: string, description: 'Special end date', example: '2024-09-30' }, prospectLeaseStartDate: { type: string, description: 'Prospect lease start date', example: '2024-04-15' }, prospectLeaseEndDate: { type: string, description: 'Prospect lease end date', example: '2024-10-15' }, renewalLeaseStartDate: { type: string, description: 'Renewal lease start date', example: '2024-01-01' }, renewalLeaseEndDate: { type: string, description: 'Renewal lease end date', example: '2024-12-31' }, recipientTypes: { type: string, description: 'Comma-separated recipient types', example: 'New Residents' }, couponCode: { type: string, description: 'Coupon code', example: PREMIUM2024 }, cap: { type: integer, description: 'Quantity budgeted', example: 10 }, remaining: { type: integer, description: 'Quantity remaining', example: 8 }, specialGroupTypeId: { type: integer, description: 'Special group type ID', example: 5 }, specialGroupTypeName: { type: string, description: 'Special group type name', example: 'Unit Space Promotion' }, specialGroupLeaseTerms: { type: object, properties: { specialGroupLeaseTerm: { type: array, items: { type: object, properties: { leaseTermId: { type: integer, example: 4004 }, leaseStartWindowId: { type: integer, example: 5004 } } } } } }, showOnWebsite: { type: integer, enum: [0, 1], example: 1 }, isActive: { type: integer, enum: [0, 1], example: 1 }, giftValue: { type: number, example: 600 }, unitSpaces: { type: object, description: 'Unit spaces associated with this special', properties: { unitSpace: { type: array, description: 'Array of unit space details', items: { type: object, properties: { id: { type: integer, description: 'Unit space reference ID', example: 8001 }, buildingId: { type: integer, description: 'Property building ID', example: 1003 }, buildingName: { type: string, description: 'Building name', example: 'Building C' }, propertyUnitId: { type: integer, description: 'Property unit ID', example: 6003 }, name: { type: string, description: 'Unit space reference name', example: 'Premium Unit Space 301' }, rates: { type: object, properties: { rate: { type: array, items: { type: object, required: [chargeCodeId, chargeCodeTypeId, amount, showOnWebsite], properties: { chargeCodeId: { type: integer, description: 'Charge code ID', example: 304 }, chargeCodeTypeId: { type: integer, description: 'Charge code type ID', example: 1 }, amount: { type: number, description: 'Rate amount (absolute value)', example: 600 }, showOnWebsite: { type: integer, description: 'Whether to show on website', example: 1 }, leaseTermId: { type: integer, description: 'Lease term ID (only included if valid)', example: 4004 }, leaseStartWindowId: { type: integer, description: 'Lease start window ID (only included if valid)', example: 5004 } } } } } } } } } } } } } } } } } } } } } } } }, getSpecials-r4-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [specialGroups], properties: { specialGroups: { type: array, description: 'Array of special group objects with complete details', items: { type: object, required: [specialGroupId, specialGroupName, isActive], properties: { specialGroupId: { type: integer, description: 'Special group ID', example: 3001 }, specialGroupName: { type: string, description: 'Special group name', example: 'New Resident Specials' }, quantityBudgeted: { type: integer, description: 'Quantity budgeted/cap for this special group', example: 100 }, quantityRemaining: { type: integer, description: 'Quantity remaining for this special group', example: 75 }, isActive: { type: integer, description: 'Whether the special group is active (0 or 1)', enum: [0, 1], example: 1 }, isAdvertised: { type: integer, description: 'Whether the special group is advertised (0 or 1)', enum: [0, 1], example: 1 }, showOnWebsite: { type: integer, description: 'Whether to show on website (0 or 1)', enum: [0, 1], example: 1 }, startDate: { type: string, description: 'Special group start date (YYYY-MM-DD format)', example: '2024-01-01' }, endDate: { type: string, description: 'Special group end date (YYYY-MM-DD format)', example: '2024-12-31' }, description: { type: string, description: 'Special group public description', example: 'Special offers for new residents' }, internalDescription: { type: string, description: 'Internal notes/description for staff', example: 'Q1 promotional campaign' }, couponCode: { type: string, description: 'Coupon code for this special group', example: NEWRES2024 }, specialRecipientDetails: { type: array, description: 'Special recipient details (who qualifies)', items: { type: object, properties: { specialRecipientId: { type: integer, description: 'Special recipient ID', example: 1 }, specialRecipientName: { type: string, description: 'Special recipient name', example: 'New Residents' } } } }, limitQuantity: { type: integer, description: 'Limit quantity flag (0 or 1)', enum: [0, 1], example: 1 }, termsAndConditions: { type: string, description: 'Terms and conditions for this special group', example: 'Subject to availability and credit approval' }, leadSourceDetails: { type: object, description: 'Lead source details if specific lead source required', properties: { id: { type: integer, description: 'Lead source ID', example: 201 }, name: { type: string, description: 'Lead source name', example: Website } } }, renewalLeaseStartDateRange: { type: string, description: 'Renewal lease start date range', example: '2024-02-01 to 2024-12-31' }, prospectLeaseStartDateRange: { type: string, description: 'Prospect lease start date range', example: '2024-01-01 to 2024-12-31' }, spaceConfigurationDetails: { type: array, description: 'Space configuration details for this special group', items: { type: object, properties: { spaceConfigurationId: { type: integer, description: 'Space configuration ID', example: 6001 }, spaceConfigurationName: { type: string, description: 'Space configuration name', example: 'Standard Configuration' } } } }, incentiveLimit: { type: number, description: 'Incentive limit amount', example: 5000 }, isSelectable: { type: integer, description: 'Whether special is selectable by user (0 or 1)', enum: [0, 1], example: 1 }, associations: { type: object, description: 'Rate associations showing what this special applies to', properties: { levelId: { type: integer, description: 'AR cascade level ID (1=Property, 2=Floorplan, 3=UnitType, 4=Space)', example: 2 }, levelName: { type: string, description: 'AR cascade level name', example: Floorplan }, unitCount: { type: integer, description: 'Count of units/references this special applies to', example: 3 }, references: { type: array, description: 'Array of reference items (floorplans, unit types, or units)', items: { type: object, properties: { id: { type: integer, description: 'Reference ID (floorplan, unit type, or unit space ID)', example: 5001 }, name: { type: string, description: 'Reference name', example: '1 Bedroom Deluxe' } } } } } }, specialRecipientTriggerTypeDetails: { type: array, description: 'Special recipient trigger type details (qualifying criteria)', items: { type: object, properties: { specialRecipientTriggerTypeId: { type: integer, description: 'Special trigger type ID', example: 1 }, specialRecipientTriggerTypeName: { type: string, description: 'Special trigger type name', example: 'New Resident Move-in' } } } }, leaseTermDetails: { type: array, description: 'Lease term details for this special group', items: { type: object, properties: { leaseTermId: { type: integer, description: 'Lease term ID', example: 4001 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, leaseStartWindowId: { type: integer, description: 'Lease start window ID', example: 5001 } } } }, specials: { type: array, description: 'List of individual specials within this group', items: { type: object, required: [specialId, specialTypeId, specialName, giftValue, rate], properties: { specialId: { type: integer, description: 'Special ID', example: 1001 }, specialTypeId: { type: integer, description: 'Special type ID', example: 1 }, specialName: { type: string, description: 'Special name', example: 'First Month Free' }, giftValue: { type: number, description: 'Gift value amount', example: 1200 }, rate: { type: array, description: 'Array of rate details for this special', items: { type: object, required: [rateId, arCodeId, arCodeTypeName, arCodeName, arTriggerId, arTriggerName, arFormulaId, arFormulaName, arFormulaReferenceId, rateAmount, rateIncreaseIncrement, rateShowOnWebsite, rateShowInEntrata, spaceConfigurationId, spaceConfigurationName, leaseTermId, leaseTermName, leaseStartWindowId, windowStartDate, windowEndDate], properties: { rateId: { type: integer, description: 'Rate ID', example: 2001 }, arCodeId: { type: integer, description: 'AR code ID', example: 101 }, arCodeTypeName: { type: string, description: 'AR code type name', example: Rent }, arCodeName: { type: string, description: 'AR code name', example: 'Base Rent' }, arTriggerId: { type: integer, description: 'AR trigger ID', example: 1 }, arTriggerName: { type: string, description: 'AR trigger name', example: 'Application Completed' }, arFormulaId: { type: integer, description: 'AR formula ID', example: 10 }, arFormulaName: { type: string, description: 'AR formula name', example: 'Fixed Amount' }, arFormulaReferenceId: { type: integer, description: 'AR formula reference ID', example: 100 }, rateAmount: { type: number, description: 'Rate amount', example: 500 }, rateIncreaseIncrement: { type: number, description: 'Rate increase increment', example: 0 }, rateShowOnWebsite: { type: integer, description: 'Whether to show rate on website (0 or 1)', enum: [0, 1], example: 1 }, rateShowInEntrata: { type: integer, description: 'Whether to show rate in Entrata (0 or 1)', enum: [0, 1], example: 1 }, spaceConfigurationId: { type: integer, description: 'Space configuration ID', example: 6001 }, spaceConfigurationName: { type: string, description: 'Space configuration name', example: 'Standard Configuration' }, leaseTermId: { type: integer, description: 'Lease term ID', example: 4001 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Months' }, leaseStartWindowId: { type: integer, description: 'Lease start window ID', example: 5001 }, windowStartDate: { type: string, description: 'Window start date (YYYY-MM-DD format)', example: '2024-01-01' }, windowEndDate: { type: string, description: 'Window end date (YYYY-MM-DD format)', example: '2024-12-31' } } } } } } } } } } } } } } } }, getUnitsAvailabilityAndPricing-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { Properties: { type: object, properties: { Property: { type: array, description: 'Array of property information with floorplans and availability details', items: { type: object, required: [PropertyId, MarketingName], properties: { PropertyId: { type: integer, description: 'Property ID', example: 1234 }, MarketingName: { type: string, description: 'Property marketing name', example: 'Sample Apartment Complex' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, ParentPropertyID: { type: integer, description: 'Parent property ID if this is a child property', example: 100 }, propertyAvailabilityURL: { type: string, description: 'Website URL for property availability and floorplans', example: 'https://example.com/anytown-ca/sample-apartment-complex' }, Floorplans: { type: object, properties: { Floorplan: { type: array, description: 'List of floorplans with pricing and availability', items: { type: object, properties: { Identification: { type: object, description: 'Floorplan identification information', properties: { '@attributes': { type: object, properties: { IDScopeType: { type: string, example: sender }, IDRank: { type: string, example: primary } } }, IDValue: { type: integer, description: 'Floorplan ID', example: 5001 }, OrganizationName: { type: string, description: 'Remote primary key', example: EXT-FP-001 } } }, Name: { type: string, description: 'Floorplan name', example: '1 Bedroom A' }, Comment: { type: string, description: 'Floorplan description/comments', example: 'Spacious 1 bedroom with modern amenities' }, UnitCount: { type: integer, description: 'Total number of units for this floorplan', example: 10 }, UnitsAvailable: { type: integer, description: 'Number of available units', example: 5 }, DisplayedUnitsAvailable: { type: integer, description: 'Number of units to display (respects property preferences for max units to show)', example: 3 }, FloorplanAvailabilityURL: { type: string, description: "URL to view this floorplan's availability", example: 'https://example.com/anytown-ca/sample-apartment-complex/floorplans/1-bedroom-a-5001/fp_name/occupancy_type/conventional' }, FloorCount: { type: integer, description: 'Number of floors in this floorplan', example: 1 }, TotalRoomCount: { type: integer, description: 'Total number of rooms', example: 4 }, Room: { type: array, description: 'Room details (bedrooms, bathrooms)', items: { type: object, properties: { '@attributes': { type: object, properties: { RoomType: { type: string, example: Bedroom } } }, Description: { type: string, example: 'Master bedroom with walk-in closet' }, Count: { type: number, description: 'Number of rooms of this type', example: 1 }, Comment: { type: string, example: Bedroom } } } }, SquareFeet: { type: object, properties: { '@attributes': { type: object, properties: { Avg: { type: integer, example: 0 }, Max: { type: integer, description: 'Maximum square footage', example: 800 }, Min: { type: integer, description: 'Minimum square footage', example: 750 } } } } }, MarketRent: { type: object, properties: { '@attributes': { type: object, properties: { Max: { type: number, description: 'Maximum market rent', example: 1400 }, Min: { type: number, description: 'Minimum market rent', example: 1200 } } } } }, Deposit: { type: object, properties: { '@attributes': { type: object, properties: { DepositType: { type: string, example: 'security deposit' } } }, Amount: { type: object, properties: { '@attributes': { type: object, properties: { AmountType: { type: string, example: MonthMultiple } } }, ValueRange: { type: object, properties: { '@attributes': { type: object, properties: { Max: { type: string, description: 'Maximum deposit', example: $1400.00 }, Min: { type: string, description: 'Minimum deposit', example: $1200.00 } } } } } } } } }, Amenity: { type: array, description: 'Amenities available for this floorplan', items: { type: object, properties: { '@attributes': { type: object, properties: { AmenityType: { type: string, example: Balcony } } } } } }, Concession: { type: array, description: 'Special concessions/offers for this floorplan', items: { type: object, properties: { '@attributes': { type: object, properties: { Active: { type: integer, example: 1 } } }, Value: { type: number, description: 'Concession value/amount', example: 500 }, Term: { type: integer, description: 'Lease term in months', example: 12 }, DescriptionHeader: { type: string, example: 'First Month Free' }, DescriptionBody: { type: string, example: 'Get your first month rent free' }, DescriptionFooter: { type: string, example: 'New residents only' } } } }, File: { type: object, properties: { '@attributes': { type: object, properties: { FileID: { type: integer, example: 8001 }, Active: { type: string, example: 'true' } } }, FileType: { type: string, example: Photo }, Description: { type: string, example: 'Corner unit view' }, Name: { type: string, example: unit_101a.jpg }, Caption: { type: string, example: 'Beautiful corner unit' }, Format: { type: string, example: jpg }, Src: { type: string, example: 'https://cdn.example.com/units/101a.jpg' }, Width: { type: integer, example: 1920 }, Height: { type: integer, example: 1080 }, Rank: { type: integer, example: 1 } } } } } } } } } } } } }, PropertyUnits: { type: object, description: 'Detailed property units with unit spaces (returned when showUnitSpaces=1)', properties: { PropertyUnit: { type: array, description: 'Array of property units with detailed unit space information', items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Property unit ID', example: 6001 }, UnitNumber: { type: string, description: 'Unit number', example: 101A }, FloorplanId: { type: integer, description: 'Associated floorplan ID', example: 5001 }, UnitTypeId: { type: integer, description: 'Unit type ID', example: 4001 }, PropertyId: { type: integer, description: 'Property ID', example: 1234 }, FloorPlanName: { type: string, description: 'Floorplan name', example: '1 Bedroom A' }, FloorId: { type: integer, description: 'Floor ID', example: 401 }, FloorNumber: { type: string, description: 'Floor number', example: '1' }, BuildingId: { type: integer, description: 'Building ID', example: 301 }, BuildingName: { type: string, description: 'Building name', example: 'Building A' }, WebVisible: { type: string, description: 'Whether visible on website', example: '1' } } }, UnitSpace: { type: array, description: 'Array of unit spaces within this unit', items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Unit space ID', example: 7001 }, UnitNumber: { type: string, description: 'Space number or unit number', example: 101A }, MarketingUnitNumber: { type: string, description: 'Marketing unit number', example: A101 }, Availability: { type: string, description: 'Availability status', enum: [Available, 'Not Available'], example: Available }, Status: { type: string, description: 'Unit space status', example: Available }, ExcludedReason: { type: string, description: 'Reason for exclusion if unit is excluded', example: 'Under Renovation' }, AvailableOn: { type: string, description: 'Date unit becomes available (YYYY-MM-DD)', example: '2024-02-01' }, MakeReadyDate: { type: string, description: 'Make ready date (YYYY-MM-DD)', example: '2024-01-25' }, IsAffordable: { type: string, description: 'Whether this is affordable housing (1 for yes, 0 for no)', enum: ['0', '1'], example: '0' }, OccupancyType: { type: string, description: 'Occupancy type name', example: Conventional }, HasPricing: { type: string, description: 'Whether unit has pricing available (1 for yes, 0 for no)', enum: ['0', '1'], example: '1' }, SpaceConfiguration: { type: string, description: 'Space configuration name or "Varies" if multiple', example: 'Standard Configuration' }, Area: { type: string, description: 'Square footage with unit of measure', example: '750 Square Feet' } } }, Rent: { type: object, description: 'Rent information for this unit space', properties: { '@attributes': { type: object, properties: { MinRent: { type: string, description: 'Minimum rent (formatted with commas)', example: '1,200.00' }, MaxRent: { type: string, description: 'Maximum rent (formatted with commas)', example: '1,400.00' } } }, TermRent: { type: array, description: 'Array of lease term rental options', items: { type: object, properties: { '@attributes': { type: object, properties: { LeaseTerm: { type: string, description: 'Lease term duration', example: '12 Months' }, IsWebVisible: { type: string, description: 'Whether visible on website', enum: ['0', '1'], example: '1' }, LeaseTermId: { type: integer, description: 'Lease term ID', example: 4001 }, LeaseTermName: { type: string, description: 'Lease term name', example: '12 Month Lease' }, IsBestPrice: { type: string, description: 'Whether this is the best price option', example: 'true' }, SpaceOptionId: { type: integer, description: 'Space configuration option ID', example: 12 }, SpaceOption: { type: string, description: 'Space configuration option name', example: 'Standard Configuration' }, leaseStartWindowId: { type: integer, description: 'Lease start window ID', example: 5001 }, StartDate: { type: string, description: 'Lease start date (YYYY-MM-DD)', example: '2024-02-01' }, EndDate: { type: string, description: 'Lease end date (YYYY-MM-DD)', example: '2025-01-31' }, Rent: { type: string, description: 'Rent amount (formatted with commas)', example: '1,250.00' }, BaseRent: { type: string, description: 'Base rent amount (formatted with commas)', example: '1,200.00' }, RateFrequency: { type: string, description: 'Rate frequency', example: Monthly } } } } } } } }, Deposit: { type: object, properties: { '@attributes': { type: object, properties: { MinDeposit: { type: string, description: 'Minimum deposit (formatted with commas)', example: '1,200.00' }, MaxDeposit: { type: string, description: 'Maximum deposit (formatted with commas)', example: '1,400.00' } } } } } } } } } } } } }, ILS_Units: { type: object, description: 'Simplified unit format (returned when showUnitSpaces=0)', properties: { Unit: { type: array, description: 'Array of units in simplified ILS format', items: { type: object, properties: { '@attributes': { type: object, properties: { UnitNumber: { type: string, description: 'Unit number', example: 101A }, FloorPlanName: { type: string, description: 'Floorplan name', example: '1 Bedroom A' }, Availability: { type: string, description: 'Availability status', enum: [Available, 'Not Available'], example: Available }, Status: { type: string, description: 'Unit status', example: Available }, ReservedUntilDate: { type: string, description: 'Reserved until date (MM/DD/YYYY)', example: 02/15/2024 }, ExcludedReason: { type: string, description: 'Reason for exclusion', example: 'Under Renovation' }, AvailableOn: { type: string, description: 'Available date (YYYY-MM-DD)', example: '2024-02-01' }, MakeReadyDate: { type: string, description: 'Make ready date (YYYY-MM-DD)', example: '2024-01-25' }, FloorplanId: { type: integer, description: 'Floorplan ID', example: 5001 }, UnitTypeId: { type: integer, description: 'Unit type ID', example: 4001 }, PropertyUnitId: { type: integer, description: 'Property unit ID', example: 6001 }, PropertyId: { type: integer, description: 'Property ID', example: 1234 }, FloorId: { type: integer, description: 'Floor ID', example: 401 }, FloorNumber: { type: string, description: 'Floor number', example: '1' }, BuildingId: { type: integer, description: 'Building ID', example: 301 }, BuildingName: { type: string, description: 'Building name', example: 'Building A' }, OccupancyType: { type: string, description: 'Occupancy type', example: Conventional }, IsAffordable: { type: string, description: 'Whether affordable housing', enum: ['0', '1'], example: '0' }, HasPricing: { type: string, description: 'Whether has pricing', enum: ['0', '1'], example: '1' }, webVisible: { type: string, description: 'Whether visible on website', enum: ['0', '1'], example: '1' }, SpaceConfiguration: { type: string, description: 'Space configuration', example: 'Standard Configuration' }, Area: { type: string, description: 'Area with unit of measure', example: '750 Square Feet' } } }, Rent: { type: object, properties: { '@attributes': { type: object, properties: { MinRent: { type: string, example: '1,200.00' }, MaxRent: { type: string, example: '1,400.00' } } }, TermRent: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { LeaseTerm: { type: string, example: '12 Months' }, LeaseTermId: { type: integer, example: 4001 }, IsWebVisible: { type: string, example: '1' }, LeaseTermName: { type: string, example: '12 Month Lease' }, IsBestPrice: { type: string, example: 'true' }, SpaceOptionId: { type: integer, example: 12 }, SpaceOption: { type: string, example: 'Standard Configuration' }, leaseStartWindowId: { type: integer, example: 5001 }, StartDate: { type: string, example: '2024-02-01' }, EndDate: { type: string, example: '2025-01-31' }, Rent: { type: string, example: '1,250.00' }, BaseRent: { type: string, example: '1,200.00' }, RateFrequency: { type: string, example: Monthly } } } } } } } }, Deposit: { type: object, properties: { '@attributes': { type: object, properties: { MinDeposit: { type: string, example: '1,200.00' }, MaxDeposit: { type: string, example: '1,400.00' } } } } } } } } } } } } } } } }, getUnitTypes-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [property, unitTypes], properties: { property: { type: object, required: [type, propertyId, marketingName], properties: { type: { type: string, description: 'Property type', example: Apartment }, propertyId: { type: integer, description: 'Property ID', example: 1234 }, parentPropertyId: { type: integer, description: 'Parent property ID (if applicable)', example: 1000 }, marketingName: { type: string, description: 'Property marketing name', example: 'Sample Apartment Complex' }, currencyCode: { type: string, description: 'Currency code for the property', example: USD }, generalId: { type: string, description: 'General ID/lookup code', example: SAMPLE-001 }, yearBuilt: { type: string, description: 'Year the property was built', example: '2020' }, shortDescription: { type: string, description: 'Short property description', example: 'Modern apartment complex with luxury amenities' }, longDescription: { type: string, description: 'Long property description', example: 'This modern apartment complex offers luxury living with state-of-the-art amenities, including a fitness center, swimming pool, and concierge services.' } } }, unitTypes: { type: object, required: [unitType], properties: { unitType: { type: array, description: 'Array of unit type information', items: { type: object, required: [identificationType], properties: { identificationType: { type: object, required: ['@attributes', idValue], properties: { '@attributes': { type: object, properties: { idType: { type: string, description: 'Type of identification', example: unitTypeId } } }, idValue: { type: integer, description: 'Unit type ID', example: 4001 } } }, name: { type: string, description: 'Unit type name', example: '1 Bedroom' }, lookUpCode: { type: string, description: 'Unit type lookup code', example: 1BR-STD }, floorplan: { type: object, description: 'Associated floorplan information', properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Floorplan ID', example: 5001 } } }, '@value': { type: string, description: 'Floorplan name', example: '1 Bedroom Standard' } } }, unitCount: { type: string, description: 'Number of units of this type', example: '10' }, unitBedRooms: { type: string, description: 'Number of bedrooms', example: '1' }, unitBathrooms: { type: string, description: 'Number of bathrooms', example: '1' }, minSquareFeet: { type: string, description: 'Minimum square footage', example: '750' }, maxSquareFeet: { type: string, description: 'Maximum square footage', example: '800' }, minMarketRent: { type: string, description: 'Minimum market rent', example: '1200.00' }, maxMarketRent: { type: string, description: 'Maximum market rent', example: '1400.00' }, rent: { type: object, description: 'Rent information with lease terms', properties: { termRent: { type: array, description: 'Array of rent terms', items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [leaseTerm, rent], properties: { leaseTerm: { type: string, description: 'Lease term in months', example: '12 Months' }, leaseTermId: { type: integer, description: 'Lease term ID', example: 3001 }, leaseTermName: { type: string, description: 'Lease term name', example: '12 Month Lease' }, rent: { type: string, description: 'Rent amount', example: '1250.00' }, startDate: { type: string, description: 'Lease start date', example: '2024-02-01' }, endDate: { type: string, description: 'Lease end date', example: '2024-07-31' }, spaceOptionId: { type: integer, description: 'Space configuration ID', example: 12 }, spaceOption: { type: string, description: 'Space configuration option name', example: 'Standard Configuration' }, isSoldOut: { type: boolean, description: 'Whether this term is sold out', example: false } } } } } } } } } } } } } } } } } } }, sendAmenities-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [propertyAmenities, unitAmenities], properties: { propertyAmenities: { type: array, description: 'Array of results for property amenity operations', items: { type: object, required: [node, status], properties: { node: { type: integer, description: 'Sequential node number indicating which amenity in the request this result corresponds to', example: 1 }, status: { type: string, description: 'Operation status', enum: [Success, Failure], example: Success }, amenityId: { type: integer, description: 'ID of the created amenity (present on success)', example: 801 }, rateAssociationId: { type: integer, description: 'ID of the created amenity rate association (present on success)', example: 901 }, name: { type: string, description: 'Name of the amenity (present on success)', example: 'Swimming Pool' }, message: { type: string, description: 'Success or error message', example: 'Amenity inserted successfully.' } } } }, unitAmenities: { type: array, description: 'Array of results for unit amenity operations', items: { type: object, required: [node, status], properties: { node: { type: integer, description: 'Sequential node number indicating which amenity in the request this result corresponds to', example: 1 }, status: { type: string, description: 'Operation status', enum: [Success, Failure], example: Success }, amenityId: { type: integer, description: 'ID of the created amenity (present on success)', example: 802 }, rateAssociationId: { type: integer, description: 'ID of the created amenity rate association (present on success)', example: 902 }, name: { type: string, description: 'Name of the amenity (present on success)', example: Dishwasher }, message: { type: string, description: 'Success or error message', example: 'Amenity inserted successfully.' } } } } } } } } } }, sendPropertyUnits-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [units], properties: { units: { type: object, required: [unit], properties: { unit: { type: array, description: 'Array of unit processing results', items: { type: object, required: [node, unitNumber, unitSpace, status, message], properties: { node: { type: integer, description: 'Unit sequence number', example: 1 }, unitId: { type: integer, description: 'Created/updated unit ID (only present on success)', example: 6001 }, unitNumber: { type: string, description: 'Unit number', example: 101A }, unitSpace: { type: string, description: 'Unit space number (e.g., A, B, C)', example: A }, status: { type: string, description: 'Processing status', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Success or error message', example: 'unit inserted successfully.' } } } } } } } } } } } }, sendSpecialGroup-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, specialGroupId, message], properties: { status: { type: string, description: 'Operation status', enum: [success], example: success }, specialGroupId: { type: integer, description: 'ID of the created special group', example: 15001 }, message: { type: string, description: 'Success message', example: 'Special added successfully.' } } } } } } }, updateAmenities-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { propertyAmenities: { type: object, properties: { propertyAmenity: { type: array, description: 'Array of property amenity update results', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Amenity sequence number', example: 1 }, amenityId: { type: integer, description: 'Property amenity ID (present on success or when validation fails for existing amenity)', example: 1001 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Update result message', example: 'Amenity updated successfully.' } } } } } }, unitTypeAmenities: { type: object, properties: { unitTypeAmenity: { type: array, description: 'Array of unit type amenity update results', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Amenity sequence number', example: 1 }, amenityId: { type: integer, description: 'Unit type amenity ID (present on success or when validation fails for existing amenity)', example: 2001 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Update result message', example: 'Amenity updated successfully.' } } } } } }, floorplanAmenities: { type: object, properties: { floorplanAmenity: { type: array, description: 'Array of floorplan amenity update results', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Amenity sequence number', example: 1 }, amenityId: { type: integer, description: 'Floorplan amenity ID (present on success or when validation fails for existing amenity)', example: 3001 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Update result message', example: 'Amenity updated successfully.' } } } } } }, unitSpaceAmenities: { type: object, properties: { unitSpaceAmenity: { type: array, description: 'Array of unit space amenity update results', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Amenity sequence number', example: 1 }, amenityId: { type: integer, description: 'Unit space amenity ID (present on success or when validation fails for existing amenity)', example: 4001 }, status: { type: string, enum: [Success, Failure], description: 'Update status', example: Success }, message: { type: string, description: 'Update result message', example: 'Amenity updated successfully.' } } } } } } } } } } } }, updateSpecialGroup-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [status, specialGroupId, message], properties: { status: { type: string, description: 'Operation status', enum: [success], example: success }, specialGroupId: { type: integer, description: 'ID of the updated special group', example: 15001 }, message: { type: string, description: 'Success message', example: 'Special updated successfully.' } } } } } } }, getResponse-r1-request-schema: { description: 'Retrieves the response for a queued API request using the queueId.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'An arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getResponse], description: 'Method name to be called', example: getResponse }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [queueId, serviceName], properties: { queueId: { type: string, description: 'This is a required field. This field accepts single value. Signed JWT token identifying the queued request.', example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... }, serviceName: { type: string, description: 'This is a required field. This field accepts single value. Name of the service that generated the queueId (e.g., sendApplication, getReportData).', example: getReportData } }, description: 'Method parameters' } } } } }, getResponse-r1-response-schema: { description: 'Response containing the queued request result with timestamps and original service response data.', type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, description: 'Queue processing result containing timestamps and the original service response data', required: [queueStartedOn, queueCompletedOn], properties: { queueStartedOn: { type: string, description: 'Queue start timestamp in format mm-dd-yyyy: HH:MM:SS (e.g., 04-28-2021: 07:17:59)', example: '04-28-2021: 07:17:59' }, queueCompletedOn: { type: string, description: 'Queue completion timestamp in format mm-dd-yyyy: HH:MM:SS (e.g., 04-28-2021: 07:18:06)', example: '04-28-2021: 07:18:06' }, additionalProperties: { type: object, description: 'Additional properties of the response. This is dynamic and depends on the service name.', example: { reportData: { notes: [{ note: 'The pre-bill for WALDEN CREEK is ready for review. Please look over it, and let me know if there are any corrections you would like made.' }] } } } } } } } } }, getInvoices-r1-request-schema: { description: 'Retrieves invoices for a specific vendor or property.', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getInvoices], description: 'Method name to be called', example: getInvoices }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters for filtering and retrieving invoice data.', properties: { ids: { type: string, description: 'Comma-separated invoice IDs to filter results', example: '123,456,789' }, invoiceNumber: { type: string, description: 'Invoice number to filter results', example: INV-12345 }, vendorId: { type: integer, description: 'Vendor ID to filter results', example: 1234 }, propertyIds: { type: string, description: 'Comma-separated property IDs to filter results', example: '10,20,30' }, fromDate: { type: string, format: date, description: 'Start date to filter invoices (ISO 8601 date format yyyy-mm-dd). When both fromDate and toDate are provided, fromDate should be less than or equal to toDate.', example: '2023-01-01' }, toDate: { type: string, format: date, description: 'End date to filter invoices (ISO 8601 date format yyyy-mm-dd). When both fromDate and toDate are provided, fromDate should be less than or equal to toDate.', example: '2023-12-31' }, paidInvoiceFromDate: { type: string, format: date, description: 'Start date for paid invoices filter (ISO 8601 date format yyyy-mm-dd). Required if paidInvoiceToDate is provided. When both dates are provided, paidInvoiceFromDate should be less than or equal to paidInvoiceToDate.', example: '2023-01-01' }, paidInvoiceToDate: { type: string, format: date, description: 'End date for paid invoices filter (ISO 8601 date format yyyy-mm-dd). If provided, paidInvoiceFromDate is required. When both dates are provided, paidInvoiceFromDate should be less than or equal to paidInvoiceToDate.', example: '2023-12-31' }, postMonth: { type: string, format: date, description: 'Post month filter (ISO 8601 date format yyyy-mm-dd)', example: '2024-01-01' }, includeExported: { type: integer, enum: [0, 1], description: 'Include exported invoices (0 for false, 1 for true)', example: 0 }, customerRefunds: { type: integer, enum: [0, 1], description: 'Include customer refunds (0 for false, 1 for true)', example: 0 }, includeVoidedPayments: { type: integer, enum: [0, 1], description: 'Include voided payments (0 for false, 1 for true)', example: 0 } } } } } } }, getInvoices-r2-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getInvoices], description: 'Method name to be called', example: getInvoices }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, properties: { ids: { type: string, description: 'Comma-separated invoice IDs to filter results', example: '123,456,789' }, vendorCode: { type: string, description: 'Vendor code to filter results', example: VENDOR001 }, invoiceNumber: { type: string, description: 'Invoice number to filter results', example: INV-12345 }, vendorIds: { type: string, description: 'Comma-separated vendor IDs to filter results', example: '1001,1002,1003' }, propertyIds: { type: string, description: 'Comma-separated property IDs to filter results', example: '10,20,30' }, invoiceTypeIds: { type: string, description: 'Comma-separated invoice type IDs to filter results', example: '1,2,3' }, fromDate: { type: string, format: date, description: 'Start date to filter invoices (ISO 8601 date format yyyy-mm-dd). Required if toDate is provided. Must be less than or equal to toDate.', example: '2023-01-01' }, toDate: { type: string, format: date, description: 'End date to filter invoices (ISO 8601 date format yyyy-mm-dd). If provided, fromDate becomes required.', example: '2023-12-31' }, voidedPaymentFromDate: { type: string, format: date, description: 'Start date for voided payment filtering (ISO 8601 date format yyyy-mm-dd)', example: '2023-01-01' }, voidedPaymentToDate: { type: string, format: date, description: 'End date for voided payment filtering (ISO 8601 date format yyyy-mm-dd)', example: '2023-12-31' }, paidInvoiceFromDate: { type: string, format: date, description: 'Start date for paid invoices filter (ISO 8601 date format yyyy-mm-dd). Required if paidInvoiceToDate is provided. Must be less than or equal to paidInvoiceToDate.', example: '2023-01-01' }, paidInvoiceToDate: { type: string, format: date, description: 'End date for paid invoices filter (ISO 8601 date format yyyy-mm-dd). If provided, paidInvoiceFromDate becomes required.', example: '2023-12-31' }, postMonth: { type: string, format: date, description: 'Post month filter (ISO 8601 date format yyyy-mm-dd)', example: '2024-01-01' }, includeExported: { type: integer, enum: [0, 1], description: 'Include exported invoices (0 for false, 1 for true)', example: 0 }, customerRefunds: { type: integer, enum: [0, 1], description: 'Include customer refunds (0 for false, 1 for true)', example: 1 }, includeVoidedPayments: { type: integer, enum: [0, 1], description: 'Include voided payments (0 for false, 1 for true)', example: 0 } }, description: 'Method parameters' } } } } }, getPoReceivingRecords-r1-request-schema: { description: 'Retrieves purchase order receiving records for vendors', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPoReceivingRecords], description: 'Method name to be called', example: getPoReceivingRecords }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { vendorId: { type: integer, description: 'Vendor ID to filter results', example: 1234 }, vendorCode: { type: string, description: 'Vendor code to filter results', example: VND001 }, poFromDate: { type: string, format: date, description: 'Start date for purchase order date range (ISO 8601 date format yyyy-mm-dd). Must be used with poToDate.poFromDate and poToDate range should not greater than 1 year', example: '2023-01-01' }, poToDate: { type: string, format: date, description: 'End date for purchase order date range (ISO 8601 date format yyyy-mm-dd). Must be used with poFromDate.poFromDate and poToDate range should not greater than 1 year', example: '2023-12-31' }, receivedFromDate: { type: string, format: date, description: 'Start date for received date range (ISO 8601 date format yyyy-mm-dd). Must be used with receivedToDate.receivedFromDate and receivedToDate range should not greater than 1 year', example: '2023-01-01' }, receivedToDate: { type: string, format: date, description: 'End date for received date range (ISO 8601 date format yyyy-mm-dd). Must be used with receivedFromDate.', example: '2023-12-31' }, purchaseOrderNumbers: { type: string, description: 'Comma-separated purchase order numbers (maximum 25 numbers allowed)', example: '123456,123457,123458' } }, description: 'Method parameters. At least one filter parameter is required (purchaseOrderNumbers, vendorId, or vendorCode).' } } } } }, getPurchaseOrders-r1-request-schema: { description: 'Retrieves purchase orders for vendors', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getPurchaseOrders], description: 'Method name to be called', example: getPurchaseOrders }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { propertyIds: { type: string, description: 'Comma-separated property IDs to filter results', example: '100,200,300' }, vendorId: { type: integer, description: 'Vendor ID to filter results', example: 1234 }, vendorCode: { type: string, description: 'Vendor code to filter results', example: VND001 }, poNumber: { type: string, description: 'Purchase order number to filter results (ignored if poNumbers is provided)', example: '123456' }, createdOnFrom: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Start date for creation date range (MM/DD/YYYY format). Must be used with createdOnTo.', example: 01/01/2023 }, createdOnTo: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'End date for creation date range (MM/DD/YYYY format). Requires createdOnFrom.', example: 12/31/2023 }, purchaseOrderApprovalTypeIds: { type: string, description: 'Comma-separated purchase order approval type IDs to filter results', example: '1,2,3' }, poStatusIds: { type: string, description: 'Comma-separated purchase order status IDs to filter results', example: '1,2,3' }, poTypeIds: { type: string, description: 'Comma-separated purchase order type IDs to filter results', example: '1,2,3' }, poNumbers: { type: string, description: 'Comma-separated purchase order numbers (takes precedence over poNumber)', example: '123456,123457,123458' }, receivedFromDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Start date for received date range (MM/DD/YYYY format). Must be used with receivedToDate. Date range should not be greater than 1 year.', example: 01/01/2023 }, receivedToDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'End date for received date range (MM/DD/YYYY format). Requires receivedFromDate. Date range should not be greater than 1 year.', example: 12/31/2023 } }, description: 'Method parameters. All parameters are optional.' } } } } }, getTaxFormData-r1-request-schema: { description: 'Retrieves tax form data (1099) for vendors by property or owner', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getTaxFormData], description: 'Method name to be called', example: getTaxFormData }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [startDate, endDate], properties: { propertyIds: { type: string, description: 'Comma-separated property IDs (mutually exclusive with ownerIds)', example: '100,200,300' }, ownerIds: { type: string, description: 'Comma-separated owner IDs (mutually exclusive with propertyIds)', example: '1001,1002,1003' }, startDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Start date for tax data period (MM/DD/YYYY format). Must be earlier than or equal to endDate.', example: 01/01/2023 }, endDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'End date for tax data period (MM/DD/YYYY format). Must be later than or equal to startDate. Maximum date range is 1 calendar year.', example: 12/31/2023 }, generateForPropertyOwner: { type: integer, enum: [0, 1], description: 'Generate tax forms for property owner instead of property (0 for false, 1 for true)', example: 0 }, isForIndirectOwner: { type: integer, enum: [0, 1], description: 'Include indirect owner relationships (0 for false, 1 for true)', example: 0 } }, description: 'Method parameters. Either propertyIds or ownerIds is required (mutually exclusive). Both startDate and endDate are required, with endDate must be later than or equal to startDate.' } } } } }, getVendorLocations-r1-request-schema: { description: 'Retrieves vendor locations with associated details', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getVendorLocations], description: 'Method name to be called', example: getVendorLocations }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, properties: { vendorId: { type: string, description: 'Vendor ID to filter results', example: '1234' }, propertyIds: { type: string, description: 'Comma-separated property IDs to filter results', example: '100,200,300' }, vendorName: { type: string, description: 'Vendor name to filter results', example: 'ABC Construction' }, vendorCode: { type: string, description: 'Vendor code to filter results', example: VND001 }, lastModifiedOn: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/\d{4}$', description: 'Last modified date filter (MM/DD/YYYY format)', example: 01/01/2023 }, showAllStatus: { type: integer, enum: [0, 1], description: 'Show vendors with all status types (0 for false, 1 for true)', example: 0 }, includeIntercompanyVendors: { type: integer, enum: [0, 1], description: 'Include intercompany vendors (0 for false, 1 for true)', example: 0 } }, description: 'Method parameters. All parameters are optional.' } } } } }, getVendorPickLists-r1-request-schema: { description: 'Retrieves pick list options for vendor-related dropdowns and forms', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name], properties: { name: { type: string, enum: [getVendorPickLists], description: 'Method name to be called', example: getVendorPickLists }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'No parameters required for this method', example: { } } } } } }, getVendors-r2-request-schema: { description: 'Retrieves detailed vendor information by vendor IDs or vendor codes', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [getVendors], description: 'Method name to be called', example: getVendors }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, description: 'Method parameters. Either vendorIds or vendorCodes is required (can provide both).', properties: { vendorIds: { type: string, description: 'Comma-separated vendor IDs', example: '1234,5678,9012' }, vendorCodes: { type: string, description: 'Comma-separated vendor codes', example: 'VND001,VND002,VND003' } } } } } } }, markInvoicesExported-r1-request-schema: { description: 'Marks invoice line items as exported by updating their exported status', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [markInvoicesExported], description: 'Method name to be called', example: markInvoicesExported }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters containing line item IDs to mark as exported', required: [lineItems], properties: { lineItems: { type: object, description: 'Container object for line item IDs to be marked as exported', required: [lineItemId], properties: { lineItemId: { type: array, items: { type: integer }, minItems: 1, description: 'Array of line item IDs to mark as exported', example: [12345, 67890, 11111] } } } } } } } } }, sendInvoices-r1-request-schema: { description: 'Sends invoice batch data including headers, details, and optional payments to the system (r1 version with PascalCase parameters)', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendInvoices], description: 'Method name to be called', example: sendInvoices }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters containing invoice batch data', required: [ApBatch], properties: { ApBatch: { type: object, description: 'Main batch container for invoice data', required: [ApHeaders], properties: { IsPaused: { type: string, enum: ['0', '1'], description: 'Whether batch is paused ("0" for false, "1" for true)', example: '0' }, IsPosted: { type: string, enum: ['0', '1'], description: 'Whether invoice is posted ("0" for false, "1" for true) - cannot be "1" if IsPaused is "1"', example: '1' }, ApHeaders: { type: object, required: [ApHeader], properties: { ApHeader: { type: array, minItems: 1, items: { type: object, required: [ApPayeeId, ApPayeeLocationId, InvoiceTotal, InvoiceNumber, InvoiceDate], properties: { ApPayeeId: { type: integer, description: 'Vendor/payee ID', example: 1234 }, ApPayeeLocationId: { type: integer, description: 'Vendor location ID', example: 5001 }, RoutingTagId: { type: integer, description: 'Routing tag ID for categorization (required if routing tags are enabled)', example: 101 }, InvoiceNumber: { type: string, description: 'Invoice number (required)', example: INV-2023-001 }, PostMonth: { type: string, description: 'Post month for the invoice (format MM/YYYY)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 06/2023 }, InvoiceDate: { type: string, description: 'Invoice date (required) - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 06/15/2023 }, DueDate: { type: string, description: 'Due date for the invoice - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 07/15/2023 }, InvoiceTotal: { type: string, description: 'Total invoice amount (required)', example: '1250.75' }, Note: { type: string, description: 'Optional note/memo for the invoice', example: 'Monthly maintenance services' }, InvoiceImageUrl: { type: string, format: uri, description: 'URL to invoice image/PDF', example: 'https://example.com/invoice.pdf' }, IsConsolidated: { type: string, enum: ['0', '1'], description: 'Whether invoice is consolidated ("0" for false, "1" for true)', example: '0' }, IsOnHold: { type: string, enum: ['0', '1'], description: 'Whether invoice is on hold ("0" for false, "1" for true)', example: '0' }, Files: { type: object, properties: { File: { type: array, items: { type: object, required: ['@attributes', FileData], properties: { '@attributes': { type: object, required: [FileName], properties: { FileName: { type: string, description: 'Name of the file to upload', example: invoice_receipt.pdf } } }, FileData: { type: string, format: byte, description: 'Base64 encoded file data' } } } } } }, ApDetails: { type: object, properties: { ApDetail: { type: array, items: { type: object, required: [Description, Rate], properties: { PropertyId: { type: integer, description: 'Property ID for the line item (required for proper processing)', example: 2001 }, PropertyBuildingId: { type: integer, description: 'Building ID within the property', example: 3001 }, PropertyUnitId: { type: integer, description: 'Unit ID within the property', example: 4001 }, GlAccountId: { type: integer, description: 'General ledger account ID (required for standard invoices)', example: 6001 }, Description: { type: string, description: 'Line item description (required)', example: 'Office supplies for June' }, Quantity: { type: number, minimum: 0.001, description: 'Quantity ordered (optional, defaults based on context)', example: 2 }, Rate: { type: number, minimum: 0.01, description: 'Rate/unit price for the line item (required, must be greater than 0)', example: 25.5 }, IsWaive1099: { type: string, enum: ['0', '1'], description: 'Whether to waive 1099 reporting ("0" for false, "1" for true)', example: '0' }, InvoicePayment: { type: object, required: [InvoicePaymentId, PaymentAmount], properties: { InvoicePaymentId: { type: string, description: 'Invoice payment ID (must match InvoicePayments section)', example: '7001' }, PaymentAmount: { type: number, minimum: 0.01, description: 'Payment amount for this line item', example: 51 } }, description: 'Optional payment details for this specific line item' } } } } } } } } } } }, InvoicePayments: { type: object, properties: { InvoicePayment: { type: array, description: 'Array of invoice payment objects (required only for posted invoices)', items: { type: object, required: [InvoicePaymentId, PaymentTypeId, PaymentNumber, PaymentDate, PostMonth], properties: { InvoicePaymentId: { type: string, description: 'Unique payment ID', example: '7001' }, PaymentTypeId: { type: integer, description: 'Payment type ID (cannot be ACH type)', example: 1 }, PaymentNumber: { type: string, description: 'Payment number (numeric for check payments, max 32-bit integer for checks)', example: '123456' }, PaymentDate: { type: string, description: 'Payment date - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 06/15/2023 }, PostMonth: { type: string, description: 'Posting month for the payment (format MM/YYYY)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 06/2023 }, PaymentMemo: { type: string, description: 'Optional memo/note for the payment', example: 'Payment for June services' } } } } } } } } } } } } } }, sendInvoices-r2-request-schema: { description: 'Sends invoice batch data including headers, details, and optional payments to the system (r2 version with camelCase parameters)', type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendInvoices], description: 'Method name to be called', example: sendInvoices }, version: { type: string, enum: [r2], description: 'API version', example: r2 }, params: { type: object, description: 'Method parameters containing invoice batch data', required: [apBatch], properties: { apBatch: { type: object, description: 'Main batch container for invoice data', required: [apHeaders], properties: { isPaused: { type: string, enum: ['0', '1'], description: 'Whether batch is paused ("0" for false, "1" for true)', example: '0' }, isPosted: { type: string, enum: ['0', '1'], description: 'Whether invoice is posted ("0" for false, "1" for true) - cannot be "1" if isPaused is "1"', example: '1' }, apHeaders: { type: object, required: [apHeader], properties: { apHeader: { type: array, minItems: 1, items: { type: object, required: [apPayeeId, apPayeeLocationId, invoiceTotal, invoiceNumber, invoiceDate], properties: { apPayeeId: { type: integer, description: 'Vendor/payee ID', example: 1234 }, apPayeeLocationId: { type: integer, description: 'Vendor location ID', example: 5001 }, apPayeeAccountId: { type: integer, description: 'Vendor payee account ID (optional)', example: 6001 }, routingTagId: { type: integer, description: 'Routing tag ID for categorization (required if routing tags are enabled)', example: 101 }, invoiceNumber: { type: string, description: 'Invoice number (required)', example: INV-2023-001 }, postMonth: { type: string, description: 'Post month for the invoice (format MM/YYYY)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 06/2023 }, invoiceDate: { type: string, description: 'Invoice date (required) - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 06/15/2023 }, dueDate: { type: string, description: 'Due date for the invoice - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 07/15/2023 }, shipping: { type: number, description: 'Shipping amount (optional, only if shipping is enabled)', example: 15.5 }, discount: { type: number, description: 'Discount amount (optional, only if discount is enabled)', example: 25 }, salesTax: { type: number, description: 'Sales tax amount (optional, only if tax is enabled)', example: 8.75 }, invoiceTotal: { type: number, description: 'Total invoice amount (required)', example: 1250.75 }, note: { type: string, description: 'Optional note/memo for the invoice', example: 'Monthly maintenance services' }, invoiceImageUrl: { type: string, format: uri, description: 'URL to invoice image/PDF', example: 'https://example.com/invoice.pdf' }, isConsolidated: { type: string, enum: ['0', '1'], description: 'Whether invoice is consolidated ("0" for false, "1" for true)', example: '0' }, isOnHold: { type: string, enum: ['0', '1'], description: 'Whether invoice is on hold ("0" for false, "1" for true)', example: '0' }, invoiceTypeId: { type: string, description: 'Invoice type ID ("1"=catalog, "2"=standard, "3"=job)', enum: ['1', '2', '3'], example: '2' }, files: { type: object, properties: { file: { type: array, items: { type: object, required: [fileName, fileData], properties: { fileName: { type: string, description: 'Name of the file to upload', example: invoice_receipt.pdf }, fileData: { type: string, format: byte, description: 'Base64 encoded file data' } } } } } }, apDetails: { type: object, properties: { apDetail: { type: array, items: { type: object, required: [description, rate], properties: { propertyId: { type: integer, description: 'Property ID for the line item (required for proper processing)', example: 2001 }, propertyBuildingId: { type: integer, description: 'Building ID within the property', example: 3001 }, propertyUnitId: { type: integer, description: 'Unit ID within the property', example: 4001 }, glAccountId: { type: integer, description: 'General ledger account ID (required for standard invoices)', example: 6001 }, apCodeId: { type: integer, description: 'AP code ID (required for job invoices)', example: 7001 }, jobPhaseId: { type: integer, description: 'Job phase ID (required for job invoices)', example: 8001 }, apContractId: { type: integer, description: 'AP contract ID (optional for job invoices)', example: 9001 }, customTagId: { type: integer, description: 'Custom tag ID (required if custom tags are enabled)', example: 10001 }, poDetailId: { type: integer, description: 'Purchase order detail ID (for catalog invoices)', example: 11001 }, receivingRecordId: { type: integer, description: 'Receiving record ID (for catalog invoices)', example: 12001 }, description: { type: string, description: 'Line item description (required)', example: 'Office supplies for June' }, unitOfMeasureId: { type: integer, description: 'Unit of measure ID (optional)', example: 13001 }, quantity: { type: number, minimum: 0.001, description: 'Quantity ordered (optional, defaults based on context)', example: 2 }, rate: { type: number, minimum: 0.01, description: 'Rate/unit price for the line item (required, must be greater than 0)', example: 25.5 }, isWaive1099: { type: string, enum: ['0', '1'], description: 'Whether to waive 1099 reporting ("0" for false, "1" for true)', example: '0' }, retentionPercentage: { type: number, minimum: 0, maximum: 100, description: 'Retention percentage for job invoices when retention is enabled (optional)', example: 5 }, invoicePayment: { description: 'Optional payment details for this specific line item', type: object, required: [invoicePaymentId, paymentAmount], properties: { invoicePaymentId: { type: string, description: 'Invoice payment ID (must match invoicePayments section)', example: '7001' }, paymentAmount: { type: number, minimum: 0.01, description: 'Payment amount for this line item', example: 51 } } } } } } } } } } } } }, invoicePayments: { type: object, properties: { invoicePayment: { type: array, description: 'Array of invoice payment objects (required only for posted invoices)', items: { type: object, required: [invoicePaymentId, paymentTypeId, paymentNumber, paymentDate, postMonth], properties: { invoicePaymentId: { type: string, description: 'Unique payment ID', example: '7001' }, paymentTypeId: { type: integer, description: 'Payment type ID (cannot be ACH type)', example: 1 }, paymentNumber: { type: string, description: 'Payment number (numeric for check payments, max 32-bit integer for checks)', example: '123456' }, paymentDate: { type: string, description: 'Payment date - format mm/dd/yyyy', pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', example: 06/15/2023 }, postMonth: { type: string, description: 'Posting month for the payment (format MM/YYYY)', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 06/2023 }, paymentMemo: { type: string, description: 'Optional memo/note for the payment', example: 'Payment for June services' } } } } } } } } } } } } } }, sendPurchaseOrders-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendPurchaseOrders], description: 'Method name to be called', example: sendPurchaseOrders }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters', required: [apHeaders], properties: { apHeaders: { type: object, required: [apHeader], properties: { apHeader: { type: array, description: 'Purchase order header(s) to create', minItems: 1, items: { type: object, required: [apPayeeId, apPayeeLocationId, poTypeId, postDate, postMonth, apDetails], properties: { apPayeeId: { type: integer, description: 'Vendor/payee ID', example: 12345 }, propertyId: { type: integer, description: 'Property ID for the purchase order', example: 67890 }, apPayeeLocationId: { type: integer, description: 'Vendor/payee location ID', example: 54321 }, apPayeeAccountId: { type: integer, description: 'Vendor/payee account ID (optional)', example: 98765 }, poTypeId: { type: integer, description: 'Purchase order type ID', example: 1 }, postDate: { type: string, format: date, description: 'Post date in yyyy-mm-dd format (ISO 8601)', example: '2024-01-15' }, postMonth: { type: string, description: 'Post month in mm/yyyy format', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 01/2024 }, apRoutingTagId: { type: integer, description: 'AP routing tag ID (optional)', example: 123 }, headerMemo: { type: string, description: 'Header memo/note (optional)', example: 'Monthly office supplies order' }, shipping: { type: number, description: 'Shipping amount (can be negative)', example: 15.99 }, discount: { type: number, description: 'Discount amount (can be negative)', example: -5 }, salesTax: { type: number, description: 'Sales tax amount (can be negative)', example: 8.75 }, apDetails: { type: object, description: 'Purchase order detail line items', required: [apDetail], properties: { apDetail: { type: array, description: 'Array of purchase order detail line items', minItems: 1, items: { type: object, required: [quantity, rate, propertyId], properties: { quantity: { type: number, description: 'Quantity (can be negative)', example: 10.5 }, rate: { type: number, description: 'Rate/unit price (can be negative or zero)', example: 25 }, propertyId: { type: integer, description: 'Property ID for this line item', example: 67890 }, propertyBuildingId: { type: integer, description: 'Property building ID (optional)', example: 111 }, propertyUnitId: { type: integer, description: 'Property unit ID (optional)', example: 222 }, glDimensionId: { type: integer, description: 'GL dimension ID (optional)', example: 333 }, companyDepartmentId: { type: integer, description: 'Company department ID (optional)', example: 444 }, glAccountId: { type: integer, description: 'GL account ID (required for standard purchase orders)', example: 555 }, description: { type: string, description: 'Line item description (optional)', example: 'Office paper supplies' }, isConfidential: { type: integer, description: 'Whether line item is confidential (0 for false, 1 for true)', example: 0 }, isTaxable: { type: integer, description: 'Whether line item is taxable (0 for false, 1 for true)', example: 1 }, apCodeId: { type: integer, description: 'AP code ID (required for job purchase orders)', example: 666 }, jobPhaseId: { type: integer, description: 'Job phase ID (required for job purchase orders)', example: 777 }, apContractId: { type: integer, description: 'AP contract ID (optional)', example: 888 } } } } } } } } } } } } } } } } }, sendVendors-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [sendVendors], description: 'Method name to be called', example: sendVendors }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [vendors], properties: { vendors: { type: object, required: [vendor], properties: { vendor: { type: array, items: { type: object, required: [businessName, nameOnTaxReturn], properties: { businessName: { type: string, description: 'The business name of the vendor', example: 'ABC Construction Company' }, externalId: { type: string, description: 'External identifier for the vendor', example: EXT123456 }, note: { type: string, description: 'Additional notes about the vendor', example: 'Preferred contractor for plumbing work' }, isRequirePoForInvoice: { type: string, enum: ['0', '1'], description: 'Whether PO is required for invoices (1 = yes, 0 = no)', example: '1' }, isOnSite: { type: string, enum: ['0', '1'], description: 'Whether vendor is on-site (1 = yes, 0 = no)', example: '0' }, defaultGlAccountId: { type: integer, description: 'Default GL Account ID for the vendor', example: 12345 }, isConsolidated: { type: string, enum: ['0', '1'], description: 'Whether vendor is consolidated (1 = yes, 0 = no)', example: '0' }, nameOnTaxReturn: { type: string, description: 'Name as it appears on tax return (required if no legalEntities provided)', example: 'ABC Construction Company LLC' }, taxIdNumber: { type: string, description: 'Tax identification number', example: 12-3456789 }, isSubsidiary: { type: string, enum: ['0', '1'], description: 'Whether vendor allows subsidiary vendors (1 = yes, 0 = no)', example: '0' }, websiteUrl: { type: string, description: 'Vendor website URL', example: 'https://www.example.com' }, categories: { type: object, properties: { categoryTypeId: { type: array, items: { type: integer }, description: 'Array of category type IDs for the vendor', example: [1, 2, 3] } } }, legalEntities: { type: object, properties: { legalEntity: { type: object, required: [nameOnTaxReturn], properties: { nameOnTaxReturn: { type: string, description: 'Legal entity name on tax return', example: 'ABC Construction Company LLC' }, taxIdNumber: { type: string, description: 'Tax identification number for legal entity', example: 12-3456789 }, ownerTypeId: { type: integer, description: 'Owner type identifier', example: 1 }, receives1099: { type: integer, enum: [0, 1], description: 'Whether entity receives 1099 (1 = yes, 0 = no)', example: 1 }, form1099TypeId: { type: integer, description: 'Form 1099 type identifier', example: 1 }, form1099BoxTypeId: { type: integer, description: 'Form 1099 box type identifier', example: 1 } } } } }, contacts: { type: object, properties: { contact: { type: array, items: { type: object, properties: { firstName: { type: string, description: 'Contact first name', example: John }, lastName: { type: string, description: 'Contact last name', example: Smith }, position: { type: string, description: 'Contact position/title', example: 'Project Manager' }, phone: { type: string, description: 'Contact phone number', example: 555-123-4567 }, email: { type: string, format: email, description: 'Contact email address', example: john.smith@example.com }, isPrimary: { type: integer, enum: [0, 1], description: 'Whether this is the primary contact (1 = yes, 0 = no)', example: 1 } } } } } }, locations: { type: object, properties: { location: { type: array, items: { type: object, properties: { name: { type: string, description: 'Location name', example: 'Main Office' }, defaultRoutingTagId: { type: integer, description: 'Default routing tag ID for location', example: 1 }, vendorCode: { type: string, description: 'Unique vendor code for location', example: ABC001 }, notes: { type: string, description: 'Notes for the location', example: 'Primary business location' }, addressLine1: { type: string, description: 'First line of address', example: '123 Main Street' }, addressLine2: { type: string, description: 'Second line of address', example: 'Suite 100' }, city: { type: string, description: 'City name', example: Anytown }, state: { type: string, description: 'State code', example: CA }, postalCode: { type: string, description: 'Postal/ZIP code', example: '12345' }, country: { type: string, description: 'Country code', example: US }, phone: { type: string, description: 'Location phone number', example: 555-123-4567 }, email: { type: string, format: email, description: 'Location email address', example: contact@example.com }, isPrimary: { type: string, enum: ['0', '1'], description: 'Whether this is the primary location', example: '1' }, approvedForAllProperties: { type: string, enum: ['0', '1'], description: 'Whether approved for all properties', example: '1' }, properties: { type: object, properties: { propertyId: { type: array, description: 'Array of property IDs or property objects with compliance status', items: { oneOf: [{ type: integer }, { type: object, properties: { '@value': { type: integer, description: 'Property ID', example: 456 }, '@attributes': { type: object, properties: { compliance_status_id: { type: integer, description: 'Compliance status ID', example: 1 } } } } }] }, example: [123, { '@value': 456, '@attributes': { compliance_status_id: 1 } }] } } }, remittances: { type: object, properties: { remittance: { type: array, items: { type: object, properties: { id: { type: integer, description: 'ID for updating existing remittance', example: 12345 }, apPaymentTypeId: { type: integer, description: 'Payment type ID (required for new remittances)', example: 1 }, remittanceName: { type: string, description: 'Name of the remittance (required for new remittances)', example: 'Check Payment' }, bankAccountTypeId: { type: integer, description: 'Bank account type ID (for ACH payments)', example: 1 }, nameOnAccount: { type: string, description: 'Name on bank account (required for ACH)', example: 'ABC Construction Company' }, routingNumber: { type: integer, description: 'Bank routing number (required for ACH)', example: 123456789 }, accountNumber: { type: string, description: 'Bank account number (required for ACH)', example: '123456789012' }, addressLine1: { type: string, description: 'Address line 1 (for check/written check payments)', example: '123 Main Street' }, addressLine2: { type: string, description: 'Address line 2 (for check/written check payments)', example: 'Suite 100' }, city: { type: string, description: 'City (for check/written check payments)', example: Anytown }, state: { type: string, description: 'State code (for check/written check payments)', example: CA }, postalCode: { type: string, description: 'Postal code (for check/written check payments)', example: '12345' }, isDefault: { type: integer, enum: [0, 1], description: 'Whether this is default remittance (1 = yes, 0 = no)', example: 1 }, accounts: { type: object, description: 'Accounts associated with the remittance', properties: { account: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Account ID for updates', example: 12345 }, accountNumber: { type: string, description: 'Account number (required for new accounts)', example: ACC-12345 }, description: { type: string, description: 'Account description', example: 'Primary vendor account' }, glAccountId: { type: integer, description: 'GL Account ID', example: 54321 }, propertyId: { type: integer, description: 'Default property ID for the account', example: 123 }, utilityBillReceiptTypeId: { type: integer, description: 'Utility bill receipt type ID', example: 1 }, isAuditInvoice: { type: integer, enum: [0, 1], description: 'Whether to audit invoices (1 = yes, 0 = no)', example: 0 }, isCaptureInvoiceTotalOnly: { type: integer, enum: [0, 1], description: 'Whether to capture invoice total only (1 = yes, 0 = no)', example: 0 }, isDisabledInvoice: { type: integer, enum: [0, 1], description: 'Whether invoices are disabled (1 = yes, 0 = no)', example: 0 }, subAccounts: { type: object, description: 'Sub accounts associated with this account', properties: { subAccount: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Sub account ID for updates', example: 67890 }, accountNumber: { type: string, description: 'Sub account number', example: SUB-12345 }, description: { type: string, description: 'Sub account description', example: 'Maintenance sub account' }, glAccountId: { type: integer, description: 'GL Account ID for sub account', example: 54322 } } } } } } } } } } } } } } } } } } } } }, insurances: { type: object, description: 'Insurance information for the vendor', properties: { insurance: { type: array, items: { type: object, properties: { coverageId: { type: integer, description: 'Coverage ID for updating existing insurance', example: 12345 }, coverageName: { type: string, description: 'Name of the insurance coverage (required if no coverageId)', example: 'General Liability' }, legalEntityIds: { type: array, items: { type: integer }, description: 'Array of legal entity IDs', example: [123, 456] }, legalEntityNames: { type: array, items: { type: string }, description: 'Array of legal entity names', example: ['ABC Construction LLC', 'ABC Services Inc'] }, document: { type: object, description: 'Insurance document information', required: [propertyIds], properties: { propertyIds: { type: array, items: { type: integer }, description: 'Property IDs where insurance applies (required for new coverage, optional when updating existing coverage via coverageId)', example: [123, 456] }, file: { type: object, description: 'Insurance document file', properties: { fileName: { type: string, description: 'File name (must be PDF format)', example: insurance_certificate.pdf }, fileData: { type: string, description: 'Base64 encoded file data', example: JVBERi0xLjQKJcOkw7zDssO... }, fileKey: { type: string, description: 'File key for NetVendor uploads', example: nv_file_key_123 } } } } }, policies: { type: object, description: 'Insurance policies', properties: { policy: { type: array, items: { type: object, required: [policyTypeId, description, policyNumber, brokerName, expirationDate], properties: { policyTypeId: { type: integer, description: 'Policy type ID (required)', example: 1 }, description: { type: string, description: 'Policy description (required)', example: 'General Liability Insurance' }, policyNumber: { type: string, description: 'Policy number (required)', example: GL-123456789 }, brokerName: { type: string, description: 'Insurance broker name (required)', example: 'ABC Insurance Brokers' }, expirationDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Policy expiration date in mm/dd/yyyy format (required)', example: 12/31/2024 }, coverages: { type: object, description: 'Policy coverages and limits', properties: { coverage: { type: array, items: { type: object, required: [id, amount], properties: { id: { type: integer, description: 'Coverage ID (required)', example: 1 }, amount: { type: number, description: 'Coverage amount (required)', example: 1000000 } } } } } } } } } } } } } } } } } } } } } } } } } } }, updateInvoices-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateInvoices], description: 'Method name to be called', example: updateInvoices }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters', required: [apHeaders], properties: { apHeaders: { type: object, required: [apHeader], properties: { apHeader: { type: array, description: 'Array of AP headers to update', items: { type: object, required: [id], properties: { id: { type: integer, description: 'The AP header ID to update', example: 12345 }, isOnHold: { type: string, enum: ['0', '1'], description: 'Put invoice on hold status. 0 for false, 1 for true', example: '0' }, routingTagId: { type: integer, description: 'Routing tag ID for the invoice', example: 789 }, invoicePayment: { type: object, description: 'Invoice payment at header level (mutually exclusive with apDetail level payments)', required: [invoicePaymentId, paymentAmount], properties: { invoicePaymentId: { type: string, description: 'Invoice payment ID reference', example: INV-PAYMENT-002 }, paymentAmount: { type: number, description: 'Payment amount (must equal total invoice amount - partial payments not allowed at header level)', example: 500 } } }, apDetails: { type: object, properties: { apDetail: { type: array, description: 'Array of AP details within the header', items: { type: object, required: [id], properties: { id: { type: integer, description: 'The AP detail ID', example: 67890 }, invoicePayment: { type: object, description: 'Invoice payment at detail level (mutually exclusive with header level payment)', required: [invoicePaymentId, paymentAmount], properties: { invoicePaymentId: { type: string, description: 'Invoice payment ID reference', example: INV-PAYMENT-001 }, paymentAmount: { type: number, description: 'Payment amount for this detail', example: 100.5 } } }, creditAllocation: { type: object, description: 'Credit allocation at detail level', required: [creditApDetailId, creditAmount], properties: { creditApDetailId: { type: integer, description: 'Credit AP detail ID to allocate from', example: 5555 }, creditAmount: { type: number, description: 'Credit amount to allocate (must be numeric and greater than 0)', minimum: 0.01, example: 75.25 } } } } } } } } } } } } }, invoicePayments: { type: object, properties: { invoicePayment: { type: array, description: 'Array of invoice payments to process', items: { type: object, required: [invoicePaymentId, paymentTypeId, paymentNumber, paymentDate], properties: { invoicePaymentId: { type: string, description: 'Unique identifier for the invoice payment', example: INV-PAYMENT-001 }, paymentTypeId: { type: integer, description: 'Payment type ID', example: 1 }, paymentNumber: { type: string, description: 'Payment number (string for most payment types, integer for checks)', example: CHK-12345 }, paymentDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Payment date in mm/dd/yyyy format', example: 12/15/2023 }, postMonth: { type: string, description: 'Post month for the payment', example: 12/2023 }, paymentMemo: { type: string, description: 'Optional memo/note for the payment', example: 'Payment for December services' } } } } } }, creditAllocations: { type: object, description: 'Global-level credit allocations (alternative to apDetail-level credit allocations)', properties: { creditAllocation: { type: array, description: 'Array of credit allocations to process at global level', items: { type: object, required: [creditApDetailId, postDate], properties: { creditApDetailId: { type: integer, description: 'Credit AP detail ID', example: 9876 }, postDate: { type: string, format: date, description: 'Post date in YYYY-MM-DD format (ISO date)', example: '2023-12-15' }, postMonth: { type: string, description: 'Post month for the credit allocation', example: 12/2023 } } } } } } } } } } } }, updateVendors-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [updateVendors], description: 'Method name to be called', example: updateVendors }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, required: [vendors], properties: { vendors: { type: object, required: [vendor], properties: { vendor: { type: array, description: 'Array of vendor objects to update', items: { type: object, required: [vendorId], properties: { vendorId: { type: integer, description: 'Unique identifier of the vendor to update', example: 12345 }, businessName: { type: string, description: 'Business name of the vendor', example: 'ABC Construction Company' }, externalId: { type: string, description: 'External identifier for the vendor', example: EXT123456 }, note: { type: string, description: 'Additional notes about the vendor', example: 'Preferred contractor for plumbing work' }, apPayeeTypeId: { type: integer, description: 'Type of AP payee', example: 1 }, apPayeeStatusTypeId: { type: integer, description: 'Status type of the AP payee (1=Active, 2=Inactive, 3=Locked)', enum: [1, 2, 3], example: 1 }, apPayeeTermId: { type: integer, description: 'Payment terms ID for the vendor', example: 5 }, defaultGlAccountId: { type: integer, description: 'Default GL account ID for the vendor', example: 1001 }, websiteUrl: { type: string, format: uri, description: "Vendor's website URL", example: 'https://www.abcconstruction.com' }, isConsolidated: { type: string, enum: ['0', '1'], description: 'Whether vendor payments should be consolidated (0 or 1)', example: '0' }, isOnSite: { type: string, enum: ['0', '1'], description: 'Whether vendor works on-site (0 or 1)', example: '1' }, isRequirePoForInvoice: { type: string, enum: ['0', '1'], description: 'Whether PO is required for invoices (0 or 1)', example: '0' }, isSubsidiary: { type: string, enum: ['0', '1'], description: 'Whether vendor allows subsidiary vendors (1 = yes, 0 = no)', example: '0' }, categories: { type: object, properties: { categoryTypeId: { type: array, items: { type: integer }, description: 'Array of category type IDs', example: [10, 20, 30] } } }, legalEntities: { type: object, properties: { legalEntity: { type: object, properties: { id: { type: integer, description: 'Legal entity ID for updating existing legal entity', example: 12345 }, nameOnTaxReturn: { type: string, description: 'Name as it appears on tax returns (primary field name)', example: 'ABC Construction Company LLC' }, taxIdNumber: { type: string, description: 'Tax identification number (encrypted in database)', example: 12-3456789 }, ownerTypeId: { type: integer, description: 'Owner type ID for the legal entity', example: 1 }, receives1099: { type: integer, enum: [0, 1], description: 'Whether entity receives 1099 (1 = yes, 0 = no)', example: 1 }, form1099TypeId: { type: integer, description: '1099 form type ID (required if receives1099 = 1)', example: 1 }, form1099BoxTypeId: { type: integer, description: '1099 box type ID (required if receives1099 = 1)', example: 1 } } } } }, contacts: { type: object, properties: { contact: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Contact ID for updating existing contact', example: 12345 }, firstName: { type: string, description: 'Contact first name (required for new contacts)', example: John }, lastName: { type: string, description: 'Contact last name (required for new contacts)', example: Smith }, position: { type: string, description: 'Contact position/title', example: 'Project Manager' }, phone: { type: string, description: 'Contact phone number', example: 555-123-4567 }, fax: { type: string, description: 'Contact fax number', example: 555-123-4568 }, email: { type: string, format: email, description: 'Contact email address', example: john.smith@example.com }, isPrimary: { type: integer, enum: [0, 1], description: 'Whether this is the primary contact (1 = yes, 0 = no)', example: 1 }, associatedLocations: { type: object, description: 'Locations associated with this contact', properties: { locationIds: { type: array, items: { type: integer }, description: 'Array of location IDs (comma-separated values supported)', example: [1, 2, 3] }, locationNames: { type: array, items: { type: string }, description: 'Array of location names (comma-separated values supported)', example: ['Main Office', 'Branch Office'] } } }, isPrimaryForLocations: { type: object, description: 'Locations where this contact is primary', properties: { locationIds: { type: array, items: { type: integer }, description: 'Array of location IDs where contact is primary (comma-separated values supported)', example: [1] }, locationNames: { type: array, items: { type: string }, description: 'Array of location names where contact is primary (comma-separated values supported)', example: ['Main Office'] } } } } } } } }, locations: { type: object, properties: { location: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Location ID for updating existing location', example: 67890 }, name: { type: string, description: 'Location name', example: 'Main Office' }, defaultRoutingTagId: { type: integer, description: 'Default routing tag ID for location', example: 1 }, vendorCode: { type: string, description: 'Unique vendor code for location', example: ABC001 }, notes: { type: string, description: 'Notes for the location', example: 'Primary business location' }, addressLine1: { type: string, description: 'First line of address', example: '123 Main Street' }, addressLine2: { type: string, description: 'Second line of address', example: 'Suite 100' }, city: { type: string, description: 'City name', example: Anytown }, state: { type: string, description: 'State code', example: CA }, postalCode: { type: string, description: 'Postal/ZIP code', example: '12345' }, country: { type: string, description: 'Country code', example: US }, phone: { type: string, description: 'Location phone number', example: 555-123-4567 }, email: { type: string, format: email, description: 'Location email address', example: contact@example.com }, isPrimary: { type: string, enum: ['0', '1'], description: 'Whether this is the primary location', example: '1' }, approvedForAllProperties: { type: string, enum: ['0', '1'], description: 'Whether approved for all properties', example: '1' }, legalEntityName: { type: string, description: 'Legal entity name to associate with this location', example: 'ABC Construction LLC' }, properties: { type: object, properties: { propertyId: { type: array, items: { oneOf: [{ type: integer }, { type: object, properties: { '@value': { type: integer, description: 'Property ID', example: 1234 }, '@attributes': { type: object, properties: { compliance_status_id: { type: integer, description: 'Compliance status ID', example: 1234 }, is_deleted: { type: integer, enum: [0, 1], description: 'Whether to mark property as deleted (1 = yes, 0 = no)', example: 0 } } } } }] }, description: 'Array of property IDs or property objects with compliance status and deletion flag', example: [123, { '@value': 456, '@attributes': { compliance_status_id: 1, is_deleted: 0 } }] } } }, remittances: { type: object, properties: { remittance: { type: array, items: { type: object, properties: { id: { type: integer, description: 'ID for updating existing remittance', example: 12345 }, apPaymentTypeId: { type: integer, description: 'Payment type ID (required for new remittances)', example: 1 }, remittanceName: { type: string, description: 'Name of the remittance (required for new remittances)', example: 'Check Payment' }, bankAccountTypeId: { type: integer, description: 'Bank account type ID (for ACH payments)', example: 1 }, nameOnAccount: { type: string, description: 'Name on bank account (required for ACH)', example: 'ABC Construction Company' }, routingNumber: { type: integer, description: 'Bank routing number (required for ACH)', example: 123456789 }, accountNumber: { type: string, description: 'Bank account number (required for ACH)', example: '123456789012' }, addressLine1: { type: string, description: 'Address line 1 (for check/written check payments)', example: '123 Main Street' }, addressLine2: { type: string, description: 'Address line 2 (for check/written check payments)', example: 'Suite 100' }, city: { type: string, description: 'City (for check/written check payments)', example: Anytown }, state: { type: string, description: 'State code (for check/written check payments)', example: CA }, postalCode: { type: string, description: 'Postal code (for check/written check payments)', example: '12345' }, isDefault: { type: integer, enum: [0, 1], description: 'Whether this is default remittance (1 = yes, 0 = no)', example: 1 }, accounts: { type: object, description: 'Accounts associated with the remittance', properties: { account: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Account ID for updates', example: 12345 }, accountNumber: { type: string, description: 'Account number (required for new accounts)', example: ACC-12345 }, description: { type: string, description: 'Account description', example: 'Primary vendor account' }, glAccountId: { type: integer, description: 'GL Account ID', example: 54321 }, propertyId: { type: integer, description: 'Default property ID for the account', example: 123 }, utilityBillReceiptTypeId: { type: integer, description: 'Utility bill receipt type ID', example: 1 }, isAuditInvoice: { type: integer, enum: [0, 1], description: 'Whether to audit invoices (1 = yes, 0 = no)', example: 0 }, isCaptureInvoiceTotalOnly: { type: integer, enum: [0, 1], description: 'Whether to capture invoice total only (1 = yes, 0 = no)', example: 0 }, isDisabledInvoice: { type: integer, enum: [0, 1], description: 'Whether invoices are disabled (1 = yes, 0 = no)', example: 0 }, subAccounts: { type: object, description: 'Sub accounts associated with this account', properties: { subAccount: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Sub account ID for updates', example: 67890 }, accountNumber: { type: string, description: 'Sub account number', example: SUB-12345 }, description: { type: string, description: 'Sub account description', example: 'Maintenance sub account' }, glAccountId: { type: integer, description: 'GL Account ID for sub account', example: 54322 } } } } } } } } } } } } } } } } } } } } }, insurances: { type: object, description: 'Insurance information for the vendor', properties: { insurance: { type: array, items: { type: object, properties: { coverageId: { type: integer, description: 'Coverage ID for updating existing insurance', example: 12345 }, coverageName: { type: string, description: 'Name of the insurance coverage (required if no coverageId)', example: 'General Liability' }, legalEntityIds: { type: array, items: { type: integer }, description: 'Array of legal entity IDs', example: [123, 456] }, legalEntityNames: { type: array, items: { type: string }, description: 'Array of legal entity names', example: ['ABC Construction LLC', 'ABC Services Inc'] }, document: { type: object, description: 'Insurance document information', properties: { propertyIds: { type: array, items: { type: integer }, description: 'Property IDs where insurance applies (required)', example: [123, 456] }, file: { type: object, description: 'Insurance document file', properties: { fileName: { type: string, description: 'File name (must be PDF format)', example: insurance_certificate.pdf }, fileData: { type: string, description: 'Base64 encoded file data', example: JVBERi0xLjQKJcOkw7zDssO... }, fileKey: { type: string, description: 'File key for NetVendor uploads', example: nv_file_key_123 } } } } }, policies: { type: object, description: 'Insurance policies', properties: { policy: { type: array, items: { type: object, properties: { policyTypeId: { type: integer, description: 'Policy type ID (required)', example: 1 }, description: { type: string, description: 'Policy description (required)', example: 'General Liability Insurance' }, policyNumber: { type: string, description: 'Policy number (required)', example: GL-123456789 }, brokerName: { type: string, description: 'Insurance broker name (required)', example: 'ABC Insurance Brokers' }, expirationDate: { type: string, pattern: '^(0[1-9]|1[0-2])/(0[1-9]|[12][0-9]|3[01])/[0-9]{4}$', description: 'Policy expiration date in mm/dd/yyyy format (required)', example: 12/31/2024 }, coverages: { type: object, description: 'Policy coverages and limits', properties: { coverage: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Coverage ID (required)', example: 1 }, amount: { type: number, description: 'Coverage amount (required)', example: 1000000 } } } } } } } } } } } } } } } } } } } } } } } } } } }, voidApPayments-r1-request-schema: { type: object, required: [auth, method], properties: { auth: { type: object, required: [type], properties: { type: { type: string, enum: [apikey], description: 'Authentication type', example: apikey } } }, requestId: { type: string, description: 'an arbitrary value sent with the request.', example: '15' }, method: { type: object, required: [name, params], properties: { name: { type: string, enum: [voidApPayments], description: 'Method name to be called', example: voidApPayments }, version: { type: string, enum: [r1], description: 'API version', example: r1 }, params: { type: object, description: 'Method parameters containing payment(s) to void with void date, post month, and optional note', required: [apPayments], properties: { apPayments: { type: object, required: [apPayment], properties: { apPayment: { type: array, description: 'Array of payments to void', items: { type: object, properties: { paymentId: { type: integer, description: 'Payment ID (optional - if not provided, then paymentNumber, paymentBankAccountId, paymentTypeId, and paymentAmount become required)', example: 12345 }, paymentNumber: { type: string, description: 'Payment number (required if paymentId not provided)', example: PAY-2023-001 }, paymentBankAccountId: { type: integer, description: 'Bank account ID (required if paymentId not provided)', example: 67890 }, paymentTypeId: { type: integer, description: 'Payment type ID (required if paymentId not provided)', example: 1 }, paymentAmount: { type: number, format: float, description: 'Payment amount (required if paymentId not provided)', example: 1500.5 }, voidDate: { type: string, format: date, description: 'Date to void the payment (ISO 8601 date format yyyy-mm-dd)', example: '2023-12-15' }, postMonth: { type: string, description: 'Post month in mm/yyyy format', pattern: '^(0[1-9]|1[0-2])/[0-9]{4}$', example: 12/2023 }, note: { type: string, description: 'Note for the void transaction', example: 'Payment voided due to error' } }, required: [voidDate, postMonth, note] } } } } } } } } } }, getInvoices-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [invoices], properties: { invoices: { type: object, required: [invoice], properties: { invoice: { type: array, items: { type: object, description: 'Invoice details', properties: { id: { type: integer, description: 'Invoice ID', example: 12345 }, isOnHold: { type: string, description: "Whether the invoice is on hold ('t' for on hold, 'f' for not on hold)", enum: [t, f], example: f }, invoiceNumber: { type: string, description: 'Invoice number', example: INV-001 }, date: { type: string, description: 'Invoice date (MM/DD/YYYY format)', example: 06/15/2023 }, postMonth: { type: string, description: 'Post month of the invoice (MM/DD/YYYY format)', example: 06/01/2023 }, reversalInvoiceId: { type: integer, description: 'Reversal invoice ID (if applicable)', example: 12346 }, dueDate: { type: string, description: 'Invoice due date (MM/DD/YYYY format)', example: 07/15/2023 }, remittance: { type: object, properties: { id: { type: integer, description: 'Remittance ID', example: 2001 }, name: { type: string, description: 'Remittance name', example: 'ABC Vendor Inc.' }, apPaymentTypeId: { type: string, description: 'AP payment type ID', example: '1' }, apPaymentType: { type: string, description: 'AP payment type name', example: ACH }, streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, checkAccountTypeName: { type: string, description: 'Check account type name (for ACH)', example: Checking }, checkNameOnAccount: { type: string, description: 'Name on account (for ACH)', example: 'ABC Vendor Inc.' } } }, customer: { type: object, properties: { id: { type: integer, description: 'Customer ID', example: 5001 }, externalId: { type: string, description: 'External customer ID', example: CUST-5001 }, unitNumber: { type: string, description: 'Unit number', example: '101' }, address: { type: object, properties: { streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryCode: { type: string, description: 'Country code', example: US } } } } }, vendor: { type: object, properties: { id: { type: integer, description: 'Vendor ID', example: 1001 }, name: { type: string, description: 'Vendor name', example: 'ABC Vendor Inc.' }, locationName: { type: string, description: 'Vendor location name', example: 'Main Office' }, externalId: { type: string, description: 'External vendor ID', example: EXT-1001 }, address: { type: object, properties: { streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' } } } } }, refundDetails: { type: object, properties: { propertyId: { type: integer, description: 'Property ID for refund', example: 100 }, refundPaymentType: { type: string, description: 'Refund payment type', example: ACH }, description: { type: string, description: 'Refund description', example: 'Security deposit refund' }, invoiceNumber: { type: string, description: 'Refund invoice number', example: REF-001 }, remittanceName: { type: string, description: 'Remittance name', example: 'John Doe' }, routingNumber: { type: string, description: 'Bank routing number (for ACH)', example: '123456789' }, accountNumber: { type: string, description: 'Bank account number (for ACH)', example: '9876543210' }, nameOnAccount: { type: string, description: 'Name on bank account (for ACH)', example: 'John Doe' }, refundProcessedOn: { type: string, description: 'Refund processed date (MM/DD/YYYY format)', example: 06/15/2023 }, refundAmount: { type: string, description: 'Refund amount (formatted with $)', example: $500.00 }, moveOutDate: { type: string, description: 'Move out date (MM/DD/YYYY format)', example: 05/31/2023 }, fmoProcessedOn: { type: string, description: 'FMO processed timestamp (MM/DD/YYYY HH:MM:SS format)', example: '06/01/2023 14:30:00' }, address: { type: object, properties: { addressLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, addressLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, addressLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryCode: { type: string, description: 'Country code', example: US } } }, tenants: { type: object, properties: { tenant: { type: array, items: { type: object, description: 'Tenant information for refund', properties: { firstName: { type: string, description: "Tenant's first name", example: John }, middleName: { type: string, description: "Tenant's middle name (optional)", example: Michael }, lastName: { type: string, description: "Tenant's last name (optional)", example: Doe } } } } } } } }, invoicePayments: { type: object, properties: { invoicePayment: { type: array, items: { type: object, description: 'Payment information for the invoice', properties: { paymentId: { type: integer, description: 'Payment ID', example: 12345 }, paymentBankId: { type: integer, description: 'Payment bank account ID', example: 456 }, paymentBankName: { type: string, description: 'Payment bank name', example: 'Wells Fargo' }, paymentBankAccountName: { type: string, description: 'Payment bank account name', example: 'Operating Account' }, paymentType: { type: string, description: 'Payment type name', example: ACH }, paymentStatus: { type: string, description: 'Payment status', example: Processed }, reconciliationStatus: { type: string, description: 'Reconciliation status', example: Cleared }, paymentReturnedReason: { type: string, description: 'Payment returned reason (if returned)', example: 'Insufficient funds' }, paymentMemo: { type: string, description: 'Payment memo', example: 'Monthly service payment' }, paymentDate: { type: string, description: 'Payment date (MM/DD/YYYY format)', example: 06/15/2023 }, paymentIssuedOn: { type: string, description: 'Payment issued date (MM/DD/YYYY format)', example: 06/15/2023 }, payeeName: { type: string, description: 'Payee name', example: 'ABC Vendor Inc.' }, paymentNumber: { type: string, description: 'Payment number', example: PMT-001234 }, paymentAmount: { type: string, description: 'Payment amount (formatted)', example: '1250.00' }, postMonth: { type: string, description: 'Post month (MM/DD/YYYY format)', example: 06/01/2023 }, postDate: { type: string, description: 'Post date (MM/DD/YYYY format)', example: 06/15/2023 }, isReversed: { type: integer, enum: [0, 1], description: 'Whether payment is reversed (0 for false, 1 for true)', example: 0 }, isQuickCheck: { type: integer, enum: [0, 1], description: 'Whether payment is quick check (0 for false, 1 for true)', example: 0 } } } } } }, amount: { type: string, description: 'Total invoice amount (formatted with $)', example: '$1,250.00' }, amountDue: { type: string, description: 'Amount due on invoice (formatted with $)', example: $500.00 }, note: { type: string, description: 'Invoice note/memo', example: 'Monthly maintenance charges' }, isPosted: { type: string, description: "Whether the invoice is posted ('true' for posted, 'false' for not posted)", enum: ['true', 'false'], example: 'true' }, purchaseOrder: { type: object, properties: { id: { type: integer, description: 'Purchase order ID', example: 3001 }, number: { type: string, description: 'Purchase order number', example: PO-2023-001 }, date: { type: string, description: 'Purchase order date (MM/DD/YYYY format)', example: 06/01/2023 } } }, lineItems: { type: object, properties: { lineitem: { type: array, items: { type: object, description: 'Invoice line item details', properties: { id: { type: integer, description: 'Line item ID', example: 67890 }, property: { type: object, properties: { id: { type: integer, description: 'Property ID', example: 100 }, name: { type: string, description: 'Property name', example: 'Property A' }, lookupCode: { type: string, description: 'Property lookup code', example: PROP100 } } }, glAccount: { type: object, properties: { id: { type: integer, description: 'GL account ID', example: 2000 }, name: { type: string, description: 'GL account name', example: 'Maintenance Expense' }, accountNumber: { type: string, description: 'GL account number', example: '5100' }, secondaryNumber: { type: string, description: 'GL account secondary number', example: '1234567890' } } }, description: { type: string, description: 'Line item description', example: 'HVAC Repair' }, quantity: { type: number, description: 'Line item quantity', example: 1 }, rate: { type: string, description: 'Line item rate (formatted with $)', example: '$1,250.00' }, amount: { type: string, description: 'Line item amount (formatted with $)', example: '$1,250.00' }, amountDue: { type: string, description: 'Line item amount due (formatted with $)', example: $500.00 }, shippingAmount: { type: string, description: 'Line item shipping amount (formatted with $)', example: $100.00 }, discountAmount: { type: string, description: 'Line item discount amount (formatted with $)', example: $50.00 }, taxAmount: { type: string, description: 'Line item tax amount (formatted with $)', example: $100.00 }, paymentIds: { type: string, description: 'Comma-separated payment IDs associated with this line item', example: '123,456' } } } } } } } } } } } } } } } } }, getInvoices-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [invoices], properties: { invoices: { type: object, required: [invoice], properties: { invoice: { type: array, items: { type: object, description: 'Invoice details', properties: { id: { type: integer, description: 'Invoice ID', example: 12345 }, isOnHold: { type: integer, enum: [0, 1], description: 'Whether invoice is on hold (0 for false, 1 for true)', example: 0 }, invoiceNumber: { type: string, description: 'Invoice number', example: INV-001 }, invoiceType: { type: string, description: 'Invoice type/subtype name', example: Standard }, date: { type: string, description: 'Invoice date (yyyy-mm-dd format)', example: '2023-06-15' }, postMonth: { type: string, description: 'Post month (yyyy-mm-dd format)', example: '2023-06-01' }, postStatus: { type: string, description: 'Post status', example: Posted }, reversalInvoiceId: { type: integer, description: 'Reversal invoice ID (if applicable)', example: 12346 }, dueDate: { type: string, description: 'Invoice due date (yyyy-mm-dd format)', example: '2023-07-15' }, postDate: { type: string, description: 'Post date (yyyy-mm-dd format)', example: '2023-06-16' }, invoiceNote: { type: string, description: 'Invoice note/memo', example: 'Monthly maintenance service' }, routingTagId: { type: integer, description: 'Routing tag ID', example: 100 }, routingTagName: { type: string, description: 'Routing tag name', example: Maintenance }, remittance: { type: object, properties: { id: { type: integer, description: 'Remittance ID', example: 1001 }, name: { type: string, description: 'Remittance name', example: 'ABC Vendor Inc.' }, apPaymentTypeId: { type: integer, description: 'AP payment type ID', example: 1 }, apPaymentType: { type: string, description: 'AP payment type name', example: ACH }, streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, checkAccountTypeName: { type: string, description: 'Check account type name (for ACH)', example: Checking }, checkNameOnAccount: { type: string, description: 'Name on account (for ACH)', example: 'ABC Vendor Inc.' } } }, customer: { type: object, description: 'Customer information (present when invoice is for a customer; mutually exclusive with vendor)', properties: { id: { type: integer, description: 'Customer ID', example: 5001 }, externalId: { type: string, description: 'External customer ID', example: CUST-5001 }, unitNumber: { type: string, description: 'Unit number', example: '101' }, address: { type: object, properties: { streetLine1: { type: string, description: 'Street address line 1', example: '456 Oak Ave' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Apt 2B' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryCode: { type: string, description: 'Country code', example: US } } } } }, vendor: { type: object, description: 'Vendor information (present when invoice is for a vendor; mutually exclusive with customer)', properties: { id: { type: integer, description: 'Vendor ID', example: 1001 }, name: { type: string, description: 'Vendor name', example: 'ABC Vendor Inc.' }, locationName: { type: string, description: 'Vendor location name', example: 'Main Office' }, locationCode: { type: string, description: 'Vendor location code', example: VENDOR001 }, externalId: { type: string, description: 'External vendor ID', example: EXT-1001 }, address: { type: object, properties: { streetLine1: { type: string, description: 'Street address line 1', example: '123 Main St' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' } } } } }, account: { type: object, properties: { id: { type: integer, description: 'AP payee account ID', example: 12345 }, accountNumber: { type: string, description: 'Account number', example: ACC-001234 } } }, refundDetails: { type: object, properties: { propertyId: { type: integer, description: 'Property ID for refund', example: 100 }, refundPaymentType: { type: string, description: 'Refund payment type', example: ACH }, description: { type: string, description: 'Refund description', example: 'Security deposit refund' }, invoiceNumber: { type: string, description: 'Refund invoice number', example: REF-001 }, remittanceName: { type: string, description: 'Remittance name', example: 'John Doe' }, routingNumber: { type: string, description: 'Bank routing number (for ACH)', example: '123456789' }, accountNumber: { type: string, description: 'Bank account number (for ACH)', example: '9876543210' }, nameOnAccount: { type: string, description: 'Name on bank account (for ACH)', example: 'John Doe' }, refundProcessedOn: { type: string, format: date, description: 'Refund processed date (ISO 8601 date format yyyy-mm-dd)', example: '2023-06-15' }, refundAmount: { type: string, description: 'Refund amount (numeric format with 2 decimal places)', example: '500.00' }, moveOutDate: { type: string, format: date, description: 'Move out date (ISO 8601 date format yyyy-mm-dd)', example: '2023-05-31' }, fmoProcessedOn: { type: string, description: 'FMO processed timestamp (yyyy-mm-dd hh:mm:ss format)', example: '2023-06-01 14:30:00' }, address: { type: object, properties: { streetLine1: { type: string, description: 'Street address line 1', example: '456 Oak Ave' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Apt 2B' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, countryCode: { type: string, description: 'Country code', example: US } } }, tenants: { type: object, properties: { tenant: { type: array, items: { type: object, description: 'Tenant information for refund', properties: { firstName: { type: string, description: "Tenant's first name", example: John }, middleName: { type: string, description: "Tenant's middle name (optional)", example: Michael }, lastName: { type: string, description: "Tenant's last name (optional)", example: Doe } } } } } } } }, invoicePayments: { type: object, properties: { invoicePayment: { type: array, items: { type: object, description: 'Payment information for the invoice', properties: { paymentId: { type: integer, description: 'Payment ID', example: 12345 }, paymentBankId: { type: integer, description: 'Payment bank account ID', example: 456 }, paymentBankName: { type: string, description: 'Payment bank name', example: 'Wells Fargo' }, paymentBankAccountName: { type: string, description: 'Payment bank account name', example: 'Operating Account' }, paymentType: { type: string, description: 'Payment type name', example: ACH }, paymentStatus: { type: string, description: 'Payment status', example: Processed }, reconciliationStatus: { type: string, description: 'Reconciliation status', example: Cleared }, paymentReturnedReason: { type: string, description: 'Payment returned reason (if returned)', example: 'Insufficient funds' }, paymentMemo: { type: string, description: 'Payment memo', example: 'Monthly service payment' }, paymentDate: { type: string, description: 'Payment date (yyyy-mm-dd format)', example: '2023-06-15' }, paymentIssuedOn: { type: string, description: 'Payment issued date (yyyy-mm-dd format)', example: '2023-06-15' }, payeeName: { type: string, description: 'Payee name', example: 'ABC Vendor Inc.' }, paymentNumber: { type: string, description: 'Payment number', example: PMT-001234 }, paymentAmount: { type: string, description: 'Payment amount (formatted)', example: '1250.00' }, postMonth: { type: string, description: 'Post month (yyyy-mm-dd format)', example: '2023-06-01' }, postDate: { type: string, description: 'Post date', example: '2023-06-15' }, isReversed: { type: integer, enum: [0, 1], description: 'Whether payment is reversed (0 for false, 1 for true)', example: 0 }, isQuickCheck: { type: integer, enum: [0, 1], description: 'Whether payment is quick check (0 for false, 1 for true)', example: 0 } } } } } }, subTotal: { type: string, description: 'Invoice subtotal amount (formatted)', example: '1250.00' }, taxAmount: { type: string, description: 'Invoice tax amount (formatted)', example: '100.00' }, shippingAmount: { type: string, description: 'Invoice shipping amount (formatted)', example: '25.00' }, discountAmount: { type: string, description: 'Invoice discount amount (formatted)', example: '50.00' }, amount: { type: string, description: 'Total invoice amount (numeric format with 2 decimal places)', example: '1250.00' }, amountDue: { type: string, description: 'Amount due on invoice (numeric format with 2 decimal places)', example: '500.00' }, note: { type: string, description: 'Invoice note/memo', example: 'Monthly maintenance service' }, retention: { type: string, description: 'Total retention amount for invoice (formatted)', example: '125.00' }, isPosted: { type: integer, enum: [0, 1], description: 'Whether invoice is posted (0 for false, 1 for true)', example: 1 }, lineItems: { type: object, properties: { lineItem: { type: array, items: { type: object, description: 'Invoice line item details', properties: { id: { type: integer, description: 'Line item ID', example: 67890 }, property: { type: object, properties: { id: { type: integer, description: 'Property ID', example: 100 }, name: { type: string, description: 'Property name', example: 'Property A' }, lookupCode: { type: string, description: 'Property lookup code', example: PROP-A-001 } } }, glAccount: { type: object, properties: { id: { type: integer, description: 'GL Account ID', example: 2000 }, name: { type: string, description: 'GL Account name', example: 'Maintenance Expense' }, accountNumber: { type: string, description: 'GL Account number', example: '5100' }, secondaryNumber: { type: string, description: 'GL Account secondary number', example: '1234567890' }, catalogItemName: { type: string, description: 'Catalog item name associated with GL account', example: 'HVAC Maintenance Services' } } }, jobCostDetails: { type: object, description: 'Job cost tracking details (for Standard Job Invoices)', properties: { jobCostCodeId: { type: integer, description: 'Job cost code ID', example: 4001 }, jobCostCodeName: { type: string, description: 'Job cost code name', example: 'HVAC Maintenance' }, jobId: { type: integer, description: 'Job phase ID', example: 5001 }, jobName: { type: string, description: 'Job phase name', example: 'Building A HVAC Project' }, contractId: { type: integer, description: 'Contract ID', example: 6001 }, contractName: { type: string, description: 'Contract name', example: 'Annual HVAC Maintenance Contract' } } }, departmentId: { type: integer, description: 'Company department ID', example: 7001 }, departmentName: { type: string, description: 'Company department name', example: 'Facilities Management' }, propertyUnitNumber: { type: string, description: 'Property unit number', example: 101A }, propertyBuildingNumber: { type: string, description: 'Property building name/number', example: 'Building A' }, maintenanceLocationId: { type: integer, description: 'Maintenance location ID', example: 8001 }, poNumber: { type: string, description: 'Purchase order number', example: PO-2024-001 }, customTagId: { type: integer, description: 'Custom tag (GL dimension) ID', example: 9001 }, customTagName: { type: string, description: 'Custom tag (GL dimension) name', example: 'Capital Projects' }, confidential: { type: integer, enum: [0, 1], description: 'Whether line item is confidential (0 for false, 1 for true)', example: 0 }, is1099: { type: integer, enum: [0, 1], description: 'Whether line item is 1099 reportable (0 for false, 1 for true)', example: 1 }, billback: { type: integer, enum: [0, 1], description: 'Whether line item is billback (0 for false, 1 for true) - Standard Invoices only', example: 0 }, description: { type: string, description: 'Line item description', example: 'HVAC Repair' }, quantity: { type: number, description: 'Line item quantity', example: 1 }, unitOfMeasure: { type: integer, description: 'Unit of measure ID (for Catalog Invoices)', example: 10 }, rate: { type: string, description: 'Line item rate (numeric format with 2 decimal places)', example: '1250.00' }, subTotal: { type: string, description: 'Line item subtotal amount (formatted)', example: '1250.00' }, amount: { type: string, description: 'Line item amount (numeric format with 2 decimal places)', example: '1250.00' }, amountDue: { type: string, description: 'Line item amount due (numeric format with 2 decimal places)', example: '500.00' }, discountAmount: { type: string, description: 'Line item discount amount (numeric format with 2 decimal places)', example: '50.00' }, taxAmount: { type: string, description: 'Line item tax amount (numeric format with 2 decimal places)', example: '100.00' }, retention: { type: string, description: 'Line item retention amount (formatted)', example: '62.50' }, paymentIds: { type: string, description: 'Comma-separated payment IDs associated with this line item', example: '123,456' } } } } } } } } } } } } } } } } }, getPoReceivingRecords-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [purchaseOrders], properties: { purchaseOrders: { type: object, required: [purchaseOrder], properties: { purchaseOrder: { type: array, items: { type: object, description: 'Purchase order with receiving details', properties: { purchaseOrderNumber: { type: integer, description: 'Purchase order number', example: 123456 }, purchaseOrderPostMonth: { type: string, description: 'Purchase order post month (MM/YYYY format)', example: 06/2023 }, poDetails: { type: object, properties: { poDetail: { type: array, items: { type: object, description: 'Purchase order detail item with receiving records', properties: { id: { type: integer, description: 'Purchase order detail ID', example: 12345 }, catalogItemName: { type: string, description: 'Name of the catalog item', example: 'Office Supplies - Pens' }, qtyOrdered: { type: number, description: 'Quantity ordered', example: 100 }, unitCost: { type: string, description: 'Unit cost (formatted with 2 decimal places)', example: '1.50' }, receivingRecords: { type: object, properties: { receivingRecord: { type: array, items: { type: object, description: 'Item receiving record details', properties: { id: { type: integer, description: 'Receiving record ID', example: 5001 }, propertyId: { type: integer, description: 'Property ID where item was received', example: 100 }, createdOn: { type: string, description: 'Created timestamp (MM/DD/YYYY HH:MM:SS timezone format)', example: '06/15/2023 14:30:00 MST' }, postMonthReceived: { type: string, description: 'Post month when received (MM/YYYY format)', example: 06/2023 }, receiverName: { type: string, description: 'Name of person who received the item', example: 'John Doe' }, assetLocation: { type: string, description: 'Asset location where item was stored', example: 'Warehouse A' }, qtyReceived: { type: string, description: 'Quantity received (formatted with 3 decimal places)', example: '95.000' }, unitCost: { type: string, description: 'Unit cost (formatted with 2 decimal places)', example: '1.50' }, dateReceived: { type: string, format: date, description: 'Date item was received (ISO 8601 date format yyyy-mm-dd)', example: '2023-06-15' }, qtyInvoiced: { type: number, description: 'Quantity that has been invoiced', example: 90 } } } }, returnRecord: { type: array, items: { type: object, description: 'Item return record details', properties: { receiverId: { type: integer, description: 'Return record ID', example: 5002 }, propertyId: { type: integer, description: 'Property ID where item was returned from', example: 100 }, createdOn: { type: string, description: 'Created timestamp (MM/DD/YYYY HH:MM:SS timezone format)', example: '06/20/2023 10:15:00 MST' }, creditInvoiceId: { type: integer, description: 'Credit invoice ID associated with return', example: 7001 }, qtyReturned: { type: string, description: 'Quantity returned (formatted with 3 decimal places)', example: '5.000' }, unitCost: { type: string, description: 'Unit cost (formatted with 2 decimal places)', example: '1.50' }, dateReturned: { type: string, format: date, description: 'Date item was returned (ISO 8601 date format yyyy-mm-dd)', example: '2023-06-20' }, postMonthReturned: { type: string, description: 'Post month when returned (MM/YYYY format)', example: 06/2023 }, receiverName: { type: string, description: 'Name of person who processed the return', example: 'Jane Smith' }, assetLocation: { type: string, description: 'Asset location where item was returned to', example: 'Warehouse A' } } } }, unreceivingRecord: { type: array, items: { type: object, description: 'Item unreceiving record details', properties: { id: { type: integer, description: 'Unreceiving record ID', example: 5003 }, propertyId: { type: integer, description: 'Property ID where item was unreceived', example: 100 }, createdOn: { type: string, description: 'Created timestamp (MM/DD/YYYY HH:MM:SS timezone format)', example: '06/25/2023 16:45:00 MST' }, postMonthUnreceived: { type: string, description: 'Post month when unreceived (MM/YYYY format)', example: 06/2023 }, unreceiverName: { type: string, description: 'Name of person who unreceived the item', example: 'Mike Johnson' }, assetLocation: { type: string, description: 'Asset location where item was unreceived from', example: 'Warehouse A' }, qtyUnreceived: { type: string, description: 'Quantity unreceived (formatted with 3 decimal places)', example: '10.000' }, unitCost: { type: string, description: 'Unit cost (formatted with 2 decimal places)', example: '1.50' }, dateUnreceived: { type: string, format: date, description: 'Date item was unreceived (ISO 8601 date format yyyy-mm-dd)', example: '2023-06-25' }, qtyInvoiced: { type: number, description: 'Quantity that has been invoiced', example: 0 } } } } } }, cancelledRecords: { type: object, properties: { cancelledRecord: { type: array, items: { type: object, description: 'Item cancelled record details', properties: { id: { type: integer, description: 'Cancelled record ID', example: 6001 }, propertyId: { type: integer, description: 'Property ID where item was cancelled', example: 100 }, createdOn: { type: string, description: 'Created timestamp (MM/DD/YYYY HH:MM:SS timezone format)', example: '07/01/2023 09:30:00 MST' }, qtyCancelled: { type: string, description: 'Quantity cancelled (formatted with 3 decimal places)', example: '25.000' }, unitCost: { type: string, description: 'Unit cost (formatted with 2 decimal places)', example: '1.50' }, dateCancelled: { type: string, format: date, description: 'Date item was cancelled (ISO 8601 date format yyyy-mm-dd)', example: '2023-07-01' }, postMonthCancelled: { type: string, description: 'Post month when cancelled (MM/YYYY format)', example: 07/2023 }, cancelledBy: { type: string, description: 'Name of person who cancelled the item', example: 'Admin User' } } } } } } } } } } } } } } } } } } } } } }, getPurchaseOrders-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [purchaseOrders], properties: { purchaseOrders: { type: object, required: [purchaseOrder], properties: { purchaseOrder: { type: array, items: { type: object, description: 'Purchase order details', properties: { purchaseOrderNumber: { type: string, description: 'Purchase order number', example: '123456' }, purchaseOrderType: { type: string, description: 'Purchase order type name', example: 'Standard Purchase Order' }, vendor: { type: object, description: 'Vendor information', properties: { id: { type: integer, description: 'Vendor ID', example: 1234 }, name: { type: string, description: 'Vendor company name', example: 'ABC Supply Company' } } }, vendorCode: { type: string, description: 'Vendor code', example: VND001 }, vendorLocation: { type: string, description: 'Vendor location name', example: 'Main Office' }, postMonth: { type: string, description: 'Post month (MM/DD/YYYY format)', example: 06/01/2023 }, postDate: { type: string, description: 'Post date (MM/DD/YYYY format)', example: 06/15/2023 }, poStatusId: { type: integer, description: 'Purchase order physical status type ID', example: 1 }, poApprovalTypeId: { type: integer, description: 'Purchase order financial approval status type ID', example: 1 }, routingTagId: { type: integer, description: 'Routing tag ID', example: 101 }, poNote: { type: string, description: 'Purchase order note/memo', example: 'Office supplies order for Q2' }, unitNumberId: { type: integer, description: 'Bulk unit number ID', example: 501 }, createdOn: { type: string, description: 'Creation timestamp (MM/DD/YYYY HH:MM:SS.ss T format)', example: '06/01/2023 10:30:00.00 MDT' }, attachedUrl: { type: string, description: 'Attached external URL', example: 'https://vendor.com/po/12345' }, subTotal: { type: string, description: 'Subtotal amount (formatted with 2 decimal places)', example: '1000.00' }, taxAmount: { type: string, description: 'Tax amount (formatted with 2 decimal places)', example: '80.00' }, shippingAmount: { type: string, description: 'Shipping amount (formatted with 2 decimal places)', example: '25.00' }, discountAmount: { type: string, description: 'Discount amount (formatted with 2 decimal places)', example: '50.00' }, orderAmount: { type: string, description: 'Total order amount (formatted with 2 decimal places)', example: '1055.00' }, lineItems: { type: object, description: 'Purchase order line items', properties: { lineItem: { type: array, items: { type: object, description: 'Purchase order line item details', properties: { id: { type: integer, description: 'Line item detail ID', example: 67890 }, glAccountId: { type: string, description: 'GL account ID', example: '2001' }, glAccountNumber: { type: string, description: 'GL account number', example: '5100001' }, catalogItemName: { type: string, description: 'Catalog item name', example: 'Office Supplies - Pens' }, contractName: { type: string, description: 'Contract name', example: 'Stationery Contract 2023' }, job: { type: string, description: 'Job phase name', example: 'Office Renovation Phase 1' }, catalogItemNumber: { type: string, description: 'Catalog item number', example: ITEM-12345 }, description: { type: string, description: 'Line item description', example: 'Blue ink ballpoint pens, 12-pack' }, orderStatus: { type: string, description: 'Order status ID', example: '1' }, orderQuantity: { type: string, description: 'Order quantity (formatted with 3 decimal places)', example: '100.000' }, unitOfMeasure: { type: string, description: 'Unit of measure ID', example: '1' }, rate: { type: string, description: 'Unit rate (formatted with 3 decimal places)', example: '1.500' }, subTotal: { type: string, description: 'Line item subtotal (formatted with 2 decimal places)', example: '150.00' }, taxAmount: { type: string, description: 'Line item tax amount (formatted with 2 decimal places)', example: '12.00' }, shippingAmount: { type: string, description: 'Line item shipping amount (formatted with 2 decimal places)', example: '5.00' }, discountAmount: { type: string, description: 'Line item discount amount (formatted with 2 decimal places)', example: '7.50' }, orderAmount: { type: string, description: 'Line item total amount (formatted with 2 decimal places)', example: '159.50' }, propertyId: { type: string, description: 'Property ID', example: '100' }, propertyUnitNumber: { type: string, description: 'Property unit number', example: '101' }, propertyBuildingNumber: { type: string, description: 'Property building name/number', example: 'Building A' }, unitDesignation: { type: string, description: 'Unit designation (for military properties)', example: CORE }, departmentId: { type: string, description: 'Company department ID', example: '301' }, customTagId: { type: string, description: 'Custom tag (GL dimension) ID', example: '401' }, customTagName: { type: string, description: 'Custom tag (GL dimension) name', example: 'Maintenance Tag' }, customTagCode: { type: string, description: 'Custom tag (GL dimension) code', example: MAINT-001 }, isConfidential: { type: integer, enum: [0, 1], description: 'Whether line item is confidential (0 for false, 1 for true)', example: 0 }, invoices: { type: object, description: 'Associated invoices for this line item', properties: { invoice: { type: array, items: { type: object, description: 'Invoice information', properties: { invoiceId: { type: integer, description: 'Invoice ID', example: 8001 }, invoiceNumber: { type: string, description: 'Invoice number', example: INV-2023-001 } } } } } } } } } } } } } } } } } } } } } }, getTaxFormData-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Properties], properties: { Properties: { type: object, required: [property], properties: { property: { type: object, description: 'Properties indexed by property ID (keys are property IDs like "100", "200")', properties: { '@attributes': { type: object, description: 'Property metadata attributes', properties: { id: { type: integer, description: 'Property ID', example: 100 } } }, vendors: { type: object, description: 'Vendors associated with this property', properties: { vendor: { type: array, items: { type: object, description: 'Individual vendor tax form data', properties: { vendorId: { type: integer, description: 'Vendor ID', example: 5001 }, vendorType: { type: string, description: 'Vendor type (Business, Individual, Unknown)', example: Business }, vendorTinType: { type: integer, description: 'TIN type ID (1=Individual, 2=Business, 3=Unknown)', example: 2 }, vendorTin: { type: string, description: 'Vendor Tax Identification Number', example: 12-3456789 }, vendorBusinessNameorName: { type: string, description: 'Vendor business name or individual name', example: 'ABC Construction Company' }, nameOnTaxReturn: { type: string, description: 'Name as it appears on tax return', example: 'ABC Construction Company Inc.' }, vendorAddress1: { type: string, description: 'Vendor address line 1', example: '123 Main Street' }, vendorAddress2: { type: string, description: 'Vendor address line 2', example: 'Suite 100' }, vendorCity: { type: string, description: 'Vendor city', example: Anytown }, vendorState: { type: string, description: 'Vendor state name', example: 'New York' }, vendorZipCode: { type: string, description: 'Vendor ZIP code', example: '12345' }, vendorPhoneNumber: { type: string, description: 'Vendor phone number', example: 555-123-4567 }, formType: { type: string, description: '1099 form type name', example: 1099-MISC }, form1099Boxes: { type: object, description: '1099 form box data for this vendor', properties: { form1099Box: { type: object, description: 'Individual 1099 form box information', properties: { boxNumber: { type: string, description: '1099 form box number', example: 'Box 1' }, boxValue: { type: string, description: 'Amount for this box', example: '15000.00' } } } } } } } } } }, payers: { type: object, description: 'Payer information for tax forms', properties: { '@attributes': { type: object, description: 'Payer metadata attributes', properties: { isCompanyLevel: { type: integer, enum: [0, 1], description: 'Whether payer is at company level (0 for false, 1 for true)', example: 1 } } }, payer: { type: array, items: { type: object, description: 'Individual payer information', properties: { payerType: { type: string, description: 'Payer type (Business, Individual, Unknown)', example: Business }, payerTinType: { type: integer, description: 'Payer TIN type ID (1=Individual, 2=Business, 3=Unknown)', example: 2 }, payerTin: { type: string, description: 'Payer Tax Identification Number', example: 98-7654321 }, payerBusinessNameOrName: { type: string, description: 'Payer business name or individual name', example: 'Property Management LLC' }, payerAddress1: { type: string, description: 'Payer address line 1', example: '456 Business Ave' }, payerAddress2: { type: string, description: 'Payer address line 2', example: 'Floor 3' }, payerCity: { type: string, description: 'Payer city', example: 'Business City' }, payerState: { type: string, description: 'Payer state name', example: California }, payerZipCode: { type: string, description: 'Payer ZIP code', example: '90210' }, payerPhoneNumber: { type: string, description: 'Payer phone number', example: 555-987-6543 } } } } } } } } } } } } } } } }, getVendorLocations-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [Locations], properties: { Locations: { type: object, required: [Location], properties: { Location: { type: object, description: 'Locations indexed by location ID', properties: { '@attributes': { type: object, description: 'Location metadata attributes', properties: { Id: { type: integer, description: 'Location ID', example: 3001 }, Name: { type: string, description: 'Location name', example: 'Main Office' } } }, VendorId: { type: string, description: 'Vendor ID', example: '1234' }, VendorName: { type: string, description: 'Vendor company name', example: 'ABC Construction Company' }, VendorCode: { type: string, description: 'Vendor code', example: VND001 }, ExternalId: { type: string, description: 'External vendor ID', example: EXT-12345 }, Status: { type: string, description: 'Vendor status', example: Active }, Term: { type: string, description: 'Payment terms', example: 'Net 30' }, Accounts: { type: object, description: 'Vendor account information', properties: { Account: { type: array, items: { type: object, properties: { AccountId: { type: integer, description: 'Account ID', example: 5001 }, AccountNumber: { type: string, description: 'Account number', example: ACC-2023-001 }, Description: { type: string, description: 'Account description', example: 'General Services Account' }, RemittanceId: { type: integer, description: 'Default remittance ID', example: 7001 }, RemittanceName: { type: string, description: 'Remittance name', example: 'ABC Construction Remittance' }, RemittancePaymentTypeId: { type: integer, description: 'Payment type ID', example: 1 }, GlAccountId: { type: integer, description: 'GL account ID', example: 2001 }, LocationName: { type: string, description: 'Location name for account', example: 'Main Office' }, PropertyId: { type: integer, description: 'Default property ID', example: 100 }, UtilityBillReceiptTypeId: { type: integer, description: 'Utility bill receipt type ID', example: 1 }, IsAuditInvoice: { type: integer, enum: [0, 1], description: 'Whether to audit invoices (0 for false, 1 for true)', example: 0 }, IsDisabled: { type: integer, enum: [0, 1], description: 'Whether account is disabled (0 for false, 1 for true)', example: 0 }, IsCaptureInvoiceTotalOnly: { type: integer, enum: [0, 1], description: 'Whether to capture invoice total only (0 for false, 1 for true)', example: 0 }, SubAccounts: { type: object, description: 'Sub-account information for this account', properties: { SubAccount: { type: array, items: { type: object, description: 'Individual sub-account details', properties: { SubAccountNumber: { type: string, description: 'Sub-account number', example: SUB-001 }, Description: { type: string, description: 'Sub-account description', example: 'Materials Sub-account' }, GlAccountId: { type: integer, description: 'GL account ID for sub-account', example: 2002 } } } } } } } } } } }, LegalEntity: { type: object, description: 'Legal entity information for the vendor', properties: { '@attributes': { type: object, description: 'Legal entity metadata attributes', properties: { Id: { type: integer, description: 'Legal entity ID', example: 8001 } } }, '@value': { type: string, description: 'Legal entity name', example: 'ABC Construction Company LLC' } } }, Properties: { type: object, properties: { Property: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Property ID', example: 100 }, Name: { type: string, description: 'Property name', example: 'Sunset Apartments' } } } } } } } }, Contacts: { type: object, properties: { Contact: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Type: { type: string, description: 'Contact type', example: Vendor } } }, Name: { type: string, description: 'Contact name', example: 'John Smith' }, StreetLine1: { type: string, description: 'Street address line 1', example: '123 Main Street' }, StreetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, StreetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, Province: { type: string, description: Province, example: Ontario }, City: { type: string, description: City, example: Anytown }, State: { type: string, description: 'State code', example: NY }, Country: { type: string, description: 'Country code', example: USA }, PostalCode: { type: string, description: 'Postal code', example: '12345' }, PhoneNumber: { type: string, description: 'Phone number', example: 555-123-4567 }, FaxNumber: { type: string, description: 'Fax number', example: 555-123-4568 }, EmailAddress: { type: string, format: email, description: 'Email address', example: john.smith@abcconstruction.com }, WebsiteUrl: { type: string, description: 'Website URL', example: 'https://www.abcconstruction.com' } } } } } } } } } }, Insurances: { type: object, properties: { Insurance: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Id: { type: integer, description: 'Insurance ID', example: 9001 }, Provider: { type: string, description: 'Insurance provider name', example: 'ABC Insurance Company' } } }, VendorId: { type: string, description: 'Vendor ID associated with insurance', example: '1234' }, PolicyTypes: { type: object, properties: { PolicyType: { type: array, items: { type: object, properties: { Type: { type: string, description: 'Policy type', example: 'General Liability' }, PolicyNumber: { type: string, description: 'Policy number', example: GL-12345678 }, Expiration: { type: string, description: 'Policy expiration date (MM/DD/YYYY format)', example: 12/31/2024 }, Coverages: { type: object, properties: { Coverage: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { Item: { type: string, description: 'Coverage item name', example: 'Per Occurrence' }, Amount: { type: string, description: 'Coverage amount', example: '1000000.00' } } } } } } } } } } } } } } } } } } } } } } } }, getVendorPickLists-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, properties: { vendorCategoryTypes: { type: object, properties: { vendorCategoryType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Vendor category type ID', example: 1 }, name: { type: string, description: 'Vendor category type name', example: Construction } } } } } } } }, ownerTypes: { type: object, properties: { ownerType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Owner type ID', example: 1 }, name: { type: string, description: 'Owner type name', example: Individual } } } } } } } }, apPayeeTerms: { type: object, properties: { apPayeeTerm: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Payment terms ID', example: 1 }, name: { type: string, description: 'Payment terms name', example: 'Net 30' }, discount: { type: string, description: 'Discount terms description', example: '2% if paid within 10 days' }, dueDate: { type: string, description: 'Due date description', example: '30 Days after invoice date' } } } } } } } }, apPayeeTypes: { type: object, properties: { apPayeeType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Payee type ID', example: 1 }, name: { type: string, description: 'Payee type name', example: Standard } } } } } } } }, apPayeeStatusTypes: { type: object, properties: { apPayeeStatusType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Status type ID', example: 1 }, name: { type: string, description: 'Status type name', example: Active } } } } } } } }, form1099Types: { type: object, properties: { form1099Type: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Form 1099 type ID', example: 1 }, name: { type: string, description: 'Form 1099 type name', example: 1099-MISC } } } } } } } }, form1099BoxTypes: { type: object, properties: { form1099BoxType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Form 1099 box type ID', example: 1 }, name: { type: string, description: 'Form 1099 box type name with description', example: 'Box 1 - Nonemployee compensation' } } } } } } } }, apRemittanceTypes: { type: object, properties: { apRemittanceType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Remittance type ID', example: 1 }, name: { type: string, description: 'Remittance type name', example: Check } } } } } } } }, utilityBillReceiptTypes: { type: object, properties: { utilityBillReceiptType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Utility bill receipt type ID', example: 1 }, name: { type: string, description: 'Utility bill receipt type name', example: Electric } } } } } } } }, bankAccountTypes: { type: object, properties: { bankAccountType: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Bank account type ID', example: 1 }, name: { type: string, description: 'Bank account type name', example: Checking } } } } } } } }, complianceStatuses: { type: object, properties: { complianceStatus: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Compliance status ID', example: 1 }, name: { type: string, description: 'Compliance status name', example: Compliant } } } } } } } }, routingTags: { type: object, properties: { routingTag: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Routing tag ID', example: 1 }, name: { type: string, description: 'Routing tag name', example: Maintenance } } }, transactionTypes: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Transaction type ID', example: 1 }, name: { type: string, description: 'Transaction type name', example: Invoice } } } } } } } } }, policies: { type: object, properties: { policy: { type: array, items: { type: object, properties: { policyTypeId: { type: integer, description: 'Policy type ID', example: 1 }, policyTypeName: { type: string, description: 'Policy type name', example: 'General Liability' }, coverages: { type: object, properties: { coverage: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Coverage ID', example: 1 }, name: { type: string, description: 'Coverage name', example: 'Per Occurrence' } } } } } } } } } } }, purchaseOrderStatuses: { type: object, properties: { purchaseOrderStatus: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Purchase order status ID', example: 1 }, name: { type: string, description: 'Purchase order status name', example: Open } } } } } }, purchaseOrderTypes: { type: object, properties: { purchaseOrderType: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Purchase order type ID', example: 1 }, name: { type: string, description: 'Purchase order type name', example: 'Standard Purchase Order' } } } } } }, invoiceTypes: { type: object, properties: { invoiceType: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Invoice type ID', example: 1 }, name: { type: string, description: 'Invoice type name', example: 'Standard Invoice' } } } } } }, purchaseOrderApprovalTypes: { type: object, properties: { purchaseOrderApprovalType: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Purchase order approval type ID', example: 1 }, name: { type: string, description: 'Purchase order approval type name', example: Approved } } } } } }, unitsOfMeasure: { type: object, properties: { unitOfMeasure: { type: array, items: { type: object, properties: { '@attributes': { type: object, properties: { id: { type: integer, description: 'Unit of measure ID', example: 1 }, name: { type: string, description: 'Unit of measure name', example: Each }, type: { type: string, description: 'Unit of measure type', example: Quantity } } } } } } } } } } } } } }, getVendors-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [vendors], properties: { vendors: { type: object, required: [vendor], properties: { vendor: { type: array, description: "Array of vendor records. Vendors within the caller's authorized property scope include the full detail set. Vendors explicitly requested by the caller that fall outside their authorized scope are returned as minimal records containing only id, vendorName, and locations.", items: { type: object, properties: { id: { type: integer, description: 'Vendor ID', example: 1234 }, vendorName: { type: string, description: 'Vendor company name', example: 'ABC Construction Company' }, vendorTypeId: { type: integer, description: 'Vendor type ID', example: 1 }, vendorType: { type: string, description: 'Vendor type name', example: Standard }, statusTypeId: { type: integer, description: 'Status type ID', example: 1 }, status: { type: string, description: 'Status name', example: Active }, termId: { type: integer, description: 'Payment term ID', example: 1 }, term: { type: string, description: 'Payment term name', example: 'Net 30' }, defaultGlAccountId: { type: integer, description: 'Default GL account ID', example: 2001 }, defaultGlAccount: { type: string, description: 'Default GL account name', example: 'Accounts Payable' }, isConsolidated: { type: boolean, description: 'Whether vendor is consolidated', example: false }, externalId: { type: string, description: 'External vendor ID', example: EXT-12345 }, isOnSite: { type: boolean, description: 'Whether vendor is on-site', example: false }, vendorCategoryTypeId: { type: array, items: { type: integer }, description: 'Array of vendor category type IDs', example: [1, 3, 5] }, vendorCategoryType: { type: array, items: { type: string }, description: 'Array of vendor category type names', example: [Construction, Maintenance, Landscaping] }, website: { type: string, description: 'Vendor website URL', example: 'https://www.abcconstruction.com' }, notes: { type: string, description: 'Vendor notes', example: 'Preferred contractor for HVAC work' }, legalEntities: { type: object, properties: { legalEntity: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Legal entity ID', example: 8001 }, name: { type: string, description: 'Legal entity name', example: 'ABC Construction Company LLC' }, taxIdNumber: { type: string, description: 'Tax ID number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, receives1099: { type: boolean, description: 'Whether entity receives 1099', example: true }, form1099TypeId: { type: integer, description: 'Form 1099 type ID', example: 1 }, form1099Type: { type: string, description: 'Form 1099 type name', example: 1099-MISC }, form1099BoxTypeId: { type: integer, description: 'Form 1099 box type ID', example: 1 }, form1099BoxType: { type: string, description: 'Form 1099 box type name and description', example: 'Box 1-Nonemployee compensation' } } } } } }, apRemittances: { type: object, properties: { apRemittance: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Remittance ID', example: 7001 }, name: { type: string, description: 'Remittance name', example: 'ABC Construction Remittance' }, locationId: { type: integer, description: 'Location ID', example: 3001 }, apPaymentTypeId: { type: integer, description: 'Payment type ID', example: 1 }, apPaymentType: { type: string, description: 'Payment type name', example: Check }, checkAccountTypeId: { type: integer, description: 'Check account type ID', example: 1 }, checkAccountType: { type: string, description: 'Check account type name', example: Checking }, checkNameOnAccount: { type: string, description: 'Name on bank account', example: 'ABC Construction Company LLC' }, checkRoutingNumber: { type: string, description: 'Bank routing number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, checkAccountNumber: { type: string, description: 'Bank account number as a JWE-encrypted string. Emitted only when the calling App has a PII public key registered; otherwise this field is omitted entirely (no cleartext PII is ever returned).', example: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0... }, streetLine1: { type: string, description: 'Street address line 1', example: '123 Main Street' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, streetLine3: { type: string, description: 'Street address line 3', example: 'Floor 2' }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, country: { type: string, description: 'Country code', example: USA }, isDefault: { type: integer, enum: [0, 1], description: 'Whether this is the default remittance (0 for false, 1 for true)', example: 1 } } } } } }, contacts: { type: object, properties: { contact: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Contact ID', example: 6001 }, nameFirst: { type: string, description: 'First name', example: John }, nameLast: { type: string, description: 'Last name', example: Smith }, email: { type: string, format: email, description: 'Email address', example: john.smith@abcconstruction.com }, phone: { type: string, description: 'Phone number (without country code)', example: 555-123-4567 }, position: { type: string, description: 'Job title/position', example: 'Project Manager' }, faxNumber: { type: string, description: 'Fax number (without country code)', example: 555-123-4568 } } } } } }, locations: { type: object, properties: { location: { type: array, items: { type: object, properties: { id: { type: integer, description: 'Location ID', example: 3001 }, name: { type: string, description: 'Location name', example: 'Main Office' }, vendorCode: { type: string, description: 'Vendor code for this location', example: VND001 }, legalEntityId: { type: string, description: 'Legal entity ID', example: '8001' }, apRemittanceId: { type: integer, description: 'Default remittance ID for location', example: 7001 }, isPrimary: { type: string, enum: [t, f], description: 'Whether this is the primary location ("t" for true, "f" for false)', example: t }, note: { type: string, description: 'Location notes', example: 'Primary business address' }, streetLine1: { type: string, description: 'Street address line 1', example: '123 Main Street' }, streetLine2: { type: string, description: 'Street address line 2', example: 'Suite 100' }, country: { type: string, description: 'Country code', example: USA }, city: { type: string, description: City, example: Anytown }, stateCode: { type: string, description: 'State code', example: NY }, postalCode: { type: string, description: 'Postal code', example: '12345' }, approvedForAllProperties: { type: string, enum: ['0', '1'], description: 'Whether approved for all properties ("0" for false, "1" for true)', example: '0' }, propertyIds: { type: string, description: 'Comma-separated property IDs associated with the location (only present when not approved for all properties). All associated property IDs are emitted as-is, without authorization filtering.', example: '100,200,300' } } } } } }, compliances: { type: object, properties: { compliance: { type: array, items: { type: object, properties: { legalEntityId: { type: string, description: 'Legal entity ID', example: '8001' }, legalEntity: { type: string, description: 'Legal entity name', example: 'ABC Construction Company LLC' }, propertyId: { type: integer, description: 'Property ID', example: 100 }, statusId: { type: integer, description: 'Compliance status ID', example: 1 }, status: { type: string, description: 'Compliance status name', example: Compliant } } } } } }, accounts: { type: object, properties: { account: { type: array, items: { type: object, properties: { accountId: { type: integer, description: 'Account ID', example: 5001 }, accountNumber: { type: string, description: 'Account number', example: ACC-2023-001 }, description: { type: string, description: 'Account description', example: 'General Services Account' }, remittanceId: { type: integer, description: 'Remittance ID', example: 7001 }, remittanceName: { type: string, description: 'Remittance name', example: 'ABC Construction Remittance' }, remittancePaymentTypeId: { type: integer, description: 'Payment type ID', example: 1 }, glAccountId: { type: integer, description: 'GL account ID', example: 2001 }, locationName: { type: string, description: 'Location name', example: 'Main Office' }, propertyId: { type: integer, description: 'Property ID', example: 100 }, utilityBillReceiptTypeId: { type: integer, description: 'Utility bill receipt type ID', example: 1 }, isAuditInvoice: { type: integer, enum: [0, 1], description: 'Whether to audit invoices (0 for false, 1 for true)', example: 0 }, isDisabled: { type: integer, enum: [0, 1], description: 'Whether account is disabled (0 for false, 1 for true)', example: 0 }, isCaptureInvoiceTotalOnly: { type: integer, enum: [0, 1], description: 'Whether to capture invoice total only (0 for false, 1 for true)', example: 0 }, subAccounts: { type: object, properties: { subAccount: { type: array, items: { type: object, properties: { subAccountNumber: { type: string, description: 'Sub-account number', example: SUB-001 }, description: { type: string, description: 'Sub-account description', example: 'Materials Sub-account' }, glAccountId: { type: integer, description: 'GL account ID for sub-account', example: 2002 } } } } } } } } } } } } } } } } } } } } } }, markInvoicesExported-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The response code (200 for success, other codes for failure)', example: 200 }, result: { type: object, description: 'Contains either success or failure message depending on operation outcome', properties: { success: { type: string, description: 'Success message when operation completes successfully', example: 'Invoices marked as exported successfully.' }, failure: { type: string, description: 'Failure message when operation encounters an error', example: 'Failed to mark invoices as exported.' } } } } } } }, sendInvoices-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [ApBatch], properties: { ApBatch: { type: object, properties: { '@attributes': { type: object, properties: { reference_id: { type: integer, description: 'Generated batch reference ID from the system (null if batch creation failed)', example: 8001 } } }, ApHeaders: { type: object, properties: { ApHeader: { type: array, items: { type: object, description: 'Processed invoice header details', properties: { '@attributes': { type: object, properties: { reference_id: { type: integer, description: 'Generated header reference ID', example: 9001 }, invoice_number: { type: string, description: 'Invoice number from the request (for tracking)', example: INV-2023-001 }, node: { type: integer, description: 'Header node counter/position', example: 1 }, status: { type: string, description: 'Processing status of the header', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Processing message or error details', example: 'ApHeader inserted successfully.' } } } } } } } } }, description: 'Response batch data with generated batch ID and processing status for each header' } } } } } } }, sendInvoices-r2-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [apBatch], properties: { apBatch: { type: object, description: 'Response batch data with generated batch ID and processing status for each header', properties: { apBatchId: { type: integer, description: 'Generated batch ID from the system (null if batch creation failed)', example: 8001 }, apHeaders: { type: object, properties: { apHeader: { type: array, items: { type: object, description: 'Processed invoice header details', properties: { node: { type: integer, description: 'Header node counter/position', example: 1 }, invoiceNumber: { type: string, description: 'Invoice number from the request (for tracking)', example: '255555551' }, apHeaderId: { type: integer, description: 'Generated AP header ID', example: 9001 }, status: { type: string, description: 'Processing status of the header', enum: [Success, Failure], example: Success }, message: { type: string, description: 'Processing message or error details', example: 'ApHeader inserted successfully.' } } } } } } } } } } } } } }, sendPurchaseOrders-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [apHeaders], properties: { apHeaders: { type: object, required: [apHeader], properties: { apHeader: { type: array, description: 'Array of purchase order response objects', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'The node number in the request (1-based)', example: 1 }, status: { type: string, description: 'Status of the purchase order creation', enum: [Success, Failed], example: Success }, message: { type: string, description: 'Response message', example: 'Purchase Order inserted successfully' }, apHeaderId: { type: integer, description: 'Created AP header ID (only present on success)', example: 789012 }, poNumber: { type: integer, description: 'Generated purchase order number (only present on success)', example: 789012 } } } } } } } } } } } }, sendVendors-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [vendors], properties: { vendors: { type: object, properties: { vendor: { type: array, items: { type: object, properties: { '@attributes': { type: object, required: [vendorId, status, message], properties: { vendorId: { type: integer, description: 'The created vendor ID (0 if failed)', example: 12345 }, status: { type: string, enum: [Success, Failure], description: 'Status of the vendor creation', example: Success }, message: { type: string, description: 'Success or error message', example: 'Vendor inserted successfully.' } } } } } } } } } } } } } }, updateInvoices-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [apHeaders], properties: { apHeaders: { type: object, required: [apHeader], properties: { apHeader: { type: array, description: 'Array of processed AP headers with status', items: { type: object, required: [node, reference_id, status, message], properties: { node: { type: integer, description: 'Sequence number of the processed header', example: 1 }, reference_id: { type: integer, description: 'The AP header ID that was processed', example: 12345 }, status: { type: string, enum: [Success, Failure], description: 'Processing status of the invoice', example: Success }, message: { type: string, description: 'Success message or error details', example: 'Invoice updated successfully.' } } } } } } } } } } } }, updateVendors-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [vendors], properties: { vendors: { type: object, required: [vendor], properties: { vendor: { type: array, items: { type: object, required: ['@attributes'], properties: { '@attributes': { type: object, required: [reference_id, status, node, message], properties: { reference_id: { type: integer, description: 'ID of the updated vendor (0 if failed)', example: 12345 }, status: { type: string, enum: [Success, Failure], description: 'Status of the vendor update operation', example: Success }, node: { type: integer, description: 'Node number in the request array', example: 0 }, message: { type: string, description: 'Success or failure message', example: 'Vendor updated successfully.' } } } } } } } } } } } } } }, voidApPayments-r1-response-schema: { type: object, required: [response], properties: { response: { type: object, required: [result, code], properties: { requestId: { type: string, description: 'The request ID that was passed in the request', example: '15' }, code: { type: integer, description: 'The success code', enum: [200], example: 200 }, result: { type: object, required: [apPayments], properties: { apPayments: { type: object, required: [apPayment], properties: { apPayment: { type: array, description: 'Array of payment void results', items: { type: object, required: [node, status, message], properties: { node: { type: integer, description: 'Node number (1-based index)', example: 1 }, status: { type: string, enum: [Success, Failed], description: 'Status of the void operation', example: Success }, message: { type: string, description: 'Success or error message', example: 'Payment voided successfully.' }, paymentId: { type: integer, description: 'Payment ID (returned only on success)', example: 12345 }, paymentNumber: { type: string, description: 'Payment number (returned only on success)', example: PAY-2023-001 } } } } } } } } } } } } } examples: { getStatus-r1-request-example: { description: 'Check the status of the API and whether it is running or not.', summary: 'getStatus r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getStatus, version: r1 } } }, getStatus-r1-response-example: { summary: getStatus, value: { response: { code: 200, result: { status: Success, message: 'Api is available and running.' } } } }, getAccessibleClients-r1-request-example: { description: 'Retrieves a list of organizations that the authenticated user has access to. The response includes the subdomain, ID, and name for each accessible organization.', summary: getAccessibleClients, value: { auth: { type: apikey }, requestId: '15', method: { name: getAccessibleClients, version: r1 } } }, getAccessibleServices-r1-request-example: { description: 'Returns a list of services that are accessible to the caller, including the URI and service name for each.', summary: getAccessibleServices, value: { auth: { type: apikey }, requestId: '15', method: { name: getAccessibleServices, version: r1 } } }, getAccessibleClients-r1-response-example: { summary: getAccessibleClients, value: { response: { code: 200, result: { orgs: [{ subdomain: demoold, id: 235, name: 'Demo Account' }] } } } }, getAccessibleServices-r1-response-example: { summary: getAccessibleServices, value: { response: { code: 200, result: { services: [{ uri: /ext/orgs/demoold/v1/customers, service: getCustomers }] } } } }, getCompanyApplications-r1-request-example: { description: 'Retrieve a list of company applications associated with a specific property, including the questions within each application.', summary: 'getCompanyApplications r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getCompanyApplications, version: r1, params: { propertyId: 1234 } } } }, sendApplication-r1-request-example: { description: 'Process a request to submit an application for a property.', summary: 'sendApplication r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendApplication, version: r1, params: { propertyId: 1234, originatingLeadSourceId: 567, leasingAgentId: 890, unitSpaceId: 1111, moveInDate: '2024-12-01', leaseTermId: 2222, floorplanId: 3333, applicationStatusId: 4444, applicants: { applicant: [{ firstName: John, lastName: Doe, maternalName: Smith, preferredName: Johnny, customerRelationshipTypeId: 1, birthDate: 01/15/1990, phoneNumberTypeId: 1, phoneNumber: '1234567890', email: john.doe@example.com, addresses: { address: [{ addressTypeId: 1, addressLine1: '123 Main St', addressLine2: 'Apt 4B', city: 'New York', stateCode: NY, postalCode: 10001 }, { addressTypeId: 2, addressLine1: '456 Work Ave', city: 'New York', stateCode: NY, postalCode: 10002 }] } }, { firstName: Jane, lastName: Doe, customerRelationshipTypeId: 2, email: jane.doe@example.com }] } } } } }, updateApplication-r1-request-example: { description: 'Update an existing application, including details about the property, lease terms, and associated applicants.', summary: 'updateApplication r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateApplication, version: r1, params: { propertyId: 1234, applicationId: 5678, originatingLeadSourceId: 567, leasingAgentId: 890, unitSpaceId: 1111, moveInDate: 01/24/2025, leaseTermId: 2222, floorplanId: 3333, applicationStatusId: 21, applicants: { applicant: [{ id: 4444, firstName: John, lastName: Doe, email: john.doe@example.com, phoneNumber: '1234567890', phoneNumberTypeId: 1, addresses: { address: [{ addressTypeId: 1, addressLine1: '123 Main St', addressLine2: 'Apt 4B', city: 'New York', stateCode: NY, postalCode: 10001 }] } }, { firstName: Jane, lastName: Doe, customerRelationshipTypeId: 2, email: jane.doe@example.com }] } } } } }, getCompanyApplications-r1-response-example: { summary: getCompanyApplications, value: { response: { code: 200, result: { companyApplications: { companyApplication: [{ companyApplicationId: 123, companyApplicationName: 'Standard Rental Application', applicationQuestions: { applicationQuestion: [{ id: '1', question: 'Have you ever been sued for rent' }, { id: '2', question: 'Have you ever been sued for damages' }, { id: '3', question: 'Have you ever had any public record suits, liens, judgments or repossessions' }, { id: '4', question: 'Do you have renters insurance' }, { id: '5', question: 'Have you ever been evicted' }, { id: '6', question: 'Have you ever defaulted on a lease' }, { id: '7', question: 'Have you ever filed for bankruptcy protection' }, { id: '8', question: 'Have you ever been convicted of a felony that involved an offense against property, persons, government officials, or that involved firearms, illegal drugs, or sex or sex crimes' }, { id: '9', question: 'Do you smoke' }] } }, { companyApplicationId: 456, companyApplicationName: 'Commercial Application', applicationQuestions: { applicationQuestion: [{ id: '1', question: 'Have you ever been sued for rent' }, { id: '2', question: 'Have you ever been sued for damages' }] } }] } } } } }, sendApplication-r1-response-example: { summary: sendApplication, value: { response: { code: 200, result: { application: { status: Success, message: 'Application inserted successfully.', applicationId: 7890, applicantIds: '5555, 6666' } } } } }, updateApplication-r1-response-example: { summary: updateApplication, value: { response: { code: 200, result: { application: { status: Success, message: 'Application updated successfully.', applicationId: 5678, applicantIds: '4444, 7777' } } } } }, getArCodes-r1-request-example: { description: 'Retrieves a list of AR codes (Accounts Receivable codes) for a given property. The response includes details for each AR code such as its ID, name, type, charge usage and timing, associated ledger, and GL account IDs.', summary: 'getArCodes r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getArCodes, version: r1, params: { propertyId: 1234 } } } }, getArCodes-r1-response-example: { summary: getArCodes, value: { response: { code: 200, requestId: '15', result: { arcodes: { arcode: [{ id: 12345, code: 101, name: 'Late Fee', codeType: Fees, chargeUsage: Rent, chargeTiming: Monthly, associatedLedger: 'Operating Account', debitGlAccountId: 5001, creditGlAccountId: 1001, displayAs: 'Late Fee Charge', isDisabled: false, isEntrataDisabled: false, isTaxable: true }, { id: 12346, code: 102, name: 'Pet Fee', codeType: Fees, chargeUsage: Pet, chargeTiming: 'One Time', associatedLedger: 'Operating Account', debitGlAccountId: 5002, creditGlAccountId: 1001, displayAs: 'Pet Fee Charge', isDisabled: false, isEntrataDisabled: false, isTaxable: false }] } } } } }, getArPayments-r1-request-example: { description: 'Retrieves accounts receivable (AR) payments based on specified criteria such as payment IDs, status types, and date ranges. It can also include allocation details for each payment, providing information on how the payment was distributed among different charges.', summary: 'getArPayments r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getArPayments, version: r1, params: { arPaymentIds: '123,124,125', paymentStatusTypeIds: '1,2', fromDate: 01/01/2024, toDate: 12/31/2024, isIncludeAllocations: 1 } } } }, getArPayments-r1-response-example: { summary: getArPayments, value: { response: { code: 200, result: { ArPayments: { ArPayment: [{ ArPaymentId: 12345, PropertyName: 'Sunset Apartments', CustomerId: 6789, CustomerFirstName: John, CustomerLastName: Doe, ExternalId: EXT123, StreetLine1: '123 Main St', StreetLine2: 'Apt 4B', City: 'New York', StateCode: NY, PostalCode: '10001', PhoneNumber: 555-123-4567, EmailAddress: john.doe@example.com, UnitNumber: 4B, PaymentAmount: 1500, CurrencyCode: USD, PaymentDate: '01/15/2024 14:30', PaymentType: 'Credit Card', PaymentStatus: Captured, CapturedOn: '01/15/2024 14:35', DistributeOn: '01/16/2024 09:00', ArAllocations: { ArAllocation: [{ ArTransactionId: 987, ChargeCodeId: 101, ChargeCodeName: Rent, AllocationDateTime: 01/15/2024, Amount: -1500 }] } }] } } } } }, getArInvoices-r1-request-example: { description: 'Retrieves Accounts Receivable (AR) invoices based on criteria such as property ID, lease IDs, specific invoice ID, and date ranges. The response provides detailed invoice information, including customer details, invoice amounts, associated AR transactions, and any payments applied to those transactions.', summary: 'getArInvoices r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getArInvoices, version: r1, params: { propertyId: 1234, leaseIds: '100,101,102', fromDate: '2025-01-24', toDate: '2025-01-24' } } } }, getLeaseArTransactions-r1-request-example: { description: 'Retrieves Accounts Receivable (AR) transactions for specified leases, allowing filtering by property, lease status, transaction types, and AR codes. It provides a detailed ledger of transactions for each lease, including transaction type, amount, dates, and associated AR codes, with options to include full ledger details, reversals, and other income leases.', summary: 'getLeaseArTransactions r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseArTransactions, version: r1, params: { propertyId: 1234, leaseIds: '100,101,102', showFullLedger: 0, residentFriendlyMode: 0, transactionFromDate: '2024-03-01', transactionToDate: '2024-03-01' } } } }, getMitsLeaseArTransactions-r1-request-example: { description: 'Retrieves lease accounts receivable (AR) transactions in a MITS (Multi-Family Information Transaction Standard) format. It allows filtering by property, lease, lease status, AR codes, and transaction dates, providing detailed transaction information including charges, descriptions, amounts, and associated IDs.', summary: 'getMitsLeaseArTransactions r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getMitsLeaseArTransactions, version: r1, params: { propertyId: 1234, leaseId: 100, showFullLedger: 0, residentFriendlyMode: 0, transactionFromDate: 01/24/2025, transactionToDate: 01/24/2025, includeReversals: 0 } } } }, sendLeaseArTransactions-r1-request-example: { description: 'Sends lease Accounts Receivable (AR) transactions to be recorded. For each transaction, you provide details like the lease ID, AR code, transaction date, amount, and a description. You can also include file attachments and specify whether approval routing is needed. The API then confirms the successful insertion of each transaction.', summary: 'sendLeaseArTransactions r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeaseArTransactions, version: r1, params: { transaction: [{ transactionId: TXN-001, leaseId: 1234, arCodeId: 100, transactionAmount: 1500, transactionDate: 03/15/2024, dueDate: 04/15/2024, description: 'Monthly rent charge', useApprovalRouting: 0 }, { transactionId: TXN-002, leaseId: 1235, arCodeId: 101, transactionAmount: 75, transactionDate: 03/15/2024, description: 'Parking fee', files: { file: { name: parking_receipt.jpg, fileData: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg== } } }] } } } }, sendLeaseArTransactionReversals-r1-request-example: { description: 'Allows you to reverse specific lease accounts receivable (AR) transactions. You provide a list of transaction IDs and their corresponding amounts. The API processes these requests and returns the status for each reversal, indicating if it was successful.', summary: 'sendLeaseArTransactionReversals r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeaseArTransactionReversals, version: r1, params: { Transactions: { Transaction: [{ TransactionId: 12345, TransactionAmount: 1500, PropertyId: 1234, ReverseDate: 03/20/2024, Description: 'Reversal due to billing error' }] } } } } }, getArInvoices-r1-response-example: { summary: 'getArInvoices r1', value: { response: { code: 200, result: { arInvoices: { arInvoice: [{ id: 5678, propertyId: 1234, currencyCode: USD, unitId: 9876, leaseId: 100, invoiceDate: '2024-03-15', invoiceDueDate: '2024-04-15', customerId: 2468, customerName: 'John Doe', customerInvoiceMessage: 'Monthly rent invoice', streetLine1: '123 Main St', city: Anytown, state: CA, postalCode: '12345', country: US, note: NA, invoiceType: Standard, invoiceNumber: INV-001234, invoiceSubTotal: 1500, totalTaxAmount: 120, identificationType: SSN, identificationValue: 123-45-6789, arTransactions: { arTransaction: [{ id: 1234567890, arCodeId: 1234567890, arCodeName: Rent, baseAmount: 1500, taxRate: 10, taxAmount: 120, dueDate: '2024-03-15', fromDate: '2024-03-15', toDate: '2024-03-15', arPayments: { arPayment: [{ arPaymentId: 1234567890, PaymentAmount: 1500, PaymentDate: '2024-03-15', PaymentTypeId: 1234567890, PaymentTypeName: Rent, PaymentStatusTypeId: 1234567890, PaymentStatusTypeName: Paid }] } }] } }] } } } } }, getLeaseArTransactions-r1-response-example: { summary: 'getLeaseArTransactions r1', value: { response: { code: 200, result: { leases: { lease: [{ id: 100, propertyId: 1234, currencyCode: USD, unitSpaceId: 5678, customers: { customer: [{ id: 2468, firstName: John, lastName: Doe }, { id: 2469, firstName: Jane, lastName: Doe }] }, ledgers: { ledger: [{ id: 1, name: Rent, balance: 1500, pastDueBalance: 0, writeOff: 0, transactions: { transaction: [{ id: 12345, transactionTypeId: 1, arCodeId: 50, arCodeName: 'Monthly Rent', leaseIntervalId: 789, description: 'March 2024 Rent', transactionDate: 03/01/2024, postDate: 03/01/2024, postMonth: 03/01/2024, isTemporary: 0, dueDate: 03/01/2024, arTriggerId: 1234567890, balanceDue: 1500, amount: 1500, amountPaid: 0, scheduledChargeId: 1234567890, creditArTransactionIds: '1,2,3', originalArTransactionId: 1234567890, reveseArTransactionId: 1234567890, arPaymentId: 1234567890 }] } }] } }] } } } } }, getMitsLeaseArTransactions-r1-response-example: { summary: getMitsLeaseArTransactions, value: { response: { code: 200, result: { ResidentTransactions: { Property: { PropertyID: { Identification: { '@attributes': { IDType: 'Property ID' }, IDValue: 1234 }, MarketingName: 'Property 1' }, CurrencyCode: USD, RT_Customer: [{ Identification: { '@attributes': { IDType: 'Lease ID' }, IDValue: 100 }, Customers: { Customer: { Identification: { '@attributes': { IDType: 'Customer ID' }, IDValue: 2468 }, Name: { FirstName: John, LastName: Doe, MiddleName: A, MaidenName: B, NameSuffix: C } } }, Unit: { Identification: { '@attributes': { IDType: 'Unit ID' }, IDValue: 5678 }, MarketingName: 101-A }, RTServiceTransactions: { Transactions: [{ Charge: { Detail: { Description: 'Monthly Rent', TransactionDate: '2024-03-01', ServiceToDate: '2024-03-01', TransactionID: 12345, LeaseIntervalID: 789, ChargeCode: '2', Amount: '1500.00', AmountPaid: '0.00', BalanceDue: '1500.00', SupplementalID: { Identification: [{ '@attributes': { IDType: 'Ar Code ID' }, IDValue: '1234567890' }, { '@attributes': { IDType: 'Post Month' }, IDValue: 03/01/2024 }] } } } }, { Concession: { Detail: { Description: Concession, TransactionDate: '2024-03-01', ServiceToDate: '2024-03-01', TransactionID: 12345, LeaseIntervalID: 789, ChargeCode: '2', Amount: '1500.00', AmountPaid: '0.00', BalanceDue: '1500.00', SupplementalID: { Identification: [{ '@attributes': { IDType: 'Ar Code ID' }, IDValue: '1234567890' }, { '@attributes': { IDType: 'Post Month' }, IDValue: '2024-03-01' }] } } } }, { Payment: { '@attributes': { PaymentType: ACH }, Detail: { Description: 'Rent Payment', TransactionID: 12346, LeaseIntervalID: 789, DocumentNumber: '1234567890', TransactionDate: '2024-03-05', Amount: '1500.00', AmountPaid: '1500.00', BalanceDue: '0.00', SupplementalID: { Identification: [{ '@attributes': { IDType: 'Ar Code ID' }, IDValue: '1234567890' }, { '@attributes': { IDType: 'Post Month' }, IDValue: '2024-03-01' }] }, ReversalTranID: 1234567890, Charge: [{ ChargeAmount: '1500.00', ChargeCode: '2', '@attributes': { ChargeID: '1234567890' } }, { ChargeAmount: '1500.00', ChargeCode: '2', '@attributes': { ChargeID: '1234567890' } }] } } }] } }] } } } } } }, sendLeaseArTransactions-r1-response-example: { summary: sendLeaseArTransactions, value: { response: { code: 200, result: { Transactions: { Transaction: [{ '@attributes': { reference_id: 12345, approval_request_id: null, transaction_id: TXN-001, status: Success, message: 'Lease AR-Transaction inserted successfully.' } }, { '@attributes': { reference_id: 12346, approval_request_id: null, transaction_id: TXN-002, status: Success, message: 'Lease AR-Transaction inserted successfully.' } }] } } } } }, sendLeaseArTransactionReversals-r1-response-example: { summary: sendLeaseArTransactionReversals, value: { response: { code: 200, result: { Transactions: { Transaction: [{ '@attributes': { reference_id: 12345, transaction_id: 54321, status: success, message: 'Transaction reversed successfully.' } }, { '@attributes': { reference_id: 12346, transaction_id: 54322, status: success, message: 'Transaction reversed successfully.' } }] } } } } }, getMarketingPreferences-r1-request-example: { description: 'Retrieves the current marketing preferences for one or more specified customers. This response shows which communications each customer has opted to receive or not receive.', summary: 'getMarketingPreferences r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getMarketingPreferences, version: r1, params: { propertyId: 1234, customerIds: '123,456,789', recipientTypeId: 1 } } } }, getMarketingPreferencePickList-r1-request-example: { description: 'Retrieves a list of available marketing and communication preferences. The list includes various communication channels and consent types for different recipients, like leads and residents.', summary: 'getMarketingPreferencePickList r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getMarketingPreferencePickList, version: r1, params: { } } } }, getMarketingPreferences-r1-response-example: { summary: getMarketingPreferences, value: { response: { code: 200, result: { customers: [{ customerId: 123, preferences: [{ communicationChannel: email, recipientType: LEAD, recipientTypeId: 1, consentType: Marketing, consentTypeId: 5, optIn: '1' }, { communicationChannel: phone, recipientType: LEAD, recipientTypeId: 1, optIn: '0' }] }, { customerId: 456, preferences: [{ communicationChannel: sms, recipientType: LEAD, recipientTypeId: 1, consentType: Promotional, consentTypeId: 3, optIn: '1' }] }] } } } }, getMarketingPreferencePickList-r1-response-example: { summary: getMarketingPreferencePickList, value: { response: { code: 200, result: { preferences: [{ communicationChannel: email, recipientType: LEAD, recipientTypeId: 1, consentType: Marketing, consentTypeId: 5 }, { communicationChannel: email, recipientType: RESIDENT, recipientTypeId: 2, consentType: Promotional, consentTypeId: 3 }, { communicationChannel: phone, recipientType: LEAD, recipientTypeId: 1 }, { communicationChannel: sms, recipientType: LEAD, recipientTypeId: 1, consentType: 'Availability Alert', consentTypeId: 7 }], availabilityAlertFrequencies: [{ frequencyId: 1, frequencyName: Daily }, { frequencyId: 2, frequencyName: Weekly }, { frequencyId: 3, frequencyName: Monthly }] } } } }, getCustomers-r1-request-example: { description: 'Retrieves detailed profiles for specific customers based on search criteria like property or lease status. The response includes comprehensive information such as contact details, addresses, and vehicle information for each customer found.', summary: 'getCustomers r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getCustomers, version: r1, params: { propertyId: 12345, leaseStatusTypeIds: '1,2', customerIds: '1001,1002', isAgreedToTermsOnly: 1, companyIdentificationTypeIds: '1' } } } }, getCustomerTestimonials-r1-request-example: { description: 'Retrieves customer testimonials for a property, allowing you to filter them by approval status and submission date. The response includes the full review, author details, and a breakdown of ratings across various categories like staff and maintenance.', summary: 'getCustomerTestimonials r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getCustomerTestimonials, version: r1, params: { propertyId: 12345, fromDate: 01/01/2024, toDate: 12/31/2024, isApproved: 1 } } } }, getTestimonialPickLists-r1-request-example: { description: 'Retrieves the lists of selectable options used for categorizing customer testimonials. It provides the available testimonial sources, such as Google or Yelp, and the different categories that can be rated.', summary: 'getTestimonialPickLists r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getTestimonialPickLists, version: r1, params: { } } } }, searchCustomers-r1-request-example: { description: 'Searches for customers within a specific property using a keyword, such as a name or building. The API returns a summarized list of customers that match the search term.', summary: 'searchCustomers r1', value: { auth: { type: apikey }, requestId: '15', method: { name: searchCustomers, version: r1, params: { propertyId: 12345, search: 'John Doe' } } } }, sendCustomerTestimonials-r1-request-example: { description: 'Submits one or more new customer testimonials, including the review text, ratings, and author details. The API processes the submission and returns a confirmation message with a unique ID for the newly created testimonial.', summary: 'sendCustomerTestimonials r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendCustomerTestimonials, version: r1, params: { PropertyId: 12345, Testimonials: { Testimonial: [{ CustomerId: 98765, TestimonialTypeId: 1, Name: 'John Doe', Title: 'Great Experience', Review: 'I had a wonderful experience living here. The staff is amazing!', TestimonialDatetime: '12/15/2023 14:30:00', Email: john.doe@example.com, IpAddress: 192.168.1.1, RecommendToFriend: 1, PropertyResponse: 'Thank you for your feedback!', AutoApproveForProspectPortal: 1, AutoApproveForVacancy: 1, AuthorizeToShowOnCorporateSites: 0, TransmissionVendorId: 1234, TestimonialRatings: { TestimonialRating: [{ RatingTypeId: 1, Rating: 5 }, { RatingTypeId: 2, Rating: 4 }] } }] } } } } }, updateCustomers-r1-request-example: { description: 'Updates the profile information for one or more customers. This allows you to modify details like names, addresses, and phone numbers for multiple customers in a single transaction.', summary: 'updateCustomers r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateCustomers, version: r1, params: { customers: { customer: [{ id: 12345, firstName: John, lastName: Doe, namePrefix: Mr., middleName: Michael, email: john.doe@example.com, birthDate: '1990-01-01', taxNumberTypeId: 1, taxNumber: 123-45-6789, phoneNumbers: { phoneNumber: [{ phoneNumberTypeId: 1, phoneNumber: '5551234567', isPrimary: 1 }, { phoneNumberTypeId: 2, phoneNumber: '5559876543', isPrimary: 0 }] }, addresses: { address: [{ addressTypeId: 1, streetLine1: '123 Main St', streetLine2: 'Apt 4B', city: 'New York', state: NY, country: US, postalCode: '10001' }] }, companyIdentificationValues: { companyIdentificationValue: [{ companyIdentificationTypeId: 1, identificationValue: DL123456789, idExpirationDate: '2025-01-01', countryCode: US, stateCode: NY }] } }] } } } } }, updateCustomerTestimonials-r1-request-example: { description: 'Publishes or unpublishes a specific customer testimonial. This API allows you to change the visibility of a testimonial by marking it as active or inactive.', summary: 'updateCustomerTestimonials r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateCustomerTestimonials, version: r1, params: { propertyId: 12345, transmissionVendorId: 1, testimonialId: 98765, isPublished: 1 } } } }, updatePropertyResponse-r1-request-example: { description: "Adds or updates a property's response to a specific customer testimonial. This allows a user to post a public reply to a review and set its publication status.", summary: 'updatePropertyResponse r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updatePropertyResponse, version: r1, params: { propertyId: 12345, testimonialId: 98765, reviewResponse: "Thank you for your feedback! We're glad you enjoyed your stay with us.", isPublish: 1 } } } }, getCustomers-r1-response-example: { summary: getCustomers, value: { response: { code: 200, result: { Customers: { Customer: [{ '@attributes': { Id: 12345, ExternalId: EXT-001 }, LeaseId: { Identification: [{ '@attributes': { IDType: 'Lease Id', IDRank: primary, IDScopeType: sender, Status: Current }, IDValue: 67890 }], CustomerType: [Primary] }, FirstName: John, LastName: Doe, Email: john.doe@example.com, PhoneNumber: 555-123-4567, UnitNumber: '101', Address: '123 Main St', City: Anytown, State: CA, PostalCode: '12345', CustomerAddresses: { CustomerAddress: [{ '@attributes': { AddressType: Primary }, Address: '123 Main St', City: Anytown, State: CA, PostalCode: '12345', Country: US }] }, EmploymentDetails: { EmploymentDetail: [{ Id: 1, Company: 'Tech Corp', Position: 'Software Engineer', Salary: '$75,000.00', StartDate: 01/01/2025 }] }, Vehicles: { Vehicle: [{ Id: 1, Make: Toyota, Model: Camry, Year: 2020, Color: Blue, LicensePlateNumber: ABC123, StateCode: CA }] }, CustomerIdentificationValues: { CustomerIdentificationValue: [{ Id: 1, Value: '1234567890', CompanyIdentificationTypeId: 1 }] } }] } } } } }, getCustomerTestimonials-r1-response-example: { summary: getCustomerTestimonials, value: { response: { code: 200, result: { CompanyAverageRating: { LastThreeMonths: '4.50', LastSixMonths: '4.25', LastYear: '4.30', AllTime: '4.35' }, PropertyAverageRating: { LastThreeMonths: '4.60', LastSixMonths: '4.40', LastYear: '4.45', AllTime: '4.42' }, Testimonials: { Testimonial: [{ Id: 12345, Name: 'John Doe', Title: 'Great Experience', Testimonial: 'I had a wonderful experience living here. The staff is friendly and the amenities are excellent.', PropertyId: 12345, PropertyName: 'Sunset Apartments', EmailAddress: john.doe@example.com, TestimonialDatetime: '01/15/2024 10:30:00 MST', IpAddress: 192.168.1.1, PropertyResponse: 'Thank you for your feedback!', TestimonialType: Resident, IsRecommended: '1', ResidentApprovedOn: '01/15/2024 10:30:00 MST', ShowUntil: '12/31/2024 10:30:00 MST', FromDescription: 'Resident Portal', ShowOnCorporateSites: '1', VacancyPublished: '01/15/2024 10:30:00 MST', ProspectPortalPublished: '01/15/2024 10:30:00 MST', FirstName: John, LastName: Doe, Source: 'Resident Portal', TestimonialRatings: { TestimonialRating: [{ Type: Overall, Rating: '5' }, { Type: Staff, Rating: '5' }, { Type: Maintenance, Rating: '4' }] } }] } } } } }, getTestimonialPickLists-r1-response-example: { summary: getTestimonialPickLists, value: { response: { code: 200, result: { TestimonialTypes: { TestimonialType: [{ '@attributes': { Id: 1, Name: 'Modern Message' } }, { '@attributes': { Id: 2, Name: WeCare } }, { '@attributes': { Id: 3, Name: Kingsley } }] }, TestimonialRatingTypes: { TestimonialRatingType: [{ '@attributes': { Id: 1, Name: Overall } }, { '@attributes': { Id: 2, Name: Staff } }, { '@attributes': { Id: 3, Name: Maintenance } }, { '@attributes': { Id: 4, Name: Grounds } }] } } } } }, searchCustomers-r1-response-example: { summary: searchCustomers, value: { response: { code: 200, result: { customers: { customer: [{ id: 12345, namePrefix: Mr., firstName: John, middleName: Michael, lastName: Doe, nameSuffix: Jr., email: john.doe@example.com, unitNumber: '101', buildingName: 'Building A', address: '123 Main St', city: Anytown, state: CA, postalCode: '12345' }, { id: 12346, firstName: Jane, lastName: Smith, email: jane.smith@example.com, unitNumber: '102', address: '456 Oak Ave', city: Anytown, state: CA, postalCode: '12345' }] } } } } }, sendCustomerTestimonials-r1-response-example: { summary: sendCustomerTestimonials, value: { response: { code: 200, result: { Testimonials: { Testimonial: [{ '@attributes': { node: 1, reference_id: '12345', status: Success, message: 'Testimonial inserted successfully.' } }] } } } } }, updateCustomers-r1-response-example: { summary: updateCustomers, value: { response: { code: 200, result: { customers: { customer: [{ node: 1, referenceId: '12345', status: Success, message: 'Customer updated successfully.' }, { node: 2, referenceId: '', status: Failure, message: 'Invalid email address.' }] } } } } }, updateCustomerTestimonials-r1-response-example: { summary: updateCustomerTestimonials, value: { response: { code: 200, result: { Testimonials: { Testimonial: { '@attributes': { status: Success, message: 'Testimonial updated successfully.' } } } } } } }, updatePropertyResponse-r1-response-example: { summary: updatePropertyResponse, value: { response: { code: 200, result: { testimonials: { testimonial: { testimonialId: 98765, status: Success, message: 'Testimonial response updated successfully.' } } } } } }, getApCodes-r1-request-example: { description: 'Retrieves a list of Accounts Payable (AP) codes. The results can be filtered by General Ledger (GL) account IDs and AP code type IDs.', summary: 'getApCodes r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getApCodes, version: r1, params: { glAccountIds: '1,2,3', apCodeTypeIds: '3' } } } }, getBankAccounts-r2-request-example: { description: 'Retrieves a list of bank accounts and their associated properties. The results can be filtered by account type and whether or not the account is a credit card.', summary: 'getBankAccounts r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getBankAccounts, version: r2, params: { bankAccountTypeId: 1, isCreditCardAccount: 0 } } } }, getBudgetActuals-r1-request-example: { description: 'Retrieves a financial report that compares budgeted amounts to actual performance for specific accounts. The report provides a detailed breakdown of month-to-date and year-to-date variances, which can be filtered by property, date range, and accounting method.', summary: 'getBudgetActuals r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getBudgetActuals, version: r1, params: { propertyId: 12345, glTreeId: 789, budgetId: 456, postMonthFrom: 01/2024, postMonthTo: 12/2024, accountingMethod: cash, glBookTypeIds: '1,2', budgetStatusTypeId: 1 } } } }, getBudgets-r1-request-example: { description: 'Retrieves detailed budget information for one or more properties. The data includes a monthly breakdown of budgeted amounts for each General Ledger (GL) account and can be filtered by property, fiscal year, or budget status.', summary: 'getBudgets r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getBudgets, version: r1, params: { propertyIds: '12345,67890', budgetStatusTypeIds: '1,2', budgetIds: '100,200', fiscalYears: '2024,2025' } } } }, getFinancialPickList-r1-request-example: { description: 'Retrieves a comprehensive set of predefined options and their corresponding IDs for various financial categories. These lists are typically used to populate dropdown selection menus in a user interface.', summary: 'getFinancialPickList r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getFinancialPickList, version: r1, params: { propertyId: 12345 } } } }, getFinancialPickList-r2-request-example: { description: 'Retrieves a wide range of predefined lists for financial data and entities. Each list contains names and their corresponding IDs, which are used to populate selection menus for categories like account types, owners, and transaction types.', summary: 'getFinancialPickList r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getFinancialPickList, version: r2, params: { } } } }, getGlTransactions-r1-request-example: { description: 'Retrieves a detailed list of General Ledger (GL) transactions for specified accounts and properties. It provides both summary totals and individual line-item details, with extensive filtering options for date ranges and transaction types.', summary: 'getGlTransactions r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getGlTransactions, version: r1, params: { propertyIds: '1234,5678', glBookTypeIds: '1,2', postDateFrom: 01/01/2024, postDateTo: 12/31/2024, transactionDateFrom: '2024-01-01', transactionDateTo: '2024-12-31', lastUpdatedOnFromDate: '2024-01-01', lastUpdatedOnToDate: '2024-12-31', postMonthFrom: 01/2024, postMonthTo: 12/2024, isDetailed: 1, isCashBook: 0 } } } }, getGlTrees-r1-request-example: { description: "Retrieves the structure of a General Ledger (GL) Tree, which represents a hierarchical chart of accounts. The response includes the tree's main branches (groups) and a detailed list of the GL accounts, which can be filtered by property or account number.", summary: 'getGlTrees r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getGlTrees, version: r1, params: { propertyId: 1234, glTreeId: 101, glBranchId: 201, glGroupTypeId: 301, glTreeTypeId: 1, accountNumbers: '1010,1020,1030' } } } }, getGlTrees-r2-request-example: { description: "Retrieves the structure of one or more General Ledger (GL) Trees, which represent a company's chart of accounts. The data includes the tree's branches, the detailed GL accounts, and an indicator to identify the master tree.", summary: 'getGlTrees r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getGlTrees, version: r2, params: { glTreeId: 123, glBranchId: 456, glGroupTypeId: 789, glTreeTypeId: 1, accountNumbers: '1000,2000,3000' } } } }, getJobCategories-r1-request-example: { description: 'Retrieves a list of job categories used for project accounting. The results can be filtered to show only categories associated with specific General Ledger (GL) accounts.', summary: 'getJobCategories r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getJobCategories, version: r1, params: { glAccountIds: '1001,1002,1003' } } } }, getJobCostBudgets-r1-request-example: { description: 'Retrieves detailed budget information for specific jobs or projects. The data provides a hierarchical breakdown of the budget by phase and cost code, including a month-by-month budget for each line item.', summary: 'getJobCostBudgets r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getJobCostBudgets, version: r1, params: { propertyIds: '1001,1002', jobIds: '501,502', jobStatusIds: '1,2', apCodeIds: '101,102', jobPhaseId: 5 } } } }, getJobs-r1-request-example: { description: "Retrieves a detailed list of jobs or projects, which can be filtered by property, category, or status. Each job's data includes its phases, budget totals, and a full breakdown of any associated contracts.", summary: 'getJobs r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getJobs, version: r1, params: { propertyId: 1001, jobCategoryIds: '1,2', jobStatusIds: '1,2,3' } } } }, getTransactionTagLists-r1-request-example: { description: 'Retrieves lists of tags that can be applied to financial transactions. It returns two distinct types - custom tags for general categorization and routing tags for workflows.', summary: 'getTransactionTagLists r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getTransactionTagLists, version: r1, params: { } } } }, markGlTransactionsExported-r1-request-example: { description: 'Marks one or more General Ledger (GL) transactions as exported. This is used to flag specific transactions that have been processed and sent to an external system.', summary: 'markGlTransactionsExported r1', value: { auth: { type: apikey }, requestId: '15', method: { name: markGlTransactionsExported, version: r1, params: { glDetails: { glDetailId: [1001, 1002, 1003, 1004] } } } } }, sendBudgets-r1-request-example: { description: 'Creates one or more new budgets for a specific property. Each budget requires a detailed breakdown of monthly amounts for every associated General Ledger (GL) account.', summary: 'sendBudgets r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendBudgets, version: r1, params: { propertyId: 1001, budgets: { budget: [{ budgetName: '2024 Operating Budget', fiscalYear: 2024, fiscalStartMonth: 01/2024, fiscalEndMonth: 12/2024, glAccounts: { glAccount: [{ id: 4001, budgetMonths: [{ budgetMonth: 01/2024, amount: 15000 }, { budgetMonth: 02/2024, amount: 16000 }, { budgetMonth: 03/2024, amount: 14500 }] }, { id: 4002, budgetMonths: [{ budgetMonth: 01/2024, amount: 8000 }, { budgetMonth: 02/2024, amount: 8500 }] }] } }, { budgetName: '2024 Capital Budget', fiscalYear: 2024, fiscalStartMonth: 01/2024, fiscalEndMonth: 12/2024, glAccounts: { glAccount: [{ id: 5001, budgetMonths: [{ budgetMonth: 01/2024, amount: 25000 }, { budgetMonth: 06/2024, amount: 30000 }] }] } }] } } } } }, sendJournalEntries-r1-request-example: { description: 'Posts one or more new General Ledger (GL) journal entries. Each entry requires a header with reference information and multiple detail lines with balanced debit and credit amounts.', summary: 'sendJournalEntries r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendJournalEntries, version: r1, params: { glHeaders: { glHeader: [{ propertyId: 1001, glBookId: 1, reference: 'Monthly depreciation entry', accountingMethod: accrual, postDate: '2024-01-31', postMonth: 01/2024, isReverse: 0, notes: 'Depreciation for January 2024', glDetails: { glDetail: [{ memo: 'Depreciation expense', debitAmount: 2500, glAccountId: 6001 }, { memo: 'Accumulated depreciation', creditAmount: 2500, glAccountId: 1501 }] } }, { propertyId: 1002, glBookId: 1, reference: 'Accrual reversal', isReverse: 1, reversePostMonth: 02/2024, postMonth: 01/2024, glDetails: { glDetail: [{ memo: 'Reverse previous accrual', debitAmount: 1000, glAccountId: 2001, propertyBuildingId: 2001 }, { memo: 'Reverse previous accrual', creditAmount: 1000, glAccountId: 5001 }] } }] } } } } }, updateBudgets-r1-request-example: { description: 'Updates the monthly budgeted amounts for one or more existing budgets. The request must identify each budget by its ID and provide the new monthly values for the specified General Ledger (GL) accounts.', summary: 'updateBudgets r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateBudgets, version: r1, params: { propertyId: 1001, budgets: { budget: [{ budgetId: 5001, glAccounts: { glAccount: [{ id: 4001, budgetMonths: { budgetMonth: [{ month: 01/2024, amount: 16000 }, { month: 02/2024, amount: 17000 }, { month: 03/2024, amount: 15500 }] } }, { id: 4002, budgetMonths: { budgetMonth: [{ month: 01/2024, amount: 9000 }, { month: 02/2024, amount: 9500 }] } }] } }, { budgetId: 5002, glAccounts: { glAccount: [{ id: 5001, budgetMonths: { budgetMonth: [{ month: 01/2024, amount: 27000 }, { month: 06/2024, amount: 32000 }] } }] } }] } } } } }, getApCodes-r1-response-example: { summary: getApCodes, value: { response: { code: 200, result: { apCodeCategories: { apCodeCategory: [{ id: 1, name: 'General Expenses', apCodes: { apCode: [{ id: 123, name: 'MAINT : Maintenance', glAccountId: 456, apCodeTypeId: 1, apCodeType: 'Job Cost' }, { id: 124, name: 'UTIL : Utilities', glAccountId: 457, apCodeTypeId: 1, apCodeType: 'Job Cost' }] } }, { id: 2, name: Administrative, apCodes: { apCode: [{ id: 125, name: 'OFFICE : Office Supplies', glAccountId: 458, apCodeTypeId: 1, apCodeType: 'Job Cost' }] } }] } } } } }, getBankAccounts-r2-response-example: { summary: 'getBankAccounts r2', value: { response: { requestId: '15', code: 200, result: { BankAccounts: { BankAccount: [{ '@attributes': { Id: 123 }, AccountName: 'Main Operating Account', BankAccountTypeId: 1, AccountType: Check, PropertyBankAccounts: { PropertyBankAccount: [{ '@attributes': { Id: 456, PropertyId: 789, GlAccountId: 101, IsDueToFrom: 0 } }] }, CheckBankName: 'First National Bank', MerchantAccounts: { MerchantAccount: [100, 101] }, BankAddress: { '@attributes': { AddressType: BankAccount }, Address: '123 Main St, Suite 100', City: 'New York', State: NY, PostalCode: '10001', BankPhoneNumber: 555-123-4567 }, CheckRoutingNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., CheckAccountNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., CheckFractionalRoutingNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., NextCheckNumber: 1001, PayerName: 'Property Management Company', PayerAddress: { '@attributes': { AddressType: Payer }, Address: '456 Business Ave', City: 'New York', State: NY, PostalCode: '10002', PayerPhoneNumber: 555-987-6543 } }, { '@attributes': { Id: 124 }, AccountName: 'Credit Card Account', BankAccountTypeId: 2, AccountType: Credit, CompanyName: 'Credit Card Company', CompanyAddress: { '@attributes': { AddressType: BankAccount }, Address: '789 Credit Way', City: 'Los Angeles', State: CA, PostalCode: '90210', BankPhoneNumber: 555-555-5555 }, NameOnCard: 'John Doe', Address: { '@attributes': { AddressType: Payer }, Address: '321 Card Holder St', City: Miami, State: FL, PostalCode: '33101', PayerPhoneNumber: 555-111-2222 } }] } } } } }, getBudgetActuals-r1-response-example: { summary: getBudgetActuals, value: { response: { code: 200, result: { currencyCode: USD, budgetVsActuals: { budgetVsActual: [{ accountName: 'Rental Income', accountId: 4000, mtdActualIncome: '15000.00', mtdBudgetIncome: '14000.00', mtdVariance: '1000.00', mtdPercentageVariance: 7.14, ytdActualIncome: '150000.00', ytdBudgetIncome: '140000.00', ytdVariance: '10000.00', ytdPercentageVariance: 7.14, annualBudgetIncome: '168000.00' }, { accountName: 'Other Income', accountId: 4100, mtdActualIncome: '2500.00', mtdBudgetIncome: '3000.00', mtdVariance: '-500.00', mtdPercentageVariance: -16.67, ytdActualIncome: '25000.00', ytdBudgetIncome: '30000.00', ytdVariance: '-5000.00', ytdPercentageVariance: -16.67, annualBudgetIncome: '36000.00' }, { accountName: 'Management Expenses', accountId: 6000, mtdActualIncome: '-8000.00', mtdBudgetIncome: '-7500.00', mtdVariance: '-500.00', mtdPercentageVariance: 6.67, ytdActualIncome: '-80000.00', ytdBudgetIncome: '-75000.00', ytdVariance: '-5000.00', ytdPercentageVariance: 6.67, annualBudgetIncome: '-90000.00' }] } } } } }, getBudgets-r1-response-example: { summary: getBudgets, value: { response: { code: 200, result: { properties: { property: [{ propertyId: 12345, propertyName: 'Sunset Apartments', currencyCode: USD, budgets: { budget: [{ id: 100, budgetName: '2024 Operating Budget', budgetStatusTypeId: 1, isDefault: 1, fiscalStartDate: 01/01/2024, fiscalEndDate: 01/01/2024, fiscalYear: 2024, budgetTotal: '120000.00', glAccounts: { glAccount: [{ id: 4000, accountName: 'Rental Income', accountNumber: 4000-000, glTotals: { glTotal: [{ amount: -120000, glDimensionId: 1 }] }, budgetMonths: { budgetMonth: [{ month: 01/01/2024, amount: '-10000.00', glDimensionId: 1 }, { month: 02/01/2024, amount: '-10000.00', glDimensionId: 1 }, { month: 03/01/2024, amount: '-10000.00', glDimensionId: 1 }] } }, { id: 6000, accountName: 'Management Fees', accountNumber: 6000-000, glTotals: { glTotal: [{ amount: 12000 }] }, budgetMonths: { budgetMonth: [{ month: 01/01/2024, amount: '1000.00' }, { month: 02/01/2024, amount: '1000.00' }, { month: 03/01/2024, amount: '1000.00' }] } }] } }] } }, { propertyId: 67890, propertyName: 'Garden View Complex', currencyCode: USD, budgets: { budget: [{ id: 200, budgetName: '2024 Capital Budget', budgetStatusTypeId: 2, isDefault: 0, fiscalStartDate: 01/01/2024, fiscalEndDate: 01/01/2024, fiscalYear: 2024, budgetTotal: '50000.00', glAccounts: { glAccount: [{ id: 7000, accountName: 'Capital Improvements', accountNumber: 7000-000, glTotals: { glTotal: [{ amount: 50000 }] }, budgetMonths: { budgetMonth: [{ month: 06/01/2024, amount: '25000.00' }, { month: 07/01/2024, amount: '25000.00' }] } }] } }] } }] } } } } }, getFinancialPickList-r1-response-example: { summary: getFinancialPickList, value: { response: { code: 200, result: { GlGroupTypes: { GlGroupType: [{ '@attributes': { Id: 1, Name: Assets } }, { '@attributes': { Id: 2, Name: Liabilities } }, { '@attributes': { Id: 3, Name: Income } }] }, GlTreeTypes: { GlTreeType: [{ '@attributes': { Id: 1, Name: Standard } }, { '@attributes': { Id: 2, Name: Custom } }] }, GlAccountTypes: { GlAccountType: [{ '@attributes': { Id: 1, Name: 'Balance Sheet' } }, { '@attributes': { Id: 2, Name: 'Income Statement' } }] }, GlBooks: { GlBook: [{ '@attributes': { Id: 1, Name: 'Standard Book' } }, { '@attributes': { Id: 2, Name: 'Tax Book' } }] }, GlBranchTypes: { GlBranchType: [{ '@attributes': { Id: 1, Name: Default } }, { '@attributes': { Id: 2, Name: Regional } }] }, GlExportBatchTypes: { GlExportBatchType: [{ '@attributes': { Id: 1, Name: QuickBooks } }, { '@attributes': { Id: 2, Name: Sage } }] }, GlHeaderStatusTypes: { GlHeaderStatusType: [{ '@attributes': { Id: 1, Name: Open } }, { '@attributes': { Id: 2, Name: Posted } }] }, GlHeaderTypes: { GlHeaderType: [{ '@attributes': { Id: 1, Name: 'Journal Entry' } }, { '@attributes': { Id: 2, Name: 'Recurring Entry' } }] }, GlLedgerTypes: { GlLedgerType: [{ '@attributes': { Id: 1, Name: General } }, { '@attributes': { Id: 2, Name: 'Accounts Payable' } }] }, GlReconciliationStatusTypes: { GlReconciliationStatusTypes: [{ '@attributes': { Id: 1, Name: Unreconciled } }, { '@attributes': { Id: 2, Name: Reconciled } }] }, GlTransactionTypes: { GlTransactionType: [{ '@attributes': { Id: 1, Name: Adjustment } }, { '@attributes': { Id: 2, Name: Transfer } }] }, Budgets: { Budget: [{ '@attributes': { Id: 100, Name: '2024 Operating Budget', StatusTypeId: 1, IsDefault: 1, StatusType: Current } }, { '@attributes': { Id: 200, Name: '2024 Capital Budget', StatusTypeId: 2, IsDefault: 0, StatusType: Proposed } }] }, LedgerIds: { LedgerId: [{ '@attributes': { Id: 1, Name: 'General Ledger' } }, { '@attributes': { Id: 2, Name: 'Accounts Payable Ledger' } }] } } } } }, getFinancialPickList-r2-response-example: { summary: 'getFinancialPickList R2', value: { response: { code: 200, result: { glGroupTypes: { glGroupType: [{ id: 1, name: Assets }, { id: 2, name: Liabilities }] }, glTreeTypes: { glTreeType: [{ id: 1, name: 'Standard Tree' }, { id: 2, name: 'Custom Tree' }] }, glAccountTypes: { glAccountType: [{ id: 1, name: 'Checking Account' }, { id: 2, name: 'Savings Account' }] }, glBooks: { glBook: [{ id: 1, name: 'Main Book' }, { id: 2, name: 'Secondary Book' }] }, glBranchTypes: { glBranchType: [{ id: 1, name: 'Main Branch' }, { id: 2, name: 'Secondary Branch' }] }, glExportBatchTypes: { glExportBatchType: [{ id: 1, name: 'QuickBooks Export' }, { id: 2, name: 'Excel Export' }] }, glHeaderStatusTypes: { glHeaderStatusType: [{ id: 1, name: Active }, { id: 2, name: Inactive }] }, glHeaderTypes: { glHeaderType: [{ id: 1, name: 'Journal Entry' }, { id: 2, name: Adjustment }] }, glLedgerTypes: { glLedgerType: [{ id: 1, name: 'General Ledger' }, { id: 2, name: 'Cash Receipts' }] }, glReconciliationStatusTypes: { glReconciliationStatusType: [{ id: 1, name: Reconciled }, { id: 2, name: Unreconciled }] }, glTransactionTypes: { glTransactionType: [{ id: 1, name: Debit }, { id: 2, name: Credit }] }, budgetStatusTypeIds: { budgetStatusTypeId: [{ id: 1, name: Draft }, { id: 2, name: Approved }] }, owners: { owner: [{ id: 123, name: 'ABC Property Management', propertyIds: '1,2,3' }, { id: 456, name: 'XYZ Investments', propertyIds: '4,5,6' }] }, ledgerIds: { ledgerId: [{ id: 1, name: 'General Filter' }, { id: 2, name: 'Cash Filter' }] } } } } }, getGlTransactions-r1-response-example: { summary: getGlTransactions, value: { response: { code: 200, result: { properties: { property: [{ '@attributes': { id: 1234, name: 'Sample Property', lookupCode: SP001, businessUnitCode: BU001 }, currencyCode: USD, isCashBook: false, transactions: { transaction: [{ '@attributes': { accountId: 101, accountName: 'Cash Operating Account', accountNumber: '1010', externalId: EXT001 }, glTotal: { openingBalance: '1000.00', debitOpeningBalance: '1000.00', creditOpeningBalance: '0.00', debitClosingBalance: '1500.00', creditClosingBalance: '-200.00', netChange: '300.00', closingBalance: '1300.00' }, glDetails: { glDetail: [{ '@attributes': { id: 5001, transactionType: 'Cash Receipt' }, transactionDate: 2024/01/15, apDetailId: 1001, postMonth: 'Jan,2024', postDate: 2024/01/15, debit: '500.00', credit: '0.00', balance: '1500.00', reference: 'GJ#001 - Rent Payment', memo: 'Monthly rent collection', customTagId: 1001, customTagName: 'Sample Custom Tag', isResidentRefund: 0, unitDesignation: 'Unit 101', unitId: 1001, unitNumber: '101', buildingId: 1001, buildingNumber: '101', vendorName: 'Sample Vendor', vendorCode: VND001, contractId: 1001, contract: 'Sample Contract', jobId: 1001, job: 'Sample Job', jobCostCodeId: 1001, jobCostCode: 'Sample Job Cost Code' }] } }] } }] } } } } }, getGlTrees-r1-response-example: { summary: getGlTrees, value: { response: { code: 200, result: { GlTrees: { GlTree: [{ '@attributes': { Id: 101, Name: 'Standard GL Tree' }, Properties: { Property: [{ '@attributes': { Id: 1234, Name: 'Sample Property' } }, { '@attributes': { Id: 5678, Name: 'Another Property' } }] }, Branches: { Branch: [{ BranchId: 201, GroupType: Assets, IsEnabled: 1, ShowGroupName: 1, GroupName: 'Current Assets', ShowSummaryRow: 1, SummaryRowName: 'Total Current Assets', Description: 'All current asset accounts' }, { BranchId: 202, GroupType: Liabilities, IsEnabled: 1, ShowGroupName: 1, GroupName: 'Current Liabilities', ShowSummaryRow: 1, SummaryRowName: 'Total Current Liabilities', Description: 'All current liability accounts' }] }, GlAccounts: { GlAccount: [{ '@attributes': { Id: 1001, BranchId: 201 }, AccountNumber: 1010-001, AccountName: 'Cash Operating Account', ExternalId: EXT001, GlGroupType: Asset, GroupLocation: 'Current Assets', Description: 'Primary operating cash account', Status: Enabled, IsSystem: 0 }, { '@attributes': { Id: 1002, BranchId: 201 }, AccountNumber: 1020-001, AccountName: 'Accounts Receivable', ExternalId: EXT002, GlGroupType: Asset, GroupLocation: 'Current Assets', Description: 'Tenant receivables', Status: Enabled, IsSystem: 0 }] } }] } } } } }, getGlTrees-r2-response-example: { summary: 'getGlTrees r2', value: { response: { code: 200, result: { glTrees: { glTree: [{ id: 123, name: 'Main GL Tree', isMasterGlTree: 1, branches: { branch: [{ branchId: 456, groupType: Assets, isEnabled: 1, showGroupName: 1, groupName: 'Current Assets', showSummaryRow: 1, summaryRowName: 'Total Current Assets', description: 'Current asset accounts' }] }, glAccounts: { glAccount: [{ id: 789, branchId: 456, accountNumber: 1000-001, accountName: 'Cash - Operating', externalId: EXT001, glGroupType: 'Current Assets', groupLocation: 'Current Assets', description: 'Primary operating cash account', status: Enabled, isSystem: 0 }] } }] } } } } }, getJobCategories-r1-response-example: { summary: getJobCategories, value: { response: { code: 200, result: { jobCategories: { jobCategory: [{ id: 1, name: Construction, glAccountId: 1001 }, { id: 2, name: Maintenance, glAccountId: 1002 }, { id: 3, name: Utilities }] } } } } }, getJobCostBudgets-r1-response-example: { summary: getJobCostBudgets, value: { response: { code: 200, result: { jobs: { job: [{ propertyId: 1001, jobId: 501, jobStatusId: 2, jobPhases: { jobPhase: [{ jobPhaseId: 5, jobPhaseName: 'Planning Phase', apCodes: { apCode: [{ apCodeId: 101, apCodeName: Materials, unitTypeBudget: 1500, locationBudget: 2000, generalBudget: 3000, postMonths: { postMonth: [{ apDetailId: 1001, postMonth: 01/2024, monthlyAmount: 500, unitTypeId: 10 }, { apDetailId: 1002, postMonth: 02/2024, monthlyAmount: 750, maintenanceLocationId: 20 }] } }] } }] } }, { propertyId: 1002, jobId: 502, jobStatusId: 1, jobPhases: { jobPhase: [{ jobPhaseId: 6, jobPhaseName: 'Execution Phase', apCodes: { apCode: [{ apCodeId: 102, apCodeName: Labor, unitTypeBudget: 2500, locationBudget: 1000, generalBudget: 4500, postMonths: { postMonth: [{ apDetailId: 1003, postMonth: 01/2024, monthlyAmount: 1200 }] } }] } }] } }] } } } } }, getJobs-r1-response-example: { summary: getJobs, value: { response: { code: 200, result: { jobs: { job: [{ id: 501, name: 'Building Renovation', propertyId: 1001, jobCategoryId: 1, glAccountId: 4001, jobStatusId: 2, jobStatus: 'In Progress', plannedStartDate: 01/15/2024, plannedCompletionDate: 06/30/2024, actualStartDate: 01/20/2024, budgetTotal: '25000.00', jobPhases: { jobPhase: [{ id: 101, name: 'Planning Phase', budget: 5000 }, { id: 102, name: 'Execution Phase', budget: 20000 }] }, apContracts: { apContract: [{ id: 201, name: 'Construction Contract', contractTotal: 15000, contractVendor: 'ABC Construction Inc', plannedStartDate: 02/01/2024, plannedCompletionDate: 05/31/2024, actualStartDate: 02/05/2024, apCodes: { apCode: [{ id: 301, jobPhaseId: 101, glAccountId: 4001, contractAmount: 2500 }, { id: 302, jobPhaseId: 102, glAccountId: 4002, contractAmount: 12500, changeOrderId: 401 }] } }] } }, { id: 502, name: 'Maintenance Work', propertyId: 1001, jobCategoryId: 2, jobStatusId: 1, jobStatus: Pending, budgetTotal: '10000.00' }] } } } } }, getTransactionTagLists-r1-response-example: { summary: getTransactionTagLists, value: { response: { code: 200, result: { transactionCustomTags: { transactionCustomTag: [{ id: 1, name: Department, code: DEPT, description: 'Department classification for transactions', isPublished: 1, transactionTypes: [{ id: 1, name: 'AP Invoice' }, { id: 2, name: 'AP Check' }] }, { id: 2, name: Project, description: 'Project classification for transactions', isPublished: 1, transactionTypes: [{ id: 1, name: 'AP Invoice' }] }] }, transactionRoutingTags: { transactionRoutingTag: [{ id: 101, name: Maintenance, description: 'Routing tag for maintenance transactions', isPublished: 1, transactionTypes: [{ id: 1, name: 'AP Invoice' }, { id: 3, name: 'Journal Entry' }] }, { id: 102, name: 'Capital Improvements', isPublished: 1, transactionTypes: [{ id: 2, name: 'AP Check' }] }] } } } } }, markGlTransactionsExported-r1-response-example: { summary: markGlTransactionsExported, value: { response: { code: 200, result: { status: Success, message: 'Gl Transactions marked as exported successfully.' } } } }, sendBudgets-r1-response-example: { summary: sendBudgets, value: { response: { code: 200, result: { budgets: { budget: [{ node: 1, status: Success, message: 'Budget inserted successfully.' }, { node: 2, status: Success, message: 'Budget inserted successfully.' }] } } } } }, sendJournalEntries-r1-response-example: { summary: sendJournalEntries, value: { response: { code: 200, result: { glHeaders: { glHeader: [{ node: 1, status: Success, message: 'GL Header inserted successfully.', glHeaderId: 12345, jeNumber: JE-2024-001234 }, { node: 2, status: Success, message: 'GL Header inserted successfully.', glHeaderId: 12346, jeNumber: JE-2024-001235 }] } } } } }, updateBudgets-r1-response-example: { summary: updateBudgets, value: { response: { code: 200, result: { budgets: { budget: [{ node: 1, status: Success, message: 'Budget updated successfully.' }, { node: 2, status: Success, message: 'Budget updated successfully.' }] } } } } }, getLeadPickLists-r1-request-example: { description: 'Retrieves lists of predefined options used when managing information about prospective renters. These lists include values for lead sources, leasing agents, event types, and lead statuses for one or more properties.', summary: 'getLeadPickLists r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeadPickLists, version: r1, params: { propertyIds: '1,2,3' } } } }, getLeadPickLists-r2-request-example: { description: 'Retrieves a comprehensive set of predefined option lists for a specific property. The data provides values for nearly all lead-related fields, including lead sources, event types, cancellation reasons, and quote provisions.', summary: 'getLeadPickLists r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeadPickLists, version: r2, params: { propertyId: 1234 } } } }, getLeadEvents-r1-request-example: { description: 'Retrieves the communication and activity history for a specific lead. The list of events can include calls, emails, appointments, tours, and notes.', summary: getLeadEvents, value: { auth: { type: apikey }, requestId: '15', method: { name: getLeadEvents, version: r1, params: { propertyId: 19463, applicationId: 123, eventTypeIds: '1,2,3', eventDateFrom: 05/25/2023, eventDateTo: 08/01/2023 } } } }, getLeads-r1-request-example: { description: 'Retrieves lead/prospect information with comprehensive filtering options including events and customer preferences.', summary: getLeads, value: { auth: { type: apikey }, requestId: '17', method: { name: getLeads, version: r1, params: { propertyId: 1234, leadId: '1001,1002,1003', name: 'John Smith', telephone: 555-123-4567, email: john.smith@example.com, leadStatusIds: '1,2,3', psProductIds: '10,20,30', fromDate: 01/01/2024, toDate: 12/31/2024, createdOnDateFrom: 01/01/2024, createdOnDateTo: 12/31/2024, eventDateFrom: 01/01/2024, eventDateTo: 12/31/2024, eventTypeIds: '1,2,3', excludeAmenities: 1 } } } }, getMitsLeads-r1-request-example: { description: 'Retrieves detailed lead and prospect information based on various search criteria. The response data is structured to comply with the MITS (Multifamily Information and Transactions Standard) format.', summary: getMitsLeads, value: { auth: { type: apikey }, requestId: '18', method: { name: getMitsLeads, version: r1, params: { leadId: 1001, propertyId: 1234, fromDateTime: 01/01/2024, toDateTime: 12/31/2024, psProductIds: '10,20,30', includeDemographics: 1, sendUnitSpaces: 1, eventDateFrom: 01/01/2024, eventDateTo: 12/31/2024, leadStatusIds: '1,2,3', eventTypeIds: '1,2,3', name: 'John Smith', email: john.smith@example.com, telephone: 555-123-4567 } } } }, applyQuote-r1-request-example: { description: "Applies a specific rental price quote to a prospective tenant's application for a chosen lease term.", summary: applyQuote, value: { auth: { type: apikey }, requestId: '15', method: { name: applyQuote, version: r1, params: { propertyId: 1234, applicationId: 5678, quoteId: 9012, leaseTermId: 3456 } } } }, generateQuotes-r1-request-example: { description: 'Creates one or more rental price quotes for a prospective tenant. Each quote is generated based on a specific unit, move-in date, lease term, and optional add-ons.', summary: generateQuotes, value: { auth: { type: apikey }, requestId: '16', method: { name: generateQuotes, version: r1, params: { propertyId: 1234, applicationId: 5678, quotes: { quote: [{ unitSpaceId: 1001, moveInDate: '2024-03-01', leaseTermIds: '12,24,36', note: 'First floor unit preferred', pets: { pet: [{ petTypeId: 1, count: 2 }] }, addOns: { addOn: [{ addOnTypeId: 1, addOnId: 101, agentId: 201, startDate: '2024-03-01', endDate: '2024-12-31' }] } }] } } } } }, getQuotes-r1-request-example: { description: "Retrieves one or more rental quotes associated with a prospective tenant's application. Each quote provides a complete price breakdown, including base rent, optional add-ons, pet fees, and other charges for various lease terms.", summary: getQuotes, value: { auth: { type: apikey }, requestId: '19', method: { name: getQuotes, version: r1, params: { propertyId: 1234, applicationId: 1001, leaseStartDate: '2024-04-01', includeExpiredQuotes: 0, quoteId: 5001 } } } }, sendLeads-r1-request-example: { description: "Adds a new sales lead to a property's database. The API captures the prospect's contact information, their housing preferences, and a complete history of interactions like calls, emails, and tours.", summary: sendLeads, value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeads, version: r1, params: { propertyId: 12345, doNotSendConfirmationEmail: 1, isWaitList: 0, prospects: { prospect: [{ leadSource: { originatingLeadSourceId: 123, additionalLeadSourceIds: '123,456,789' }, createdDate: '03/15/2024T10:30:00', leasingAgentId: '1234', communicationType: Call, customers: { customer: [{ name: { firstName: abc, lastName: abc, namePrefix: abc, middleName: abc, maidenName: abc, nameSuffix: abc }, customerRelationshipTypeId: 1234, address: { addressLine1: addressLine1, addressLine2: addressLine2, addressLine3: addressLine3, city: city, state: NY, postalCode: '12345' }, phone: { personalPhoneNumber: '+11234567890', cellPhoneNumber: '+11234567891', officePhoneNumber: '+11234567892', faxNumber: '+11234567893' }, email: email@example.com, googleClickId: gclid123456789, googleClientId: '123456789.1234567890', marketingPreferences: { email: { optInLeadCommunication: '1', optInMessageCenter: '0', optInContactPoints: '1', optInMarketingMessages: '0' }, optInphone: '1', optInMail: '0' } }] }, customerPreferences: { desiredMoveInDate: 04/01/2024, desiredFloorplanId: 1234, desiredUnitTypeId: 1234, desiredUnitId: 1234, desiredRent: { min: '200', max: '300' }, desiredNumBedrooms: '2', desiredNumBathrooms: '3', desiredLeaseTerms: '18', desiredLeaseTermId: '1234', numberOfOccupants: '1', comment: 'customer Preferences Comment' }, events: { event: [{ type: CallFromProspect, eventTypeId: '3', date: '03/15/2024T14:30:00', comments: 'Prospect called about availability', callData: { callFrom: 123-1456-789, ringThrough: 123-1456-789, callStatus: Answer, duration: '900', audioLink: 'URL for the call' }, appointmentDate: 03/20/2024, timeFrom: '14:00:00', timeTo: '15:00:00', subtypeId: '454', agentId: '1234', unitSpaceIds: '1234,1234', eventReasons: 'Property tour scheduled', eventReasonId: '1234', emailAddresses: { from: agent@property.com, to: prospect@example.com, cc: manager@property.com, bcc: admin@property.com }, subject: 'Property Information', emailBody: 'Thank you for your interest in our property.', doNotSendEmail: 1, eventResultId: '1234' }, { type: CallToProspect, eventTypeId: '5', date: 03/15/2024, callData: { callFrom: 123-111-1234, ringThrough: 123-111-1234, callStatus: Answer, duration: '900', audioLink: 'https://www.entrata.com' } }, { type: Appointment, eventTypeId: '17', subtypeId: '454', date: '03/20/2024T14:00:00', appointmentDate: 03/20/2024, timeFrom: '14:00:00', timeTo: '15:00:00', eventReasons: 'Appointment Title', comments: 'Appointment comment' }, { type: EmailFromProspect, eventTypeId: '1', date: '03/15/2024T14:30:00', emailAddresses: { from: test1@email.com, to: test11@email.com, cc: test11@email.com, bcc: test11@email.com }, subject: 'Email Subject', emailBody: 'Email Body' }, { type: EmailToProspect, eventTypeId: '2', date: '03/15/2024T14:30:00', emailAddresses: { from: test12@email.com, to: test1@email.com, cc: test02@email.com, bcc: test02@email.com }, subject: 'Email Subject', emailBody: 'Email Body', doNotSendEmail: 1 }, { type: Show, eventTypeId: '78', date: '03/15/2024T14:30:00', agentId: '12345', unitSpaceIds: '1234,1234', comments: Comments, eventReasonId: '1234' }, { type: Note, eventTypeId: '8', date: '03/15/2024T14:30:00', eventResultId: '1234', comments: comments }, { type: IncomingText, eventTypeId: '5', date: '03/15/2024T14:30:00', eventResultId: '1234', comments: Incoming_Text }, { type: OutgoingText, eventTypeId: '6', date: '03/15/2024T14:30:00', eventResultId: '12345', comments: Outgoing_Text }, { type: VirtualTour, eventTypeId: '449', date: '03/15/2024T14:30:00', agentId: '1234', unitSpaceIds: '1234', comments: Comments, eventReasonId: '1234' }, { type: SelfGuidedTour, eventTypeId: '442', date: '03/15/2024T14:30:00', agentId: '10481', unitSpaceIds: '1234', comments: Comments, eventReasonId: '1234' }] } }] } } } } }, sendMitsLeads-r1-request-example: { description: "Submits a batch of one or more new sales leads to a property's management system. For each lead, the API captures the prospect's contact details, their housing preferences, and a full history of interactions.", summary: sendMitsLeads, value: { auth: { type: apikey }, requestId: '15', method: { name: sendMitsLeads, version: r1, params: { propertyId: 1234, doNotSendConfirmationEmail: 0, isWaitList: 1, Prospects: { Prospect: [{ TransactionData: { OriginatingLeadSource: 'Phone Book', InternetListingService: 'ILS Name' }, LastUpdateDate: '03/15/2024T10:30:00', LeasingAgentId: 12345, Customers: { Customer: { Name: { FirstName: abc, LastName: abc, NamePrefix: abc, MiddleName: abc, MaidenName: abc, NameSuffix: abc }, Phone: [{ PhoneNumber: '123456789', '@attributes': { PhoneType: personal } }, { PhoneNumber: '123456789', '@attributes': { PhoneType: cell } }, { PhoneNumber: '123456789', '@attributes': { PhoneType: office } }], Email: test@email.com, Address: { AddressLine1: AddressLine1, AddressLine2: AddressLine2, AddressLine3: AddressLine3, City: City, State: NY, PostalCode: '12345', '@attributes': { AddressType: current } } } }, CustomerPreferences: { TargetMoveInDate: 04/01/2024, DesiredFloorplan: '1 floor', DesiredUnit: { Identification: { IDValue: 12345, '@attributes': { IDRank: primary, IDScopeType: sender, IDType: property_unit_id } }, MarketingName: 1A1-A, UnitType: one, UnitBedrooms: 1, UnitBathrooms: 1, MinSquareFeet: '900', MaxSquareFeet: '1200', UnitRent: 50, MarketRent: 35, NumberOccupants: 5 }, DesiredRent: { '@attributes': { Min: $200.00, Max: $500.00 } }, DesiredNumBedrooms: { '@attributes': { Exact: 1, Min: 1, Max: 3 } }, DesiredNumBathrooms: { '@attributes': { Exact: 2, Min: 1, Max: 3 } }, DesiredLeaseTerms: 12, DesiredLeaseTermId: 12345, NumberOfOccupants: 1, Comment: Comment }, Events: { Event: [{ CallData: { CallFrom: '123456789', RingThrough: '123456789', CallStatus: Answer, Duration: 900, AudioLink: 'http://www.test.co.in' }, EventReasons: 'Appointment Title', Comments: 'Appointment Description' }, { Agent: { AgentName: { FirstName: abc, LastName: abc } }, UnitSpaceIds: '1234,5678' }, { EmailData: { EmailDate: '03/15/2024T14:30:00', EmailAddresses: { EmailAddress: [{ '@value': from@test.com, '@attributes': { Scope: From } }, { '@value': to@test.com, '@attributes': { Scope: To } }, { '@value': cc@test.com, '@attributes': { Scope: Cc } }, { '@value': bcc@test.com, '@attributes': { Scope: Bcc } }] }, Subject: 'Email Subject', EmailBody: 'Email Body' }, '@attributes': { EventType: EmailToProspect, EventDate: '03/15/2024T14:30:00', AppointmentDate: 03/20/2024, TimeFrom: '02:00pm', TimeTo: '03:00pm' } }] } }] } } } } }, updateLeads-r1-request-example: { description: 'Updates an existing lead/prospect with comprehensive customer information, events, and preferences.', summary: 'updateLeads r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateLeads, version: r1, params: { PropertyId: 1234, ApplicationId: 5678, Prospects: { Prospect: [{ TransactionData: { OriginatingLeadSource: 'Phone Book', InternetListingService: 'ILS Name' }, LastUpdateDate: '03/15/2024T10:30:00', LeasingAgentId: 12345, Customers: { Customer: { Identification: { IDValue: '19760815' }, Name: { FirstName: John, LastName: Doe, NamePrefix: Mr., MiddleName: Michael, MaidenName: Smith, NameSuffix: Jr. }, Phone: [{ PhoneNumber: '123456789', '@attributes': { PhoneType: personal } }, { PhoneNumber: '123456790', '@attributes': { PhoneType: cell } }, { PhoneNumber: '123456791', '@attributes': { PhoneType: office } }], Email: john.doe@example.com } }, CustomerPreferences: { TargetMoveInDate: 04/01/2024, DesiredFloorplan: '1 floor', DesiredUnit: { Identification: { IDValue: 12345, '@attributes': { IDRank: primary, IDScopeType: sender, IDType: property_unit_id } }, MarketingName: 1A1-A, UnitType: '1', UnitBedrooms: 1, UnitBathrooms: 1, MinSquareFeet: '900', MaxSquareFeet: '1200', UnitRent: 50, MarketRent: 35, NumberOccupants: 5 }, DesiredRent: { '@attributes': { Min: $200.00, Max: $500.00 } }, DesiredNumBedrooms: { '@attributes': { Exact: 2, Min: 1, Max: 3 } }, DesiredNumBathrooms: { '@attributes': { Exact: 2, Min: 1, Max: 3 } }, DesiredLeaseTerms: '18', DesiredLeaseTermId: '1234', NumberOfOccupants: '2', Comment: 'Looking for a quiet unit' }, Events: { Event: [{ '@attributes': { EventType: CallFromProspect, EventDate: '03/15/2024T14:30:00', AppointmentDate: 03/20/2024, TimeFrom: '02:00pm', TimeTo: '03:00pm', EventId: '12345' }, CallData: { CallFrom: 123-456-7890, RingThrough: 123-456-7891, CallStatus: Answer, Duration: '180', AudioLink: 'https://example.com/audio.mp3' }, Comments: 'Customer called about availability', EventReasons: 'Incoming Call from John Doe | Result: High Probability of Leasing', UnitSpaceIds: '123,456,789', EmailData: { EmailDate: '03/15/2024T15:30:00', EmailAddresses: { EmailAddress: [{ '@attributes': { Scope: from }, '@value': leasing@property.com }] }, Subject: 'Property Information', EmailBody: 'Thank you for your interest in our property...' }, Agent: { AgentID: { AgentName: { FirstName: Jane, LastName: Smith } } } }, { '@attributes': { EventType: Appointment, EventDate: '03/15/2024T16:00:00', AppointmentDate: 03/20/2024, TimeFrom: '02:00pm', TimeTo: '03:00pm', EventId: '12345' }, Comments: 'Scheduled property tour', EventReasons: 'Property tour scheduled' }, { '@attributes': { EventType: Show, EventDate: '03/20/2024T14:00:00' }, UnitSpaceIds: '123,456,789', Comments: 'Property tour completed', EventReasons: 'Tour Result: 1', Agent: { AgentID: { Identification: { IDValue: '513102', '@attributes': { IDType: 'Agent Id', IDScopeType: sender } } }, AgentName: { FirstName: Jane, LastName: Smith } } }, { '@attributes': { EventType: EmailToProspect, EventDate: '03/15/2024T15:30:00' }, EmailData: { EmailDate: '03/15/2024T15:30:00', EmailAddresses: { EmailAddress: [{ '@attributes': { Scope: from }, '@value': leasing@property.com }, { '@attributes': { Scope: to }, '@value': john.doe@example.com }] }, Subject: 'Property Information', EmailBody: 'Thank you for your interest in our property...' }, Comments: 'Follow-up email sent' }] } }] } } } } }, updateLeads-r2-request-example: { summary: 'updateLeads r2', value: { auth: { type: apikey }, requestId: '15', method: { name: updateLeads, version: r2, params: { propertyId: 1234, doNotSendConfirmationEmail: 0, prospects: { prospect: [{ applicationId: 5678, leadSource: { originatingLeadSourceId: 123, internetListingServiceId: 456, additionalLeadSourceIds: '102,103' }, leasingAgentId: 201, leadScore: 85.5, leadScoreMin: 0, leadScoreMax: 100, customers: { customer: [{ applicantId: 123, email: john.doe@example.com, phone: { personalPhoneNumber: '+1234567890', cellPhoneNumber: '+1234567891', officePhoneNumber: '+1234567892', faxNumber: '+1234567893' }, name: { firstName: John, lastName: Doe, namePrefix: Mr., middleName: Michael, maidenName: Smith, nameSuffix: Jr. }, customerRelationshipTypeId: 1, address: { addressLine1: '123 Main St', addressLine2: 'Apt 4B', addressLine3: 'Building A', city: 'New York', state: NY, postalCode: '10001' } }] }, customerPreferences: { desiredUnitTypeId: 1234, desiredUnitId: 1234, desiredFloorplanId: 1234, desiredNumBedrooms: 2, desiredNumBathrooms: 2, desiredLeaseTermMonth: 12, desiredLeaseTermId: 601, desiredMoveInDate: 04/01/2024, numberOfOccupants: 2, desiredRent: { min: 1200, max: 1800 }, comment: 'Looking for a quiet unit' }, events: { event: [{ eventId: 12345, typeId: 1, unitSpaceIds: '123,456,789', date: '2024-03-15T14:30:00', type: CallFromProspect, callData: { callFrom: 123-456-7890, ringThrough: 123-456-7891, callStatus: Answer, duration: 180, audioLink: 'https://example.com/audio.mp3' }, comments: 'Customer called about availability', subtypeId: 1, appointmentDate: 03/20/2024, timeFrom: '02:00pm', timeTo: '03:00pm', title: 'Incoming Call from John Doe', deleteAppointment: false, eventResultId: 5 }] } }, { applicationId: 5679, leadSource: { originatingLeadSourceId: 124, internetListingServiceId: 457, additionalLeadSourceIds: '104,105' }, leasingAgentId: 202, leadScore: 92, leadScoreMin: 0, leadScoreMax: 100, customers: { customer: [{ applicantId: 124, email: jane.smith@example.com, phone: { personalPhoneNumber: '+1987654321', cellPhoneNumber: '+1987654322' }, name: { firstName: Jane, lastName: Smith, namePrefix: Ms. }, customerRelationshipTypeId: 1, address: { addressLine1: '456 Oak Ave', city: 'Los Angeles', state: CA, postalCode: '90001' } }, { applicantId: 125, email: robert.smith@example.com, phone: { cellPhoneNumber: '+1987654323' }, name: { firstName: Robert, lastName: Smith }, customerRelationshipTypeId: 2 }] }, customerPreferences: { desiredUnitTypeId: 1235, desiredFloorplanId: 1235, desiredNumBedrooms: 1, desiredNumBathrooms: 1, desiredLeaseTermMonth: 6, desiredLeaseTermId: 602, desiredMoveInDate: 05/01/2024, numberOfOccupants: 2, desiredRent: { min: 1000, max: 1500 } }, events: { event: [{ typeId: 3, date: '2024-03-18T10:00:00', type: Tour, comments: 'Property tour scheduled', subtypeId: 2, appointmentDate: 03/22/2024, timeFrom: '10:00am', timeTo: '11:00am', title: 'Property Tour', eventResultId: 1 }] } }] } } } } }, getLeadPickLists-r1-response-example: { summary: 'getLeadPickLists r1', value: { response: { code: 200, requestId: '15', result: { EventTypes: { EventType: [{ '@attributes': { name: EmailFromProspect, Id: 1, entrataName: 'Email Incoming' } }, { '@attributes': { name: EmailToProspect, Id: 2, entrataName: 'Email Outgoing' } }] }, Property: { 123: { '@attributes': { Id: 123 }, LeasingAgents: { LeasingAgent: [{ '@attributes': { name: 'John Smith', Id: 456 } }, { '@attributes': { name: 'Jane Doe', Id: 457 } }] }, LeadSources: { LeadSource: [{ '@attributes': { name: Website, Id: 789, WebVisible: 'true' } }, { '@attributes': { name: Referral, Id: 790, WebVisible: 'false' } }] } }, 124: { '@attributes': { Id: 124 }, LeasingAgents: { LeasingAgent: [{ '@attributes': { name: 'Mike Johnson', Id: 458 } }] }, LeadSources: { LeadSource: [{ '@attributes': { name: Advertisement, Id: 791, WebVisible: 'true' } }] } } }, EventResults: { EventResult: [{ name: Scheduled, Id: 101 }, { name: Completed, Id: 102 }] }, LeadStatuses: { LeadStatus: [{ '@attributes': { Id: 201, name: 'Prospect Inquiry', leaseIntervalTypeName: 'Fixed Term' } }, { '@attributes': { Id: 202, name: 'Application Submitted', leaseIntervalTypeName: 'Fixed Term' } }] } } } } }, getLeadPickLists-r2-response-example: { summary: 'getLeadPickLists r2', value: { response: { code: 200, result: { eventTypes: { eventType: [{ '@attributes': { name: EmailFromProspect, id: 1, entrataName: 'Email Incoming' } }, { '@attributes': { name: EmailToProspect, id: 2, entrataName: 'Email Outgoing' } }] }, eventSubTypes: { eventSubType: [{ '@attributes': { name: 'Virtual Tour', id: 1, eventTypeId: 17 } }, { '@attributes': { name: 'Leasing Appointments', id: 2, eventTypeId: 17 } }] }, property: [{ '@attributes': { id: 1234 }, leasingAgents: { leasingAgent: [{ '@attributes': { name: 'John Smith', id: 101 } }, { '@attributes': { name: 'Jane Doe', id: 102 } }] }, leadSources: { leadSource: [{ '@attributes': { name: Walk-in, id: 1, webVisible: 'true' } }, { '@attributes': { name: Phone, id: 2, webVisible: 'true', vanityNumber: 555-RENT } }] } }], quoteProvisions: { quoteProvision: [{ '@attributes': { id: 1, name: Rent } }, { '@attributes': { id: 2, name: Deposit } }] }, eventResults: { eventResult: [{ '@attributes': { name: Scheduled, id: 1, eventTypeId: 17, defaultEventResultId: 1, defaultEventResult: Scheduled } }] }, leadStatuses: { leadStatus: [{ '@attributes': { id: 1, name: 'Prospect New', leaseIntervalTypeName: Traditional } }] }, applicationStages: { applicationStage: [{ '@attributes': { id: 1, name: Prospect } }, { '@attributes': { id: 2, name: Application } }] }, applicationStatuses: { applicationStatus: [{ '@attributes': { id: 1, name: New } }, { '@attributes': { id: 2, name: 'In Process' } }] }, psProducts: { psProduct: [{ '@attributes': { id: 1, name: 'API Services' } }, { '@attributes': { id: 2, name: 'Guest Card Parsing' } }] }, listItemTypes: { listItemType: [{ '@attributes': { id: 1, name: 'Lead Cancellation' }, listItems: { listItem: [{ '@attributes': { id: 1, name: 'Not Interested' } }, { '@attributes': { id: 2, name: 'Found Another Property' } }] } }] }, customerRelationshipTypes: { customerRelationshipType: [{ '@attributes': { id: 1, name: 'Primary Applicant', isDefault: 1, customerType: Applicant, customerTypeId: 1 } }, { '@attributes': { id: 2, name: Occupant, isDefault: 0, customerType: Occupant, customerTypeId: 2 } }] } } } } }, getLeadEvents-r1-response-example: { summary: getLeadEvents, value: { response: { code: 200, requestId: '15', result: { prospects: { prospect: [{ applicationId: 123, events: { event: [{ eventId: 987653, typeId: 1, type: 'Email - Incoming', date: '2023-06-15', dateTime: '2023-06-15 14:30:00 MST', emailAddresses: { from: leasing@example.com, to: prospect@example.com, cc: cc1@example.com, bcc: bcc1@example.com, subject: 'Potential Lead' }, Comments: 'Prospect interested in 2-bedroom units', eventResultId: 3, eventResult: Completed, eventReason: 'Incoming Email From Rita | Result: Completed' }, { eventId: 987654, typeId: 2, type: 'Email - Outgoing', date: '2023-06-15', dateTime: '2023-06-15 14:30:00 MST', emailAddresses: { from: leasing@example.com, to: prospect@example.com, cc: cc1@example.com, bcc: bcc1@example.com, subject: 'Tour Confirmation' }, Comments: 'Prospect interested in 2-bedroom units', eventResultId: 3, eventResult: Completed }, { eventId: 987654, typeId: 3, type: 'Call - Incoming', date: '2023-06-15', dateTime: '2023-06-15 14:30:00 MST', callData: { callId: 123456, callFrom: +1-555-123-4567, ringThrough: +1-555-987-6543, duration: '180', callStatus: Answered, audioLink: 'https://example.com/audio/123456.mp3' }, Comments: 'Prospect interested in 2-bedroom units', eventResultId: 3, eventResult: Completed, eventReason: 'Incoming Call From Rita | from google ads | Durarion: 180 s | Result: Completed', agentId: 456, agentFirstName: John, agentLastName: Smith }, { eventId: 987655, typeId: 78, type: Tour, date: '2023-06-20', dateTime: '2023-06-20 10:00:00 MST', appointmentEventId: 12345, eventResultId: 3, eventResult: Completed, eventReason: 'Tour | Result: Completed', Comments: 'Showed 2-bedroom units on first floor', agentId: 456, agentFirstName: John, agentLastName: Smith }] } }] } } } } }, getLeads-r1-response-example: { summary: getLeads, value: { response: { code: 200, requestId: '17', result: { propertyId: 1234, currencyCode: USD, prospects: { prospect: [{ applicationId: 1001, status: Active, statusId: 1, leadSourceId: 5, leadSource: Website, leasingAgentId: 201, leasingAgent: 'Jane Doe', lastUpdatedDate: '2024-03-15', lastUpdatedDateTime: '2024-03-15T10:30:00', createdOn: '2024-01-15', createdOnDateTime: '2024-01-15T10:30:00', screeningResultStatus: Approved, customers: { customer: [{ applicantId: 123, customerId: 2001, customerRelationshipTypeId: 1, customerRelationshipType: 'Primary Applicant', customerType: Applicant, namePrefix: Mr., firstName: John, lastName: Smith, middleName: Allen, maidenName: Johnson, nameSuffix: Jr., personalPhoneNumber: 555-123-4567, cellPhoneNumber: 555-223-7890, officePhoneNumber: 555-333-9999, faxPhoneNumber: 555-555-0000, phones: { phone: [{ isPrimary: 1, phoneType: Mobile, phoneNumber: 555-223-7890, countryCode: '+1' }] }, email: john.smith@example.com, isActiveBankruptcy: false, bankruptcyDate: '2024-03-15', bankruptcyNote: 'Discharged 2021', googleClickId: gclid123456789, googleClientId: '123456789.1234567890', birthDate: '1990-06-15', addresses: { address: [{ addressType: Current, addressLine: '123 Main St', city: Anytown, state: CA, province: 'British Columbia', countryCode: US, postalCode: '12345' }] }, pets: { pet: [{ id: 45, petType: Dog, name: Buddy, breed: 'Golden Retriever', color: Golden, weight: 65.5, age: '3', gender: Male, description: 'Service Animal', licenseCity: Anytown, licenseNumber: XYZ123 }] } }] }, customerPreferences: [{ targetMoveInDate: '2024-04-01', desiredFloorplan: '2 Bedroom / 2 Bath', desiredUnit: { propertyUnitId: 101, unitNumber: 5A, unitSpaceId: 2105, unitType: Apartment, unitBedrooms: 2, unitBathrooms: 2, minSquareFeet: 1050, maxSquareFeet: 1250, initialRent: 1550, marketRent: 1750, maxOccupants: 4, floorplanId: 3005, floorplanName: 'Plan C - 2 Bed / 2 Bath', squareFootType: internal, unitEconomicStatus: residential, unitOccupancyStatus: vacant, unitLeasedStatus: leased, buildingName: 'West Wing' }, desiredMinRent: 1500, desiredMaxRent: 2000, desiredNumBedrooms: 2, desiredNumBathrooms: 2, desiredLeaseTerms: 12, desiredLeaseTermName: '12 Month', numberOfOccupants: 2, amenities: { propertyAmenities: { amenity: [{ amenityType: Community, amenity: 'Swimming Pool', description: 'Outdoor swimming pool' }] }, unitAmenities: { amenity: [{ amenityType: Apartment, amenity: Dishwasher, description: 'Built-in dishwasher' }] } }, pets: { pet: [{ petType: Dog, count: 1 }] } }], events: { event: [{ eventId: 5001, typeId: 1, leaseId: lease123, leaseIntervalId: interval456, applicantId: applicant789, type: 'Call - Incoming', subtypeId: 1, subtype: 'Incoming Call', appointmentDate: '2023-06-20', timeFrom: '10:00:00', timeTo: '11:00:00', date: '2024-03-15', dateTime: '2024-03-15 14:30:00 MST', agentId: 201, agentFirstName: Jane, agentLastName: Doe, callData: { callId: c1234, callFrom: 555-111-2222, ringThrough: 555-333-4444, duration: 125, callStatus: Completed, audioLink: 'https://audio.example.com/recording/12345' }, appointmentEventId: abcde-12345, Comments: 'Prospect interested in 2-bedroom units', eventResultId: 10, eventResult: 'Tour Completed', eventReasons: 'Follow-up requested|AudioLink:https://audio.com/rec/123', unitSpaceIds: '205,206,218' }] } }] } } } } }, getMitsLeads-r1-response-example: { summary: getMitsLeads, value: { response: { code: 200, requestId: '18', result: { CurrencyCode: USD, LeadManagement: [{ Prospects: { Prospect: { TransactionData: { Identification: [{ IDValue: 1976081517390875, OrganizationName: 'Acme Properties', '@attributes': { IDType: 'Lead Number', IDScopeType: sender }, Status: 'Guest Card Completed' }, { IDValue: '172775', OrganizationName: 'Acme Properties', '@attributes': { IDType: PropertyID, IDScopeType: sender } }, { IDValue: '2019-02-20T08:07:53', OrganizationName: 'Acme Properties', '@attributes': { IDType: 'Application Date', IDScopeType: sender } }] }, LastUpdateDate: '2019-02-20T08:07:53', Customers: { Customer: { Identification: [{ IDValue: '19760815', OrganizationName: 'Acme Properties', '@attributes': { IDType: 'Applicant Id', IDScopeType: sender } }, { IDValue: '30831648', OrganizationName: 'Acme Properties', '@attributes': { IDType: 'Customer Id', IDScopeType: sender } }], Name: { NamePrefix: Mr., FirstName: Sdsad, MiddleName: Michael, LastName: Asdsa, MaidenName: Johnson, NameSuffix: Jr. }, Phone: { PhoneNumber: '2213213123', '@attributes': { PhoneType: cell } }, Email: john.smith@example.com } }, CustomerPreferences: { TargetMoveInDate: '2019-02-20', DesiredFloorplan: '2 Bedroom / 2 Bath', DesiredRent: { '@attributes': { Min: $1500, Max: $2000 } }, DesiredNumBedrooms: { '@attributes': { Exact: 2 } }, DesiredNumBathrooms: { '@attributes': { Exact: 2 } }, DesiredLeaseTerms: '10', DesiredLeaseTermName: '10 Months', NumberOfOccupants: 2, Comment: 'Interested in ground floor units' }, Events: { Event: [{ EventID: { Identification: [{ IDValue: '147128113', OrganizationName: 'Acme Properties', Status: Scheduled, '@attributes': { IDType: 'Event Id', IDScopeType: sender } }, { IDValue: 'Scheduled Follow-Up', OrganizationName: 'Acme Properties', Status: Scheduled, '@attributes': { IDType: 'Entrata Event Type', IDScopeType: sender } }] }, Agent: { AgentID: { Identification: { IDValue: '513102', OrganizationName: 'Acme Properties', Status: Active, '@attributes': { IDType: 'Agent Id', IDScopeType: sender } } }, AgentName: { FirstName: testa, MiddleName: testa, LastName: ygyugu, NameSuffix: Jr. } }, Comments: TestEast, EventReasons: 'Manual Contact added by Contact Points because Guest Card is submitted', '@attributes': { EventType: Appointment, EventDate: '2019-02-20T08:10:27' }, CallData: { CallerId: { Identification: [{ IDValue: call_12345, OrganizationName: 'Acme Properties', Status: Active, '@attributes': { IDType: 'Call Id', IDScopeType: sender } }], CallFrom: '987654321', RingThrough: '123456789', Duration: 900, CallStatus: Answer, AudioLink: 'http://www.test.co.in' } } }], CustomRecords: [{ Record: { Name: '1001', Value: { '@value': '', '@attributes': { dataType: Applicant_SSN } } } }] } } } }] } } } }, applyQuote-r1-response-example: { summary: applyQuote, value: { response: { requestId: '15', code: 200, result: { status: Success, quoteId: 9012, message: 'Quote applied successfully to application.' } } } }, generateQuotes-r1-response-example: { summary: generateQuotes, value: { response: { requestId: '16', code: 200, result: { quotes: { quote: [{ node: 1, status: Success, quoteId: 9012, unitSpaceId: 1001, leaseStartDate: '2024-03-01', expiresOn: '2024-03-15 23:59:59', message: 'Quote generated successfully' }] } } } } }, getQuotes-r1-response-example: { summary: getQuotes, value: { response: { code: 200, requestId: '19', result: { currencyCode: USD, applications: { application: [{ applicationId: 1001, applicationStatusId: 1, applicationStatus: Active, quotes: { quote: [{ id: 5001, moveInDate: '2024-04-01', createdOn: '2024-03-15 10:30:00', acceptedOn: '2024-03-20', expiresOn: '2024-04-01 23:59:59', isSelected: '1', buildingId: 101, buildingName: 'Main Building', floorPlanId: 201, floorPlanName: '2 Bedroom / 2 Bath', unitSpaceId: 101A, unitNumber: '101', numberOfBedRooms: 2, numberOfBathRooms: 2, leaseTerms: { leaseTerm: [{ id: 301, termMonth: 12, quoteAmount: '1500.00', taxAmount: '150.00' }, { id: 302, termMonth: 6, quoteAmount: '1600.00', taxAmount: '160.00' }] }, quoteProvisions: { quoteProvision: [{ id: 401, name: 'Pet Policy' }, { id: 402, name: 'Maintenance Policy' }] }, optionalItems: { optionalItem: [{ addOnTypeId: 501, leaseAssociationId: 601, name: 'Parking Space', type: 'Rentable Item', currentRate: '100.00', deposit: '200.00' }] }, services: { service: [{ addOnTypeId: 502, leaseAssociationId: 602, name: 'Internet Service', type: Service, currentRate: '75.00', deposit: '100.00' }] }, pets: { pet: [{ petTypeId: 701, petType: Dog }, { petTypeId: 702, petType: Cat }] }, charges: { charge: [{ pricingLevelId: 801, pricingLevel: Standard, pricingLevelReferenceId: 901, chargeUsageId: 1001, chargeUsage: Rent, chargeTimingId: 1101, chargeTiming: Monthly, chargeCodeTypeId: 1201, chargeCodeType: Rent, chargeCodeId: 1301, chargeCode: 'Base Rent', chargeAmount: '1500.00', taxAmount: '150.00' }, { pricingLevelId: 802, pricingLevel: Premium, pricingLevelReferenceId: 902, chargeUsageId: 1002, chargeUsage: Utilities, chargeTimingId: 1101, chargeTiming: Monthly, chargeCodeTypeId: 1202, chargeCodeType: Utilities, chargeCodeId: 1302, chargeCode: 'Water & Sewer', chargeAmount: '50.00', taxAmount: '5.00' }] } }] } }] } } } } }, sendLeads-r1-response-example: { summary: sendLeads, value: { response: { code: 200, requestId: '20', result: { prospects: { prospect: [{ node: 1, applicationId: 1001, applicantId: 2001, status: Success, message: 'Lead inserted successfully.', applicants: { applicant: [{ id: 2001, firstName: John, lastName: Doe }] } }, { node: 2, applicationId: 1002, applicantId: 2002, status: Success, message: 'Lead inserted successfully.', applicants: { applicant: [{ id: 2002, firstName: Jane, lastName: Smith }] } }] } } } } }, sendMitsLeads-r1-response-example: { summary: sendMitsLeads, value: { requestId: '15', result: { Prospects: { Prospect: [{ '@attributes': { node: '1', reference_id: '1253581', applicant_id: '1246084', status: Success, message: 'Lead inserted successfully.' } }, { '@attributes': { node: '2', reference_id: '1253582', applicant_id: '1354178', status: Success, message: 'Lead inserted successfully.' } }] } } } }, updateLeads-r1-response-example: { summary: 'updateLeads r1', value: { response: { requestId: '15', code: 200, result: { Prospects: { Prospect: [{ '@attributes': { node: 1, reference_id: '5678', applicant_id: '19760815', status: Success, message: 'Lead updated successfully.' } }] } } } } }, updateLeads-r2-response-example: { summary: 'updateLeads r2', value: { response: { requestId: '15', code: 200, result: { prospects: [{ node: 1, status: Success, message: 'Lead updated successfully.', newApplicationId: 5679, newPropertyId: 1235, applicants: { applicant: [{ applicantId: 19760815, applicantName: 'John Doe' }, { applicantId: 19760816, applicantName: 'Jane Doe' }] } }, { node: 2, status: Success, message: 'Lead updated successfully.', applicants: { applicant: [{ applicantId: 19760817, applicantName: 'Jane Smith' }, { applicantId: 19760818, applicantName: 'Robert Smith' }] } }] } } } }, cancelLease-r1-request-example: { summary: 'cancelLease r1', value: { auth: { type: apikey }, requestId: '15', method: { name: cancelLease, version: r1, params: { propertyId: 12345, leaseId: 67890 } } } }, getEvictedLeases-r1-request-example: { summary: 'getEvictedLeases r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getEvictedLeases, version: r1, params: { propertyId: 12345, evictionStartDateFrom: 01/01/2024, evictionStartDateTo: 12/31/2024 } } } }, getExpiringLeases-r1-request-example: { summary: 'getExpiringLeases r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getExpiringLeases, version: r1, params: { propertyId: 6789, fromDate: 01/15/2024, toDate: 12/31/2024, isMonthToMonth: 0, showNoticeLeasesOnly: 0 } } } }, getLeaseActivities-r1-request-example: { summary: 'getLeaseActivities r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseActivities, version: r1, params: { leaseId: 12345, propertyId: 6789, eventTypeIds: '1,2,3', createdOnDateFrom: '2024-01-01', createdOnDateTo: '2024-12-31', leaseStatusTypeIds: '1,2,3' } } } }, getLeaseDetails-r1-request-example: { summary: 'getLeaseDetails r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseDetails, version: r1, params: { propertyId: 6789, leaseId: 12345, includeAddOns: 1, includeCharge: 1 } } } }, getLeaseDetails-r2-request-example: { summary: 'getLeaseDetails r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseDetails, version: r2, params: { propertyId: 6789, leaseId: 12345, leaseStatusTypeIds: '1,2,3', includeAddOns: 1, includeCharge: 1 } } } }, getLeaseDocuments-r1-request-example: { summary: 'getLeaseDocuments r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseDocuments, version: r1, params: { propertyId: 6789, leaseId: 12345, documentIds: '1001,1002', addedOnFromDate: 01/15/2024, fileTypesCode: 'LEASE,ADDENDUM', showDeletedFile: 0 } } } }, getLeaseDocumentsList-r1-request-example: { summary: 'getLeaseDocumentsList r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeaseDocumentsList, version: r1, params: { propertyId: 6789, leaseStatusTypeIds: '1,2,3', fileTypesCode: 'LEASE,ADDENDUM', showDeletedFile: 0 } } } }, getLeasePickList-r1-request-example: { summary: 'getLeasePickList r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeasePickList, version: r1, params: { } } } }, getLeases-r1-request-example: { summary: 'getLeases r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeases, version: r1, params: { propertyId: 6789, leaseStatusTypeIds: '1,2', moveInDateFrom: '2024-01-01', moveInDateTo: '2024-12-31', includeLeaseHistory: 1, includeDemographics: 0, includeArTransactions: 1 } } } }, getLeases-r2-request-example: { summary: 'getLeases r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeases, version: r2, params: { propertyId: 1234, leaseIds: '1001,1002', applicationId: 12345, customerId: 12345, unitNumber: 101A, buildingName: 'Building A', moveInDateFrom: '2024-01-01', moveInDateTo: '2024-12-31', leaseExpiringDateFrom: '2024-06-01', leaseExpiringDateTo: '2024-12-31', moveOutDateFrom: '2024-01-01', moveOutDateTo: '2024-12-31', scheduledArCodeIds: '101,102,103', leaseStatusTypeIds: '1,2,3', includeLeaseHistory: 0, includeOtherIncomeLeases: 0, includeDemographics: 0, residentFriendlyMode: 0, includeArTransactions: 0 } } } }, getMitsCollections-r2-request-example: { description: 'Retrieves MITS collections data for a property.', summary: 'getMitsCollections r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getMitsCollections, version: r2, params: { propertyId: 12345, fromDate: 01/01/2024, transactionFromDate: 01/01/2024, includeEvictions: 0 } } } }, getMitsLeases-r1-request-example: { description: 'Retrieves MITS lease data for a property with various filtering options.', summary: getMitsLeases, value: { auth: { type: apikey }, requestId: '15', method: { name: getMitsLeases, version: r1, params: { propertyId: 12345, customerId: 123456, unitNumber: '101', buildingName: 'Building A', moveInDateFrom: 01/01/2024, moveInDateTo: 12/31/2024, leaseStatusTypeIds: '1,2', includeLeaseHistory: 0, sendUnitSpaces: 0, includeDemographics: 1, includeOtherIncomeLeases: 0, preLeaseOnly: 0, residentFriendlyMode: 0 } } } }, getParcelAlerts-r1-request-example: { summary: 'getParcelAlerts r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getParcelAlerts, version: r1, params: { propertyId: 12345, leaseId: 67890, customerId: 54321, isActive: 1 } } } }, getRentersInsurancePolicies-r1-request-example: { summary: 'getRentersInsurancePolicies r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getRentersInsurancePolicies, version: r1, params: { propertyId: 12345, leaseStatusTypeIds: '1,2,3', lastUpdatedOn: 01/15/2024 } } } }, moveInLease-r1-request-example: { summary: 'moveInLease r1', value: { auth: { type: apikey }, requestId: '15', method: { name: moveInLease, version: r1, params: { propertyId: 12345, leaseId: 67890 } } } }, moveOutLease-r1-request-example: { summary: 'moveOutLease r1', value: { auth: { type: apikey }, requestId: '15', method: { name: moveOutLease, version: r1, params: { propertyId: 12345, leaseId: 67890, moveOutTypeId: 1, moveOutReasonId: 2, refundMethodId: 1, endContinuingScheduledCharges: 1, postAcceleratedRent: 0, noticeDate: '2024-01-15', moveOutDate: '2024-02-15', unitAvailableOnDate: '2024-02-16', makeReadyEndDate: '2024-02-20', forwardingAddress: { streetLine1: '123 Main St', streetLine2: 'Apt 4B', streetLine3: '', city: Springfield, stateCode: IL, postalCode: '62701' } } } } }, onNoticeLease-r1-request-example: { summary: 'onNoticeLease r1', value: { auth: { type: apikey }, requestId: '15', method: { name: onNoticeLease, version: r1, params: { propertyId: 12345, leaseId: 67890, moveOutTypeId: 1, moveOutReasonId: 2, noticeDate: '2024-01-15', moveOutDate: '2024-02-15', unitAvailableOnDate: '2024-02-16', submitRefundDetails: 1, refundMethodId: 1, forwardingAddress: { streetLine1: '123 Main St', streetLine2: 'Apt 4B', streetLine3: '', city: Springfield, stateCode: IL, postalCode: '62701' }, makeReadyEndDate: '2024-02-20' } } } }, sendLeaseActivities-r1-request-example: { description: 'Sends lease activities.', summary: sendLeaseActivities, value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeaseActivities, version: r1, params: { propertyId: 12345, events: { event: [{ eventTypeId: 1, eventDateTime: '01/15/2024T10:30:00', leaseId: 67890, eventId: 12345, leaseIntervalId: 54321, leasingAgentId: 98765, eventResultId: 11111, customerIds: '123,456,789', eventTagIds: '10,20,30', comment: 'Customer called about lease renewal', scheduleDateTime: '01/20/2024T14:00:00', hazardEndDate: '2024-02-15', hazardNote: 'Broken window in bedroom' }, { eventTypeId: 3, eventDateTime: '01/15/2024T11:00:00', leaseId: 67890, comment: 'Called customer about payment', customerIds: '123,456' }] } } } } }, sendLeaseDocuments-r1-request-example: { description: 'Upload one or more documents and associate them with a lease, application, or applicant.', summary: sendLeaseDocuments, value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeaseDocuments, version: r1, params: { propertyId: 12345, leaseId: 67890, applicationId: 54321, applicantId: 98765, files: { file: [{ fileName: lease_agreement.pdf, leaseFileType: LEASE_AGREEMENT, fileTypeId: 123, isShowInResidentPortal: 1, customerIds: '123,456' }, { fileName: move_in_checklist.pdf, leaseFileType: MOVE_IN_CHECKLIST, fileTypeId: 456, isShowInResidentPortal: 0 }] } } } } }, sendLeases-r1-request-example: { description: 'Sends leases.', summary: sendLeases, value: { auth: { type: apikey }, requestId: '15', method: { name: sendLeases, version: r1, params: { propertyId: 12345, leases: { lease: [{ leaseStartDate: '2024-01-01', leaseEndDate: '2024-12-31', leaseTermId: 123, floorplanId: 789, unitSpaceId: 101, spaceConfigurationId: 202, companyApplicationId: 303, moveInDate: '2024-01-15', occupants: { occupant: [{ firstName: John, middleName: Michael, lastName: Doe, customerRelationshipTypeId: 1, emailAddress: john.doe@example.com, birthDate: '2024-05-15', primaryPhoneNumber: { phoneNumberTypeId: 1, phoneNumber: 555-123-4567 }, secondaryPhoneNumber: { phoneNumberTypeId: 2, phoneNumber: 555-987-6543 }, addresses: { address: [{ addressTypeId: 2, streetLine1: '123 Main Street', streetLine2: 'Apt 4B', city: 'New York', stateCode: NY, postalCode: '10001' }, { addressTypeId: 123, streetLine1: '456 Oak Avenue', city: Brooklyn, stateCode: NY, postalCode: '11201' }] } }, { firstName: Jane, lastName: Smith, customerRelationshipTypeId: 2, emailAddress: jane.smith@example.com, primaryPhoneNumber: { phoneNumberTypeId: 1, phoneNumber: 555-987-6543 }, addresses: { address: [{ addressTypeId: 2, streetLine1: '789 Pine Street', streetLine2: 'Apt 4B', city: Queens, stateCode: NY, postalCode: '11375' }] } }] } }] } } } } }, sendRentersInsurancePolicies-r1-request-example: { description: 'Sends renters insurance policies.', summary: 'sendRentersInsurancePolicies r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendRentersInsurancePolicies, version: r1, params: { propertyId: 12345, insurancePolicies: { insurancePolicy: [{ id: 67890, leaseId: 123456, customerId: 789012, provider: 'State Farm Insurance', policyNumber: SF123456789, startDate: 01/01/2024, endDate: 12/31/2024, liability: 100000, personalContents: 25000, deductible: 500 }, { leaseId: 123457, customerId: 789013, provider: 'Allstate Insurance', policyNumber: ALL987654321, startDate: 02/01/2024, endDate: 01/31/2025, liability: 150000, personalContents: 30000 }] } } } } }, sendRentersInsurancePolicies-r2-request-example: { summary: 'sendRentersInsurancePolicies r2', value: { auth: { type: apikey }, requestId: '15', method: { name: sendRentersInsurancePolicies, version: r2, params: { propertyId: 12345, insurancePolicies: { insurancePolicy: [{ id: 67890, leaseId: 123456, customerIds: '789012,789013', provider: 'State Farm Insurance', policyNumber: SF123456789, startDate: 01/01/2024, endDate: 12/31/2024, liability: 100000, personalContents: 25000, deductible: 500, isCancelled: 0, file: { name: insurance_proof.pdf, fileData: U29tZVRlc3REYXRh } }, { leaseId: 123457, customerIds: '789014', provider: 'Allstate Insurance', policyNumber: ALL987654321, startDate: 02/01/2024, endDate: 01/31/2025, liability: 150000, personalContents: 30000, isCancelled: 0 }] } } } } }, sendRoommateGroups-r1-request-example: { description: 'Sends roommate groups.', summary: 'sendRoommateGroups r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendRoommateGroups, version: r1, params: { propertyId: 12345, roommateGroups: { roommateGroup: [{ groupId: 67890, invitorApplicationId: 123456, inviteeApplicationId: '789012,789013' }, { invitorApplicationId: 123457, inviteeApplicationId: '789014' }, { groupId: 67891, inviteeApplicationId: '789015' }] } } } } }, sendRoommateGroups-r2-request-example: { description: 'Sends roommate groups.', summary: 'sendRoommateGroups r2', value: { auth: { type: apikey }, requestId: '15', method: { name: sendRoommateGroups, version: r2, params: { roommateGroups: { roommateGroup: [{ invitorApplicationId: 123456, inviteeApplicationId: '789012,789013' }, { invitorApplicationId: 123457, inviteeApplicationId: '789014' }, { invitorApplicationId: 123458, inviteeApplicationId: '789015' }] } } } } }, sendScheduledCharges-r1-request-example: { description: 'Sends scheduled charges.', summary: sendScheduledCharges, value: { auth: { type: apikey }, requestId: '15', method: { name: sendScheduledCharges, version: r1, params: { propertyId: 12345, scheduledCharges: { scheduledCharge: [{ leaseId: 67890, customerId: 123456, chargeTimingId: 1, chargeCodeTypeId: 2, chargeCodeId: 345, amount: 150, startDate: 01/15/2024, endDate: 12/31/2024, lastPostedDate: 01/01/2024, monthToMonthAmount: 200, monthToMonthFee: 25, note: 'Monthly rent charge', isCharge: '1' }, { leaseId: 67891, chargeTimingId: 2, chargeCodeTypeId: 3, chargeCodeId: 346, amount: 50, startDate: 02/01/2024, note: 'Pet fee', isCharge: '1' }] } } } } }, updateLease-r1-request-example: { summary: updateLease, value: { auth: { type: apikey }, requestId: '15', method: { name: updateLease, version: r1, params: { propertyId: 12345, leaseId: 12345, unitSpaceId: 12345, moveInDate: '2024-01-15', occupants: { occupant: [{ occupantId: 12345, firstName: abc, middleName: abc, lastName: abc, customerRelationshipTypeId: 12345, emailAddress: email@address.lcl, dateOfBirth: 01/01/1990, primaryPhoneNumber: { phoneNumberTypeId: 12, phoneNumber: '123456789' }, secondaryPhoneNumber: { phoneNumberTypeId: 12, phoneNumber: '123456789' }, addresses: { address: [{ addressTypeId: 12, country: XY, streetLine1: Street_Line_1, streetLine2: Street_Line_2, streetLine3: Street_Line_3, city: City, stateCode: XY, postalCode: 12345 }, { addressTypeId: 12, country: XY, streetLine1: Street_Line_1, streetLine2: Street_Line_2, streetLine3: Street_Line_3, city: City, stateCode: XY, postalCode: 12345 }] } }] } } } } }, updateScheduledCharges-r1-request-example: { description: 'Updates scheduled charges.', summary: 'updateScheduledCharges r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateScheduledCharges, version: r1, params: { propertyId: 12345, leaseId: 67890, customerId: 123456, scheduledCharges: { scheduledCharge: [{ id: 789012, chargeTimingId: 1, chargeCodeTypeId: 2, chargeCodeId: 345, amount: 175, startDate: 01/15/2024, endDate: 12/31/2024, lastPostedDate: 01/01/2024, monthToMonthAmount: 200, monthToMonthFee: 25, note: 'Updated monthly rent charge', isCharge: '1', isDeleted: '0' }, { id: 789013, chargeTimingId: 2, chargeCodeTypeId: 3, chargeCodeId: 346, amount: 75, startDate: 02/01/2024, note: 'Updated pet fee', isCharge: '1', isDeleted: '0' }] } } } } }, updateScheduledCharges-r2-request-example: { summary: 'updateScheduledCharges r2', value: { auth: { type: apikey }, requestId: '15', method: { name: updateScheduledCharges, version: r2, params: { propertyId: 12345, scheduledCharges: { scheduledCharge: [{ id: 789012, leaseId: 67890, customerId: 123456, chargeTimingId: 1, chargeCodeTypeId: 2, chargeCodeId: 345, amount: 175, startDate: 01/15/2024, endDate: 12/31/2024, lastPostedDate: 01/01/2024, monthToMonthAmount: 200, monthToMonthFee: 25, note: 'Updated monthly rent charge', isCharge: 1, isDeleted: 0 }, { id: 789013, leaseId: 67891, chargeTimingId: 2, chargeCodeTypeId: 3, chargeCodeId: 346, amount: 75, startDate: 02/01/2024, note: 'Updated pet fee', isCharge: 1, isDeleted: 0 }] } } } } }, cancelLease-r1-response-example: { summary: cancelLease, value: { response: { requestId: '15', code: 200, result: { status: Success, message: 'Lease cancelled successfully.' } } } }, getEvictedLeases-r1-response-example: { summary: 'getEvictedLeases r1', value: { response: { requestId: '15', code: 200, result: { evictedLeases: { currencyCode: USD, summary: { generationTimeStamp: '01/15/2024T14:30:00', SourceOrganization: 'Entrata Inc', totalProperties: '1', totalLeaseFiles: 5, TotalTenants: 10, TotalOpenAmount: '15000.00' }, propertyFiles: { propertyFile: { property: { id: 12345, name: 'Sunset Apartments', address: [{ '@attributes': { addressType: primary }, address: '123 Main St', city: Anytown, country: US, state: CA, postalCode: '12345' }], phone: [{ '@attributes': { phoneType: office }, phoneNumber: '5552012334', extension: '123' }] }, leaseFiles: { leaseFile: [{ leaseId: 67890, evictionStatus: Evicted, moveInDate: 01/01/2024, evictionStartDate: 01/01/2024, evictionDate: 12/31/2024, leaseBegin: 01/01/2024, leaseEnd: 12/31/2024, monthlyRentAmount: '1200.00', rentDueFromDate: 01/01/2024, rentDueToDate: 12/31/2024, buildingName: 'Building 1', unit: { unitNumber: 101A, address: { '@attributes': { addressType: unit }, address: '123 Main St' }, city: Anytown, province: CA, country: US, state: CA, postalCode: '12345' }, tenants: { tenant: [{ customerId: 98765, firstName: John, lastName: Doe, customerType: Primary, address: [{ address: { '@attributes': { addressType: Primary }, address: '456 Oak St' }, city: 'Another City', country: US, state: NY, postalCode: '54321' }], Phone: [{ '@attributes': { PhoneType: personal }, PhoneNumber: '1234567890' }, { '@attributes': { PhoneType: cell }, PhoneNumber: 555-1234 }, { '@attributes': { PhoneType: office }, PhoneNumber: 555-9876 }], phone: [{ '@attributes': { phoneType: fax }, phoneNumber: 555-1234 }], dateOfBirth: 01/15/1990, income: [{ incomeSource: Employment, incomeAmount: '5000.00' }], employer: [{ employerId: 123, employerDetails: { companyName: 'ABC Corp', address: { '@attributes': { addressType: other }, address: '789 Business Ave', city: 'Business City', state: TX, province: TX, postalCode: '75001', country: US, email: john.doe@example.com }, income: { incomeAmount: '5000.00' }, jobTitle: 'Software Engineer', supervisorName: 'Jane Smith', supervisorContactNumber: { '@attributes': { PhoneType: other }, phoneDescription: 'Other Phone Number', phoneNumber: '5551234987' }, lastDateEmployed: 01/01/2024 } }], contact: [{ Identification: { '@attributes': { IDType: 'Contact ID', IDRank: primary, IDScopeType: sender }, IDValue: '1234567890', OrganizationName: 'ABC Corp' }, Name: { FirstName: John, LastName: Doe }, ContactType: 'Emergency Contact', Relationship: 'Emergency Contact', Address: [{ '@attributes': { AddressType: other }, Address: '789 Business Ave', city: 'Business City', state: TX, postalCode: '75001', Country: US, Email: john.doe@example.com }], Phone: [{ '@attributes': { PhoneType: personal }, PhoneNumber: 555-9876 }, { '@attributes': { PhoneType: cell }, PhoneNumber: 555-1234 }, { '@attributes': { PhoneType: office }, PhoneNumber: 555-1234 }] }] }] }, transactions: { transaction: [{ transactionId: 555666, transactionDate: 01/01/2024, description: 'Rent - January', transactionType: Charge, transactionAmount: '1200.00', openAmount: '1200.00' }] } }] } } } } } } } }, getExpiringLeases-r1-response-example: { summary: getExpiringLeases, value: { response: { requestId: '15', code: 200, result: { Leases: { Lease: [{ '@attributes': { Id: 12345 }, Resident: { '@attributes': { Id: 67890 }, Name: 'John Doe', PhoneNumber: '(555) 123-4567', EmailAddress: john.doe@example.com, Address: { StreetLine1: '123 Main St', StreetLine2: 'Apt 4B', City: Anytown, StateCode: CA, PostalCode: '90210', CountryCode: US } }, Unit: A101, LeaseStatus: Active, LeaseStarts: 01/15/2023, NoticeDate: 10/15/2024, LeaseExpires: 12/31/2024 }, { '@attributes': { Id: 12346 }, Resident: { '@attributes': { Id: 67891 }, Name: 'Jane Smith', PhoneNumber: '(555) 987-6543', EmailAddress: jane.smith@example.com, Address: { StreetLine1: '456 Oak Ave', City: Springfield, StateCode: CA, PostalCode: '90211', CountryCode: US } }, Unit: B202, LeaseStatus: Active, LeaseStarts: 06/01/2023, LeaseExpires: 05/31/2024 }, { '@attributes': { Id: 12347 }, Resident: { '@attributes': { Id: 67892 }, Name: 'Bob Wilson', PhoneNumber: '(555) 555-1234', EmailAddress: bob.wilson@example.com, Address: { StreetLine1: '789 Pine St', StreetLine2: 'Unit 3', City: 'Beverly Hills', StateCode: CA, PostalCode: '90212', CountryCode: US } }, Unit: C303, LeaseStatus: 'Month to Month', LeaseStarts: 03/01/2022, NoticeDate: 11/01/2024, LeaseExpires: 11/30/2024 }] } } } } }, getLeaseActivities-r1-response-example: { summary: getLeaseActivities, value: { response: { requestId: '15', code: 200, result: { events: [{ eventId: 98765, typeId: 1, type: Notes, leaseId: 12345, leaseIntervalId: 54321, applicantId: 11111, subtypeId: 2, subtype: Follow-up, getDataReferenceId: ref_123, appointmentDate: '2024-03-15', timeFrom: '09:30:00', timeTo: '10:30:00', date: '2024-03-15', Comments: 'Resident called about maintenance request', appointmentEventId: appt_456, eventResultId: 3, eventResult: Completed, unitSpaceIds: '101,102,103', eventReasons: 'Maintenance follow-up' }, { eventId: 98766, typeId: 2, type: 'Call - Outgoing', leaseId: 12345, leaseIntervalId: 54321, applicantId: 11111, subtypeId: 2, subtype: Follow-up, date: '2024-03-14', callData: { callId: call_789, callFrom: +1-555-0123, ringThrough: +1-555-0456, duration: 180, callStatus: completed, audioLink: 'https://example.com/audio/call_789.mp3' }, Comments: 'Follow-up call regarding lease renewal', appointmentEventId: appt_456, eventResultId: 3, eventResult: Completed, unitSpaceIds: '101,102,103', eventReasons: 'Maintenance follow-up' }] } } } }, getLeaseDetails-r1-response-example: { summary: getLeaseDetails, value: { response: { requestId: '15', code: 200, result: { currencyCode: USD, leaseId: 12345, name: 'John Doe', propertyUnitId: 9876, unitNumber: A101, addOns: { assignableItems: { assignableItem: [{ addOnType: 'Assignable Items', addOnCategory: Parking, addOnGroup: Standard, addOnName: 'Covered Parking Space', rent: '50.00', deposit: '100.00', reserveFee: '25.00', agent: 'Jane Smith' }] }, rentableItems: { rentableItem: [{ addOnType: 'Rentable Items', addOnCategory: Storage, addOnGroup: Premium, addOnName: 'Storage Unit', rent: '75.00', deposit: '150.00', reserveFee: '30.00', leaseStatusType: Active, startDate: 01/15/2024, endDate: 01/14/2025, agent: 'Jane Smith' }] }, services: { service: [{ addOnType: Services, addOnCategory: Utilities, addOnGroup: Essential, addOnName: 'Cable/Internet Package', rent: '89.99', deposit: '0.00', reserveFee: '0.00', leaseStatusType: Active, startDate: 01/15/2024, endDate: 01/14/2025, agent: 'Jane Smith' }] } }, scheduledCharges: { recurringCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }], oneTimeCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }], conditionalCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }] } } } } }, getLeaseDetails-r2-response-example: { summary: getLeaseDetails, value: { response: { requestId: '15', code: 200, result: { currencyCode: USD, leases: { lease: [{ leaseId: 12345, name: 'John Doe', propertyUnitId: 9876, unitNumber: A101, unitTypeId: 5432, unitTypeName: '1 Bedroom', floorplanId: 7890, floorplanName: 'Standard 1BR', addOns: { assignableItems: { assignableItem: [{ addOnType: 'Assignable Items', addOnCategory: Parking, addOnGroup: Standard, addOnName: 'Covered Parking Space', rent: '50.00', deposit: '100.00', reserveFee: '25.00', agent: 'Jane Smith' }] }, rentableItems: { rentableItem: [{ addOnId: 12345, addOnType: 'Rentable Items', addOnCategory: Storage, addOnGroup: Premium, addOnName: 'Storage Unit', rent: '75.00', deposit: '150.00', reserveFee: '30.00', leaseStatusType: Active, startDate: 01/15/2024, endDate: 01/14/2025, agent: 'Jane Smith' }] }, services: { service: [{ addOnType: Services, addOnCategory: Utilities, addOnGroup: Essential, addOnName: 'Cable/Internet Package', rent: '89.99', deposit: '0.00', reserveFee: '0.00', leaseStatusType: Active, startDate: 01/15/2024, endDate: 01/14/2025, agent: 'Jane Smith' }] } }, scheduledCharges: { recurringCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }], oneTimeCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }], conditionalCharge: [{ leaseIntervalStatus: Active, leaseIntervalType: Original, leaseStartDate: '2024-01-15', leaseEndDate: '2025-01-14' }] } }, { leaseId: 12346, name: 'Jane Smith', propertyUnitId: 9877, unitNumber: B202, unitTypeId: 5433, unitTypeName: '2 Bedroom', floorplanId: 7891, floorplanName: 'Deluxe 2BR' }] } } } } }, getLeaseDocuments-r1-response-example: { summary: getLeaseDocuments, value: { response: { requestId: '15', code: 200, result: { LeaseDocuments: { LeaseDocument: { 1001: { '@attributes': { Id: 1001 }, AppliesTo: 'John Doe, Jane Smith', Type: 'Lease Document (Standard Lease - LEASE)', Title: 'Residential Lease Agreement', Name: lease_agreement.pdf, Path: /documents/leases/12345/lease_agreement.pdf, LeaseIntervalStartDate: '2024-01-15', LeaseIntervalEndDate: '2025-01-14', FileData: ZHVtbXkgZmlsZSBkYXRh, AddedOn: '01/15/2024 10:30:45', SignedOn: '01/20/2024 14:25:30', Addendas: { 1002: { '@attributes': { Id: 1002 }, Type: 'Lease Addendum (Pet Addendum - ADDENDUM)', Title: 'Pet Policy Addendum', Name: pet_addendum.pdf, LeaseIntervalStartDate: 01/15/2024, LeaseIntervalEndDate: 01/14/2025, FileData: ZHVtbXkgZmlsZSBkYXRh } } }, 1003: { '@attributes': { Id: 1003 }, AppliesTo: All, Type: 'Inspection Report (Move-in Inspection - INSPECTION)', Title: 'Move-in Condition Report', Name: movein_inspection.pdf, Path: /documents/leases/12345/movein_inspection.pdf, LeaseIntervalStartDate: 01/15/2024, LeaseIntervalEndDate: 01/14/2025, FileData: ZHVtbXkgZmlsZSBkYXRh, AddedOn: '01/14/2024 16:45:22', SignedOn: 'Signing in process' } } } } } } }, getLeaseDocumentsList-r1-response-example: { summary: getLeaseDocumentsList, value: { response: { requestId: '15', code: 200, result: { leaseDocuments: { leaseDocument: [{ id: 130539003, type: 'Upload (e-Sign: New Lease - LP)', name: packet_file_lease_document_17430628_1751311180.pdf, title: 'The Henry - Blue Moon Lease', leaseId: '15828567', leaseIntervalStartDate: 01/09/2026, leaseIntervalEndDate: 07/31/2026 }, { id: 130539005, type: 'Upload (e-Sign: New Lease - LA)', name: addendum_document_17430628_20250630011909_401998439.pdf, title: 'The Henry - Blue Moon Lease', leaseId: '15828567', leaseIntervalStartDate: 01/09/2026, leaseIntervalEndDate: 07/31/2026, addendas: [{ id: 130539006, type: 'Upload (e-Sign: New Lease - LA)', title: 'The Henry - Blue Moon Lease', name: addendum_document_17430628_20250630011909_401998439.pdf, leaseIntervalStartDate: 01/09/2026, leaseIntervalEndDate: 07/31/2026 }] }] } } } } }, getLeasePickList-r1-response-example: { summary: getLeasePickList, value: { response: { requestId: '15', code: 200, result: { leaseStatusTypes: { leaseStatusType: [{ '@attributes': { id: 1, name: Active, type: Active } }, { '@attributes': { id: 2, name: Completed, type: Completed } }] }, leaseFileTypes: { leaseFileType: [{ '@attributes': { id: 1, systemCode: LEASE, name: 'Lease Agreement' } }, { '@attributes': { id: 2, systemCode: ADDENDUM, name: 'Lease Addendum' } }] }, chargeTimings: { chargeTiming: [{ '@attributes': { id: 1, name: 'Move In' } }, { '@attributes': { id: 2, name: Monthly } }] }, chargeCodeTypes: { chargeCodeType: [{ '@attributes': { id: 1, name: Rent, allowed_charge_timing_ids: '1,2' } }, { '@attributes': { id: 2, name: 'Security Deposit', allowed_charge_timing_ids: '1' } }] }, eventTypes: { eventType: [{ '@attributes': { id: 1, name: 'Phone Call' } }, { '@attributes': { id: 2, name: Email } }] }, petTypes: { petType: [{ '@attributes': { id: 1, name: Dog } }, { '@attributes': { id: 2, name: Cat } }] }, refundMethods: { refundMethod: [{ '@attributes': { id: 1, name: 'Single Refund Primary Resident' } }, { '@attributes': { id: 2, name: 'Multiple Refunds' } }] }, eventTags: { eventTag: [{ '@attributes': { id: 1, name: 'Follow Up' } }, { '@attributes': { id: 2, name: Important } }] } } } } }, getLeases-r1-response-example: { summary: getLeases, value: { response: { requestId: '15', code: 200, result: { currencyCode: USD, leases: { lease: [{ id: 12345, leaseStatusTypeId: 1, leaseSubStatus: Active, leaseType: Standard, transferLeaseId: 54321, transferLeasePropertyId: 6790, leaseIntervalStatus: Current, occupancyTypeId: 1, occupancyType: Conventional, isMonthToMonth: 0, leaseIntervalId: 67890, buildingId: 12345, buildingName: 'Building A', floorPlanId: 7890, floorPlanName: '1 Bedroom Standard', unitId: 12345, unitNumberSpace: A101, unitSpaceId: 12345, spaceConfiguration: '2x2 Suite', collectionsStartDate: '2024-02-01', terminationStartDate: '2024-02-01', externalId: '12345', pmsId: '12345', isRenewalBlacklist: Renewable, leaseIntervals: { leaseInterval: [{ id: 12345, startDate: '2024-01-01', endDate: '2024-12-31', leaseIntervalTypeId: 1, leaseIntervalTypeName: Standard, leaseIntervalStatusTypeId: 1, leaseIntervalStatusTypeName: Active, leaseApprovedOn: '2024-01-15', applicationCompletedOn: '2024-01-15', applicationId: 12345 }] }, customers: { customer: [{ id: 12345, customerType: Primary, firstName: John, lastName: Doe, middleName: Michael, nameFull: 'John Doe', leaseCustomerStatus: Active, relationshipName: Tenant, moveInDate: '2024-01-01', moveOutDate: '2024-01-01', dateOfBirth: '1990-01-01', addresses: { address: { addressType: Primary, address: '123 Main St', city: Anytown, state: CA, postalCode: '12345', countryName: 'United States', email: john.doe@example.com, additionalEmail: another.email@example.com, phone: { phoneType: Personal, phoneNumber: '1234567890' } } }, phone: { phoneType: Personal, phoneNumber: '1234567890', countryCode: US }, customerContacts: { customerContact: [{ id: 12345, contactTypeId: 1, contactTypeName: Primary, firstName: John, lastName: Doe, primaryPhoneNumber: '1234567890', secondaryPhoneNumber: '1234567890', email: john.doe@example.com, relationship: Tenant, hasAccessToUnit: 1 }] } }] }, contract: { id: 12345, name: 'Contract 1', reservationCode: RES-12345, startDate: '2024-01-01', endDate: '2024-01-01' }, pets: { pet: [{ customerId: 98765, petType: Dog, description: 'Max is a friendly dog', age: 5, color: Golden, breed: 'Golden Retriever', name: Max, gender: Male, weight: 50, isAssistanceAnimal: true, moveInDate: '2024-01-01', moveOutDate: '2024-01-01' }] }, scheduledCharges: { scheduledCharge: [{ id: 12345, leaseIntervalId: 67890, chargeCodeId: 101, startDate: '2024-01-01', endDate: '2024-01-01', frequency: Monthly, chargeType: 'Base Rent', chargeCode: Rent, amount: '1250.00', taxAmount: '125.00', taxRate: '10.00' }] }, specials: { special: [{ id: 201, name: 'Move-in Special', type: 'Move-in Special', typeName: 'Move-in Special', amount: '500.00', chargeTimingId: 1, chargeTiming: Move-in, status: Available, leaseIntervalId: 67890 }] }, leaseActivities: { leasesActivity: [{ date: '2024-01-15', eventType: LeaseSigned }, { date: '2024-01-15', eventType: 'Lease From' }, { date: '2024-01-15', eventType: 'Move Out Notice Given' }] }, arTransactions: { arTransaction: [{ id: 789, transactionTypeId: 1, chargeCodeId: 1, chargeCodeName: Rent, leaseIntervalId: 67890, description: Rent, transactionDate: 01/01/2024, postDate: 01/01/2024, postMonth: 01/01/2024, balanceDue: '1250.00', amount: '1250.00', amountPaid: '1250.00' }] }, roommates: { roommate: [{ name: 'Jane Smith', email: jane.smith@example.com, leaseId: 12345, roommateGroupId: 12345 }] } }] } } } } }, getLeases-r2-response-example: { summary: getLeases, value: { response: { requestId: '15', code: 200, result: { currencyCode: USD, leases: { lease: [{ id: 1001, leaseStatusTypeId: 1, propertyId: 1234, originalLeaseStartDate: 01/15/2024, parentLeaseId: 1002, parentUnitNumberCache: 101A, leaseSubStatus: Active, leaseType: Standard, moveInDate: 01/15/2024, noticeDate: 01/15/2024, transferLeaseId: 1002, transferLeasePropertyId: 1234, moveOutDate: 01/14/2025, financialMoveOutDate: 01/14/2025, transferDate: 01/14/2025, moveOutReason: 'Lease expired', childUnitNumberCache: 101A, propertyName: 'Property A', leaseIntervalStatus: Current, occupancyTypeId: 1, occupancyType: Conventional, isMonthToMonth: 0, leaseIntervalId: 1001, buildingId: 12345, buildingName: 'Building A', floorPlanId: 7890, floorPlanName: '1 Bedroom Standard', spaceConfiguration: '2x2 Suite', collectionsStartDate: 01/15/2024, terminationStartDate: 01/14/2025, paymentAllowanceType: Rent, isRenewalBlacklist: Renewable, customers: { customer: [{ id: 9012, customerType: Primary, firstName: John, lastName: Doe, middleName: Michael, nameFull: 'John Doe', emailAddress: john.doe@example.com, isActiveBankruptcy: t, bankruptcyDate: 01/01/2024, bankruptcyNote: 'Customer has active bankruptcy', leaseCustomerStatus: Active, relationshipName: Tenant, moveInDate: 01/15/2024, moveOutDate: 01/14/2025, dateOfBirth: 01/01/1990, paymentAllowanceType: Rent, addresses: { address: [{ addressType: Primary, streetLine: '123 Main St', city: Anytown, state: CA, postalCode: '12345', countryName: 'United States' }] }, phones: { phone: [{ phoneTypeName: Mobile, phoneType: Mobile, phoneNumber: 555-123-4567, countryCode: US }] }, customerContacts: { customerContact: [{ id: 1001, contactTypeId: 1, contactTypeName: Primary, firstName: John, lastName: Doe, primaryPhoneNumber: 555-123-4567, secondaryPhoneNumber: 555-123-4567, email: john.doe@example.com, relationship: Tenant, hasAccessToUnit: 1 }] } }] }, contract: { id: 1001, name: 'Contract 1', reservationCode: RES-12345, startDate: 01/01/2024, endDate: 01/01/2024 }, pets: { pet: [{ customerId: 9012, petType: Dog, description: 'Max is a friendly dog', age: 5, color: Golden, breed: 'Golden Retriever', name: Max, gender: Male, weight: 50, isAssistanceAnimal: 'true', moveInDate: 01/15/2024, moveOutDate: 01/14/2025 }] }, unitId: 12345, unitSpaces: { unitSpace: [{ unitSpaceId: 101, unitSpace: 101A }] }, scheduledCharges: { scheduledCharge: [{ id: 12345, frequency: Monthly, leaseIntervalId: 67890, chargeCodeId: 101, startDate: 01/01/2024, endDate: 01/01/2024, chargeType: 'Base Rent', chargeCode: Rent, amount: 1500, chargeUsage: Rent, description: Rent }] }, specials: { special: [{ id: 12345, name: 'First Month Free', type: 'Move-in Special', typeName: 'Move-in Special', amount: 500, chargeTiming: Move-in, chargeTimingId: 1, leaseIntervalId: 1001, leaseIntervalStatusTypeId: 1, leaseStartDate: 01/15/2024, leaseEndDate: 01/14/2025 }] }, leaseIntervals: { leaseInterval: [{ id: 1001, startDate: 01/15/2024, endDate: 01/14/2025, leaseIntervalTypeId: 1, leaseIntervalTypeName: Original, leaseIntervalStatusTypeId: 1, leaseIntervalStatusTypeName: Active, applicationCompletedOn: '01/14/2025 12:00:00 MST', applicationId: 1001, moveOutDate: 01/14/2025, renewalStartDate: 01/15/2024, renewalBillingStartDate: 01/15/2024, intervalDateTime: '01/14/2025 12:00:00.000 MST', isActiveLeaseInterval: t, applications: { application: [{ id: 1001, leaseApprovedOn: '01/14/2025 12:00:00 MST', applicationApprovedOn: '01/14/2025 12:00:00.000 MST', leaseCompletedOn: '01/14/2025 12:00:00.000 MST', leaseTerm: '12 months', applicationCompletedOn: '01/14/2025 12:00:00 MST', leaseIntervalTypeId: 1, isActiveLeaseInterval: t, propertyFloorPlanId: 1001, leaseStartDate: 01/15/2024 }] } }] }, arTransactions: { arTransaction: [{ id: 12345, transactionTypeId: 1, chargeCodeId: 101, chargeCodeName: Rent, leaseIntervalId: 1001, description: Rent, transactionDate: 01/14/2025, postDate: 01/14/2025, postMonth: 01/14/2025, balanceDue: 1500, amount: 1500, amountPaid: 1500 }] }, roommates: { roommate: [{ name: 'Jane Smith', email: jane.smith@example.com, leaseId: 1002, roommateGroupId: 1003 }] } }] } } } } }, getMitsCollections-r2-response-example: { summary: 'getMitsCollections r2', value: { response: { requestId: '15', code: 200, result: { CurrencyCode: USD, MITS-Collections: { Summary: { MITSDocVersion: '3.0', GenerationTimeStamp: '2024-01-15T10:30:45', SourceOrganization: 'Entrata Inc', TotalProperties: '1', TotalLeaseFiles: 2, TotalTenants: 3, TotalOpenAmount: 2500 }, PropertyFiles: { PropertyFile: { Property: { Identification: { '@attributes': { IDType: 'Property ID', IDRank: primary, IDScopeType: sender }, IDValue: '12345', OrganizationName: 'Entrata External Org' }, MarketingName: 'Sunset Apartments', Address: [{ '@attributes': { AddressType: other }, Description: 'Primary address', Address: '123 Main St', City: 'Salt Lake City', State: UT, Province: '', PostalCode: '84101', Country: US, ContryName: 'United States' }], Phone: [{ '@attributes': { PhoneType: office }, PhoneNumber: 801-555-1234, PhoneDescription: 'Office phone', PhoneExtension: '123' }] }, PropertyClient: { Client: { Identification: { '@attributes': { IDType: 'Client ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }, CompanyName: 'ABC Corporation' } }, LeaseFiles: { LeaseFile: [{ Identification: { '@attributes': { IDType: 'Lease ID', IDRank: primary, IDScopeType: sender }, IDValue: '67890', IDType: 'Lease ID' }, CollectionStatus: 'true', CollectionStatusLastChangeDate: '2024-01-01', MoveInDate: '2024-01-15', MoveOutDate: '2024-12-31', NoticeToVacateDate: '2024-11-30', LeaseBegin: '2024-01-01', LeaseEnd: '2024-12-31', MonthlyRentAmount: 1500, FmoProcessedOn: '2024-01-05', RentDueFromDate: '2024-01-01', RentDueToDate: '2024-01-31', LastPaymentDate: '2024-01-10', TotalLeaseOpenAmount: 500, BuildingName: 'Building A', Unit: { UnitNumber: '101', Address: { '@attributes': { AddressType: other }, Description: 'Unit address', Address: '123 Main St, Unit 101', City: 'Salt Lake City', State: UT, PostalCode: '84101', Country: US } }, Tenants: [{ PersonDetails: { Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }, Name: { FirstName: John, MiddleName: A, LastName: Doe }, Address: [{ '@attributes': { AddressType: other }, Description: 'Primary address', Address: '456 Oak Ave', City: 'Salt Lake City', State: UT, PostalCode: '84101', Country: US, Email: john.doe@example.com }], Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 801-555-5678 }] }, DateOfBirth: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., SSN: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., DriversLicense: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., Guarantor: 'false', LeaseSignOnDate: '2024-01-01', Income: { IncomeSource: Investment, IncomeAmount: 2000 }, Employer: { EmployerDetails: { Identification: { '@attributes': { IDType: 'Customer Employer ID', IDRank: primary, IDScopeType: sender }, IDValue: '789', OrganizationName: 'Entrata External Org' }, CompanyName: 'ABC Corporation', Address: [{ '@attributes': { AddressType: other }, Description: 'Employer address', Address: '789 Business Blvd', City: 'Salt Lake City', State: UT, PostalCode: '84101', Country: US, Email: hr@abccorp.com }] }, Income: { IncomeAmount: 5000 }, JobTitle: 'Software Engineer', SupervisorName: 'Jane Smith', SupervisorContactNumber: { '@attributes': { PhoneType: other }, PhoneDescription: 'Other Phone Number', PhoneNumber: 801-555-9999 }, LastDateEmployed: '2024-12-31' }, Contact: [{ Identification: { '@attributes': { IDType: 'Contact ID', IDRank: primary, IDScopeType: sender }, IDValue: '1234567890', OrganizationName: 'ABC Corp' }, Name: { FirstName: Jane, LastName: Smith }, ContactType: 'Personal Reference', Relationship: Friend, Address: [{ '@attributes': { AddressType: other }, Address: '456 Oak Ave', Description: 'Primary address', City: 'Salt Lake City', State: UT, PostalCode: '84101', Country: US, Email: jane.smith@example.com }], Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 801-555-5678 }] }] }], FileTransactions: [{ Identification: { '@attributes': { IDType: 'Transaction ID', IDRank: primary, IDScopeType: sender }, IDValue: '98765', OrganizationName: 'Entrata External Org' }, TransDate: '2024-01-15', TransTypeDesc: 'Monthly rent charge', TransType: Charge, TransAmount: 1500, OpenAmount: 500 }] }] } } } } } } } }, getMitsLeases-r1-response-example: { summary: getMitsLeases, value: { response: { code: 200, result: { CurrencyCode: USD, LeaseApplication: { Tenant: [{ '@attributes': { ResidentType: Primary }, Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }, LeaseID: { Identification: { '@attributes': { IDType: 'Lease ID', IDRank: primary, IDScopeType: sender }, IDValue: '67890', OrganizationName: 'Entrata External Org' } }, Reference: [{ '@attributes': { ReferenceType: PersonalReference } }], Name: { NamePrefix: Mr., FirstName: John, MiddleName: A, LastName: Doe, MaidenName: Smith, NameSuffix: Jr. }, PersonalID: { '@attributes': { PersonalIDType: DriversLicense }, IDNumber: '1234567890', IDIssuer: 'Utah Department of Motor Vehicles' }, BirthDate: '1985-05-15', Residence: { Address: { '@attributes': { AddressType: current }, Address: '123 Main St', City: 'Salt Lake City', State: UT, PostalCode: '84101', Country: US, Email: john.doe@example.com } }, Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 801-555-5678 }], Spouse: { Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' } }, GuarantorFor: { Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' } }, Finances: { Occupation: { '@attributes': { End: '2024-01-01', Start: '2024-01-01' }, Title: 'Software Engineer', Employer: { Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' } }, CompanyName: 'ABC Corporation', Address: { '@attributes': { AddressType: other }, Address: '123 Main St', City: 'Salt Lake City', State: UT, PostalCode: '84101' }, Supervisor: { Name: { FirstName: Jane, LastName: Smith }, Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 801-555-5678 }], Salary: { '@attributes': { Frequency: monthly, Amount: 1000 } } } } }, LA_Lease: { Identification: { '@attributes': { IDType: 'Lease ID', IDRank: primary, IDScopeType: sender, IsMonthToMonth: 1 }, IDValue: '67890', OrganizationName: 'Entrata External Org' }, AccountingData: { ChargeSet: [{ '@attributes': { Start: '2024-01-01', End: '2024-12-31', Frequency: monthly } }, { Charge: [{ '@attributes': { ChargeType: Rent }, Identification: [{ '@attributes': { IDType: 'Charge ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }], Label: Rent, Amount: 1000 }] }] } }, LeaseEvents: { LeaseEvent: [{ '@attributes': { Date: '2024-01-01', EventType: 'Lease Signed', MoveOutReason: 'Lease Expired', Description: 'Lease signed on 2024-01-01' } }], ParkingStorage: { Vehicle: { Colour: Blue, LicenseNumber: ABC123, LicenseState: CA, Make: Toyota, Model: Camry, Owner: [{ Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org', Name: { FirstName: John, LastName: Doe } } }], Year: '2024' } }, Pets: { Pet: [{ '@attributes': { PetType: Dog, Description: 'Friendly and well-trained dog', Count: 1, Weight: 10 } }] }, Property: { Identification: { '@attributes': { IDType: 'Property ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }, MarketingName: 'Sunset Apartments', Address: { '@attributes': { AddressType: property }, Description: 'Physical Address', Address: '123 Main St', City: 'Salt Lake City', State: UT, Province: '', PostalCode: '84101', CountryName: 'United States' }, Phone: [{ '@attributes': { PhoneType: office }, PhoneNumber: 801-555-1234, PhoneDescription: 'Office phone', Extension: '123' }] }, Status: { ApprovalStatus: Approved }, Utilities: { Utility: [{ '@attributes': { Metering: Electricity, Responsibility: Tenant, UtilityType: Electricity, Name: Electricity, Description: Electricity, Identification: [{ '@attributes': { IDType: 'Utility ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }] } }], Unit: { Identification: { '@attributes': { IDType: 'Unit ID', IDRank: primary, IDScopeType: sender }, IDValue: '123456', OrganizationName: 'Entrata External Org' }, MarketingName: 'Sunset Apartments', UnitType: Apartment, UnitBedrooms: 2.5, UnitBathrooms: 2.5, MinSquareFeet: 1000, MaxSquareFeet: 1200, SquareFootType: internal, UnitRent: $1600, MarketRent: $1800, UnitEconomicStatus: residential, UnitLeasedStatus: leased, NumberOccupants: { '@attributes': { Total: 4 }, '@value': 4 }, CurrentNumberOccupants: { '@attributes': { Total: 3 }, '@value': 3 }, FloorplanName: 'Sierra 2B', BuildingName: 'Everest Building', Address: { '@attributes': { AddressType: property }, Description: 'Physical Address', Address: '123 Main St', City: 'Salt Lake City', State: UT, Province: '', PostalCode: '84101', CountryName: 'United States' } } } } }] } } } } }, getParcelAlerts-r1-response-example: { summary: getParcelAlerts, value: { response: { requestId: '15', code: 200, result: { packageBatches: { packageBatch: [{ '@attributes': { id: 12345, name: 'Batch 2024-01-15' }, totalPackages: 25, totalPickedUp: 20, totalDelivered: 23, totalPrint: 25, totalResend: 2, packageBatchDate: '2024-01-15', packages: { package: [{ '@attributes': { id: 98765 }, leaseId: 67890, customerId: 54321, customerEmailAddress: john.doe@example.com, customerName: 'John Doe', unitSpaceId: 11111, unitNumber: 101A, packageType: Standard, packageStatus: Delivered, trackingNumber: 1Z999AA1234567890, shippingVendor: UPS, notes: 'Package delivered to front desk', emailedOn: '2024-01-15', calledOn: '2024-01-16', printedOn: '2024-01-15', receivedOn: '2024-01-15', packageDate: '2024-01-15' }, { '@attributes': { id: 98766 }, leaseId: 67891, customerId: 54322, customerEmailAddress: jane.smith@example.com, customerName: 'Jane Smith', unitSpaceId: 11112, unitNumber: 102B, packageType: Express, packageStatus: 'Awaiting Pickup', trackingNumber: 1Z999AA1234567891, shippingVendor: FedEx, emailedOn: '2024-01-15', receivedOn: '2024-01-15', packageDate: '2024-01-15' }] } }] } } } } }, getRentersInsurancePolicies-r1-response-example: { summary: getRentersInsurancePolicies, value: { response: { requestId: '15', code: 200, result: { CurrencyCode: USD, LeaseApplication: { Property: { Identification: { '@attributes': { IDType: 'Property ID', IDRank: primary, IDScopeType: sender }, IDType: 'Property ID', IDValue: '12345', OrganizationName: 'ABC Corp' }, MarketingName: 'Sunset Apartments', Address: { Address: '123 Property Lane', City: Springfield, State: IL, PostalCode: '62701' } }, Tenant: [{ '@attributes': { ResidentType: Primary }, Identification: { '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDType: 'Customer ID', IDValue: '54321' }, LeaseID: { Identification: [{ '@attributes': { IDType: 'Lease ID', IDRank: primary, IDScopeType: sender }, IDType: 'Lease ID', IDValue: '67890' }] }, Reference: [{ '@attributes': { ReferenceType: Accountant }, ContactInfo: { Identification: [{ '@attributes': { IDType: 'Customer ID', IDRank: primary, IDScopeType: sender }, IDType: 'Customer ID', IDValue: '54321', OrganizationName: EXT-Customer-12345 }], Name: { FirstName: John, LastName: Doe }, Address: [{ '@attributes': { AddressType: other }, Email: john.doe@example.com }], Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 555-123-4567 }, { '@attributes': { PhoneType: office }, PhoneNumber: 555-123-4568 }] } }], Name: { NamePrefix: Mr., FirstName: John, MiddleName: M, LastName: Doe, MaidenName: Doe, NameSuffix: Jr. }, Residence: { Address: { '@attributes': { AddressType: current }, Address: '123 Main St, Apt 4B', City: Springfield, State: IL, PostalCode: '62701', CountryName: USA, Email: john.doe@example.com } }, Phone: [{ '@attributes': { PhoneType: cell }, PhoneNumber: 555-123-4567 }, { '@attributes': { PhoneType: office }, PhoneNumber: 555-123-4568 }] }], LA_Lease: [{ Identification: { '@attributes': { IDType: 'Lease ID', IDRank: primary, IDScopeType: sender }, IDType: 'Lease ID', IDValue: '67890' }, Status: { ApprovalStatus: Current }, Unit: { Identification: { '@attributes': { IDType: 'Unit ID', IDRank: primary, IDScopeType: sender }, IDType: 'Unit ID', IDValue: 101A }, MarketingName: 101A, UnitType: Apartment, UnitBedrooms: '1.5', UnitBathrooms: '1.5', MinSquareFeet: 1000, MaxSquareFeet: 1000, SquareFootType: internal, UnitRent: $100, MarketRent: $150, UnitEconomicStatus: residential, UnitLeasedStatus: leased, NumberOccupants: { '@attributes': { Total: 1 }, '@value': 1 }, CurrentNumberOccupants: { '@attributes': { Total: 1 }, '@value': 1 }, FloorplanName: 101A, BuildingName: 'Building 1', Address: { '@attributes': { AddressType: property }, Description: 'Property address', Address: '123 Main St', City: Springfield, State: IL, PostalCode: '62701', CountryName: USA } }, InsurancePolicies: { InsurancePolicy: [{ id: 12345, name: 'John Doe', unitNumber: 101A, leaseId: 67890, customerId: 54321, customerIds: '54321,54322', propertyUnitId: 98765, unitSpaceId: 11111, provider: 'State Farm', policyNumber: POL123456789, startDate: 01/01/2024, endDate: 12/31/2024, liability: '100000', deductible: '500', personalContents: '25000', policyTypeId: 1, policyTypeName: 'Renters Insurance', status: Active }] } }] } } } } }, moveInLease-r1-response-example: { summary: moveInLease, value: { response: { requestId: '15', code: 200, result: { status: Success, message: 'Customer moved in successfully.' } } } }, moveOutLease-r1-response-example: { summary: moveOutLease, value: { response: { requestId: '15', code: 200, result: { status: Success, message: 'Lease Moved-Out successfully.' } } } }, onNoticeLease-r1-response-example: { summary: onNoticeLease, value: { response: { requestId: '15', code: 200, result: { status: Success, message: 'Successfully placed lease on Notice.' } } } }, sendLeaseActivities-r1-response-example: { summary: sendLeaseActivities, value: { response: { requestId: '15', code: 200, result: { events: { event: [{ node: 1, leaseId: 67890, status: Success, message: 'Event inserted successfully.' }, { node: 2, leaseId: 67890, status: Success, message: 'Event inserted successfully.' }] } } } } }, sendLeaseDocuments-r1-response-example: { summary: sendLeaseDocuments, value: { response: { requestId: '15', code: 200, result: { files: { file: [{ node: 1, fileId: 12345, fileName: lease_agreement.pdf, status: Success, message: 'File uploaded successfully.' }, { node: 2, fileId: 0, fileName: null, status: Failure, message: "The file extension is not supported for the file 'move_in_checklist.pdf'." }] } } } } }, sendLeases-r1-response-example: { summary: sendLeases, value: { response: { requestId: '15', code: 200, result: { leases: { lease: [{ node: 1, leaseId: 12345, status: Success, message: 'Lease inserted successfully.' }, { node: 2, status: Failure, message: "Value for 'leaseTermId' is invalid." }] } } } } }, sendRentersInsurancePolicies-r1-response-example: { summary: 'sendRentersInsurancePolicies r1', value: { response: { requestId: '15', code: 200, result: { insurancePolicies: { insurancePolicy: [{ '@attributes': { node: 1, reference_id: 123456, lease_id: 123456, customer_id: 123456, status: Success, message: 'Insurance policy updated successfully.' } }, { '@attributes': { node: 2, reference_id: 123457, lease_id: 123457, customer_id: 123457, status: Success, message: 'Insurance policy inserted successfully.' } }] } } } } }, sendRentersInsurancePolicies-r2-response-example: { summary: 'sendRentersInsurancePolicies r2', value: { response: { requestId: '15', code: 200, result: { insurancePolicies: { insurancePolicy: [{ Node: '1', ReferenceId: '123456', LeaseId: '123456', CustomerId: '789012,789013', Status: Success, Message: 'Insurance policy inserted successfully.' }, { Node: '2', ReferenceId: '123457', LeaseId: '123457', CustomerId: '789014', Status: Success, Message: 'Insurance policy inserted successfully.' }] } } } } }, sendRoommateGroups-r1-response-example: { summary: 'sendRoommateGroups r1', value: { response: { requestId: '15', code: 200, result: { roommateGroups: { roommateGroup: [{ node: 1, roommateGroupId: 67890, status: Success, message: 'Roommate Group updated successfully' }, { node: 2, roommateGroupId: 67891, status: Success, message: 'Roommate Group created successfully' }, { node: 3, roommateGroupId: 0, status: Failure, message: 'Invalid or missing value for inviteeApplicationId.' }] } } } } }, sendRoommateGroups-r2-response-example: { summary: 'sendRoommateGroups r2', value: { response: { requestId: '15', code: 200, result: { roommateGroups: [{ node: 1, roommateGroupId: 67890, status: Success, message: 'Roommate Group created successfully' }, { node: 2, roommateGroupId: 67891, status: Success, message: 'Roommate Group created successfully' }, { node: 3, roommateGroupId: 0, status: Failure, message: 'Required parameter invitorApplicationId is missing.' }] } } } }, sendScheduledCharges-r1-response-example: { summary: sendScheduledCharges, value: { response: { requestId: '15', code: 200, result: { scheduledCharges: { scheduledCharge: [{ id: 12345, node: 1, status: Success, message: 'Scheduled charge inserted successfully.' }, { id: 12346, node: 2, status: Success, message: 'Scheduled charge inserted successfully.' }, { id: 0, node: 3, status: Failure, message: "Value for 'leaseId' is invalid." }] } } } } }, updateLease-r1-response-example: { summary: updateLease, value: { response: { requestId: '15', code: 200, result: { status: Success, leaseId: 67890, message: 'Lease updated successfully.' } } } }, updateScheduledCharges-r1-response-example: { summary: 'updateScheduledCharges r1', value: { response: { requestId: '15', code: 200, result: { scheduledCharges: { scheduledCharge: [{ '@attributes': { id: 789012, node: 1, status: Success, message: 'Scheduled charge updated successfully.' } }, { '@attributes': { id: 789013, node: 2, status: Success, message: 'Scheduled charge updated successfully.' } }, { '@attributes': { id: 0, node: 3, status: Failure, message: 'scheduled charge id is required.' } }] } } } } }, updateScheduledCharges-r2-response-example: { summary: 'updateScheduledCharges r2', value: { response: { requestId: '15', code: 200, result: { scheduledCharges: { scheduledCharge: [{ '@attributes': { id: 789012, node: 1, status: Success, message: 'Scheduled charge updated successfully.' } }, { '@attributes': { id: 789013, node: 2, status: Success, message: 'Scheduled charge updated successfully.' } }, { '@attributes': { id: 0, node: 3, status: Failure, message: "Either value for 'id' is invalid or 'id' is not associated with the propertyId." } }] } } } } }, getCallLogs-r1-request-example: { description: 'Retrieves call logs for a specific property, including details about the caller, destination phone number, call type, and result. The results can be filtered by call source, call type, call result, answer status, voice mail type, call state, date range, and whether the call was analyzed.', summary: 'getCallLogs r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getCallLogs, version: r1, params: { propertyIds: '1,2,3', callSourceId: 1, callTypeIds: '1,2', callResultIds: '1,2,3', answerStatus: 1, voiceMailTypeId: 1, callState: 1, startDate: '2023-01-01', endDate: '2023-12-31', callAnalyzed: 1 } } } }, getLeasingCenterPickLists-r1-request-example: { summary: 'getLeasingCenterPickLists r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getLeasingCenterPickLists, version: r1, params: { } } } }, getCallLogs-r1-response-example: { summary: getCallLogs, value: { response: { code: 200, result: { calls: { call: [{ id: 12345, applicationId: 67890, callerName: 'John Doe', originPhoneNumber: 555-123-4567, propertyId: 1, destinationPhoneNumber: 555-987-6543, callTypeId: 1, callType: Inquiry, callSourceId: 1, callSource: ON-SITE, callResultId: 1, callResult: 'Information Given', callState: Non-Archived, callAnalyzed: 'Yes', voiceMailTypeId: 3, answerStatus: Answered, leadSourceId: 1, leadSourceName: Website, agentName: 'Jane Smith', callDuration: '00:05:30', callCenterTalkTime: '00:04:45', callDateTime: '06/15/2023 10:30:00 MST' }] } } } } }, getLeasingCenterPickLists-r1-response-example: { summary: getLeasingCenterPickLists, value: { response: { code: 200, result: { callSources: { callSource: [{ id: 1, name: ON-SITE }, { id: 2, name: LEASING_CENTER }, { id: 3, name: MISCELLANEOUS }] }, callTypes: { callType: [{ id: 1, name: 'General Inquiry' }, { id: 2, name: 'Leasing Information' }, { id: 3, name: 'Maintenance Request' }] }, callResults: { callResult: [{ id: 1, name: 'Information Given' }, { id: 2, name: 'Appointment Scheduled' }, { id: 3, name: 'Application Received' }] } } } } }, getInspections-r1-request-example: { description: 'Retrieves detailed inspection information based on various search criteria.', summary: getInspections, value: { auth: { type: apikey }, requestId: '18', method: { name: getInspections, version: r1, params: { propertyId: 1234, leaseId: 5001, unitSpaceId: 3001, fromDate: '2024-01-01', toDate: '2024-12-31', statusTypeIds: '1,2,3', inspectionFormId: 1001, inspectionTypeId: 1 } } } }, getInspectionTemplates-r1-request-example: { description: 'Retrieves inspection templates based on various search criteria.', summary: getInspectionTemplates, value: { auth: { type: apikey }, requestId: '19', method: { name: getInspectionTemplates, version: r1, params: { propertyIds: '1234, 5678', showDisabled: 0 } } } }, getWorkOrderPickLists-r1-request-example: { description: 'Retrieves work order picklists based on various search criteria.', summary: getWorkOrderPickLists, value: { auth: { type: apikey }, requestId: '20', method: { name: getWorkOrderPickLists, version: r1, params: { propertyIds: '1234,5678' } } } }, getWorkOrders-r1-request-example: { description: 'Retrieves work orders based on various search criteria.', summary: getWorkOrders, value: { auth: { type: apikey }, requestId: '21', method: { name: getWorkOrders, version: r1, params: { propertyId: 1234, workOrderTypeIds: '1,2,3', includeChildWorkOrders: 1, createdOnFromDate: '2024-01-01', createdOnToDate: '2024-12-31', unitNumber: '101', buildingName: 'Building A' } } } }, sendWorkOrders-r1-request-example: { description: 'Creates new work orders.', summary: sendWorkOrders, value: { auth: { type: apikey }, requestId: '15', method: { name: sendWorkOrders, version: r1, params: { workOrder: [{ propertyId: 1234, customerId: 1234, leaseId: 1234, unitNumber: '5', buildingName: 'abc 8', customerFirstName: abc, customerLastName: abc, mainPhoneNumber: '123456789', altPhoneNumber: '123456789', emailAddress: test@a.com, isFloatingWorkOrder: 0, permissionToEnter: '1', dueDate: 05/05/2024, additionalInfo: 'Additional information', maintenanceLocationId: 12345, maintenanceCategoryId: 12345, maintenanceProblemId: 12345, subMaintenanceProblemId: 1234, maintenancePriorityId: 12345, petsDescription: 'no pets', problemDescription: 'no prb description', assignedTo: 12345, scheduledStartDateTime: 'MM/DD/YYYYTHH:MM:SS', scheduledEndDateTime: 'MM/DD/YYYYTHH:MM:SS', dueDateTime: 'MM/DD/YYYYTHH:MM:SS', priorityOrderNum: 0, files: { file: [{ name: abcd.pdf, note: 'attachment note.', fileData: 'base64 encoded file data' }, { name: abcd.jpeg, note: 'attachment note.', fileData: 'base64 encoded file data' }] } }] } } } }, updateWorkOrders-r1-request-example: { description: 'Updates existing work orders.', summary: 'updateWorkOrders r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateWorkOrders, version: r1, params: { propertyId: 1234, workOrder: [{ workOrderId: 307132, maintenanceStatusTypeId: '1234', maintenancePriorityId: '19421', maintenanceLocationId: '36891', maintenanceCategoryId: '94586', maintenanceProblemId: '67718', subMaintenanceProblemId: '569575', scheduledStartDateTime: '03/15/2024T10:30:00', scheduledEndDateTime: '03/15/2024T14:30:00', scheduledStartDate: 03/15/2024, scheduledEndDate: 03/15/2024, unitAvailableOnDate: 03/18/2024, assignedTo: 299001, dueDateTime: '03/20/2024T17:00:00', dueDate: 03/20/2024, vendorId: 12345, parentWorkOrderId: 307131, mainPhoneNumber: '123456789', altPhoneNumber: '987654321', emailAddress: test@example.com, problemDescription: 'Updated problem description', additionalInfo: 'Updated additional info', petsDescription: 'Updated pet info', permissionToEnter: '1', completedDateTime: '03/15/2024T16:00:00', closingComments: 'Work completed successfully', notes: 'Updated work order notes', priorityOrderNum: 1, files: { file: [{ name: updated_photo.jpg, note: 'Updated attachment note', fileData: 'base64 encoded file data' }] } }, { workOrderId: 307133, maintenanceStatusTypeId: '1235', maintenancePriorityId: '23478', scheduledStartDateTime: '03/16/2024T09:00:00', scheduledEndDateTime: '03/16/2024T12:00:00', assignedTo: 315898, problemDescription: 'Updated problem description for second work order', notes: 'Updated notes for second work order' }] } } } }, updateWorkOrders-r2-request-example: { description: 'Updates existing work orders.', summary: 'updateWorkOrders r2', value: { auth: { type: apikey }, requestId: '15', method: { name: updateWorkOrders, version: r2, params: { propertyId: 1234, workOrder: [{ workOrderId: 5678, maintenanceStatusTypeId: 1, maintenancePriorityId: 2, maintenanceLocationId: 3, maintenanceCategoryId: 4, maintenanceProblemId: 5, subMaintenanceProblemId: 6, scheduledStartDateTime: '01/15/2024T09:00:00', scheduledEndDateTime: '01/15/2024T17:00:00', scheduledStartDate: 01/15/2024, scheduledEndDate: 01/15/2024, unitAvailableOnDate: 01/16/2024, assignedTo: 789, dueDateTime: '01/20/2024T17:00:00', dueDate: 01/20/2024, vendorId: 456, parentWorkOrderId: 1234, mainPhoneNumber: '(555) 123-4567', altPhoneNumber: '(555) 987-6543', emailAddress: resident@example.com, problemDescription: 'Leaky faucet in kitchen', additionalInfo: 'Located under the sink', petsDescription: 'One small dog, friendly', permissionToEnter: '1', completedDateTime: '01/15/2024T16:30:00', closingComments: 'Work completed successfully', notes: 'Need to order replacement part', priorityOrderNum: 1, files: { file: [{ name: repair_photo.jpg, fileData: 'base64 encoded file data', note: 'Before repair photo' }] } }] } } } }, getInspections-r1-response-example: { summary: getInspections, value: { response: { code: 200, requestId: '18', result: { inspections: { inspection: [{ id: 2001, propertyId: 1234, inspectionTypeId: 1, inspectionStatusTypeId: 2, inspectionStatusType: 'In Progress', inspectionFormId: 1001, scheduledDate: '2024-03-15', dueDate: '2024-03-20', maintenanceRequestId: 4001, leaseId: 5001, unitSpaceId: 3001, note: 'Routine inspection of unit 101', locations: { location: [{ locationId: 6001, locationName: Kitchen, problems: { problem: [{ problemId: 7001, problemName: Cabinets, response: Fail, note: 'Cabinet door is loose', subProblems: { subProblem: [{ subProblemId: 8001, subProblemName: 'Cabinet Door Hinge' }] } }, { problemId: 7002, problemName: Countertops, response: Pass }] } }, { locationId: 6002, locationName: Bathroom, problems: { problem: [{ problemId: 7003, problemName: Tiles, response: Pass }] } }] } }, { id: 2002, propertyId: 1234, inspectionTypeId: 2, inspectionStatusTypeId: 1, inspectionStatusType: 'Not Started', inspectionFormId: 1002, scheduledDate: '2024-03-16', dueDate: '2024-03-21', leaseId: 5002, unitSpaceId: 3002, note: 'Move-in inspection for unit 102' }] } } } } }, getInspectionTemplates-r1-response-example: { summary: getInspectionTemplates, value: { response: { code: 200, requestId: '19', result: { inspectionTemplates: { inspectionTemplate: [{ id: 1001, name: 'Move-In Inspection', type: 'Unit Type', isActive: true, allowActions: true, customText: 'Please inspect all areas thoroughly', termsAndConditions: 'By signing this inspection, you agree to the terms...', propertyIds: '1234,5678', locations: { location: [{ maintenanceLocationId: 6001, locationName: Kitchen, problems: { problem: [{ maintenanceProblemId: 7001, problemName: Cabinets, subProblems: { subProblem: [{ subProblemId: 8001, subProblemName: 'Cabinet Door Hinge' }] } }, { maintenanceProblemId: 7002, problemName: Countertops }] } }, { maintenanceLocationId: 6002, locationName: Bathroom, problems: { problem: [{ maintenanceProblemId: 7003, problemName: Tiles }] } }] } }, { id: 1002, name: 'Routine Maintenance Inspection', type: 'Property Specific', isActive: true, allowActions: false, propertyIds: '1234', locations: { location: [{ maintenanceLocationId: 6003, locationName: 'Common Areas', problems: { problem: [{ maintenanceProblemId: 7004, problemName: Lighting }] } }] } }] } } } } }, getWorkOrderPickLists-r1-response-example: { summary: getWorkOrderPickLists, value: { response: { code: 200, requestId: '15', result: { Property: { '@attributes': { Id: '22222' }, Locations: { Location: [{ '@attributes': { Id: '26900', Name: Basement, Type: Unit, IsResidentPortalEnabled: 0 } }, { '@attributes': { Id: '38565', Name: '00last location', Type: Unit, IsResidentPortalEnabled: 0 }, unitTypes: { unitType: [{ '@attributes': { Id: '474887', Name: '1' } }] } }, { '@attributes': { Id: '40687', Name: Entry, Type: Unit, IsResidentPortalEnabled: 0 }, unitTypes: { unitType: [{ '@attributes': { Id: '474887', Name: '1' } }] } }, { '@attributes': { Id: '32814', Name: bathroom1, Type: Property, IsResidentPortalEnabled: 1 } }] }, Priorities: { Priority: [{ '@attributes': { Id: '19421', Name: Normal, Code: '' } }, { '@attributes': { Id: '23478', Name: High, Code: '' } }] }, StatusTypes: { StatusType: [{ '@attributes': { Id: '15106', Name: 'Awaiting Parts', Code: AP } }, { '@attributes': { Id: '15103', Name: New, Code: NE } }] }, Categories: { Category: [{ '@attributes': { Id: '91983', Name: demo } }, { '@attributes': { Id: '105795', Name: 'Building Maintenance' } }] }, Problems: { Problem: [{ locations: { location: [{ '@attributes': { Id: '11370' } }] }, '@attributes': { Id: '67718', Name: 'Wet Floor', IsResidentPortalEnabled: 1, DefaultPriority: High, CategoryId: '91983' }, subMaintenanceProblems: { subMaintenanceProblem: [{ '@attributes': { Id: '569575' } }] } }, { locations: { location: [{ '@attributes': { Id: '11363' } }, { '@attributes': { Id: '11368' } }, { '@attributes': { Id: '11370' } }] }, '@attributes': { Id: '80235', Name: 'Vinyl Repair Or Replace', CategoryId: '94586', DefaultPriority: Normal, IsResidentPortalEnabled: 0 } }] } }, WorkOrderTypes: { WorkOrderType: [{ '@attributes': { Id: '1', Name: 'Make Ready' } }, { '@attributes': { Id: '2', Name: 'Service Request' } }, { '@attributes': { Id: '4', Name: 'Feature Upgrade' } }] }, CompanyEmployees: { CompanyEmployee: [{ '@attributes': { Id: '299001', Name: 'Andrew Marshall' } }, { '@attributes': { Id: '315898', Name: 'Christopher Sabree' } }] }, InspectionStatuses: { InspectionStatus: [{ '@attributes': { Id: '1', Name: 'Not Started' } }, { '@attributes': { Id: '2', Name: 'In Progress' } }, { '@attributes': { Id: '3', Name: Review } }, { '@attributes': { Id: '4', Name: 'Past Due' } }, { '@attributes': { Id: '5', Name: Approved } }] } } } } }, getWorkOrders-r1-response-example: { summary: getWorkOrders, value: { response: { code: 200, requestId: '21', result: { workOrders: { workOrder: [{ maintenanceRequestId: '307132', maintenanceExternalId: '1234567890', maintenanceRequestTypeId: '1234', parentMaintenanceRequestId: '307132', vendorId: '1234567890', vendorName: 'Vendor Name', propertyId: '11111', buildingName: B1, unitNumber: '8', customerId: '4856298', nameFirst: Cosin, nameLast: Dome, primaryPhoneNumber: '123456789', alternatePhoneNumber: '12121212121', emailAddress: cosin@dome.com, createdOn: '01/05/2012 05:22:26.184567 MST', updatedOn: '01/05/2012 05:22:26.184567 MST', assignedTo: jiniaxena, assignedToCompanyEmployeeId: 1234567890, assignedOn: '01/05/2012 05:22:26.184567 MST', maintenanceStatusId: '1234', maintenanceStatus: New, maintenancePriorityId: 18757, maintenancePriority: 'NOWrn Never is question', maintenanceCategoryId: '326584', maintenanceCategoryName: test123, maintenanceProblemId: 338415, maintenanceProblem: 'Problem With Lights', subMaintenanceProblemId: '403843', subMaintenanceProblemName: Clean, maintenanceLocationId: 1234567890, maintenanceLocation: 'Location Name', maintenanceDescription: 'Some description', labors: { labor: [{ employeeName: ABC, description: sdf, laborType: Regular, laborTypeId: '1', startDateTime: '02/28/2018 01:11:00', endDateTime: '02/28/2018 01:15:00', totalMinutes: '4', perHourRate: '1.00', totalCharge: '0.07' }, { employeeName: BCD, description: test, laborType: Regular, laborTypeId: '1', startDateTime: '02/28/2018 00:00:00', endDateTime: '02/28/2018 00:00:00', totalMinutes: '612', perHourRate: '1.00', totalCharge: '10.20' }], subTotal: { totalCharge: '10.27', totalMinutes: 616 } }, scheduledStartDate: '01/06/2012 00:00:00 MDT', scheduledEndDate: '01/09/2012 00:00:00 MDT', dueDate: '02/04/2022 18:34:11 MST', completedOn: '01/05/2012 05:22:26.184567 MST', isFloating: false, permissionToEnter: '0', petInfo: 'Dogs,Dogs,Dogs,Dogs,Snake,Snake', alarmInfo: '123454', maintenanceRequestFrom: 'Entrata PaaS', maintenanceRequestBy: 'R R1', isDeleted: 0, childWorkOrders: { childWorkOrder: [{ maintenanceRequestId: 5039921, maintenanceRequestTypeId: 1, parentMaintenanceRequestId: '307132', vendorId: '1234567890', vendorName: 'Vendor Name', propertyId: 19463, buildingName: B1, customerId: 27857569, nameFirst: Abhi004, nameLast: Abhi004, primaryPhoneNumber: '6505756195', alternatePhoneNumber: '12121212121', emailAddress: abhi004@example.com, createdOn: '03/22/2017 03:27:04.763014 MDT', updatedOn: '03/22/2017 03:27:40.109857 MDT', assignedTo: jiniaxena, assignedToCompanyEmployeeId: 1234567890, assignedOn: '03/22/2017 03:27:04.763014 MDT', maintenanceStatusId: '1234', maintenanceStatus: 1test, maintenancePriorityId: 25358, maintenancePriority: 'JS Testing 1', maintenanceCategoryId: '326584', maintenanceCategoryName: test123, maintenanceProblemId: 333509, maintenanceProblem: '12', subMaintenanceProblemId: '403843', subMaintenanceProblemName: Clean, maintenanceLocationId: 36891, maintenanceLocation: '1234', labors: { labor: [{ employeeName: ABC, description: sdf, laborType: Regular, laborTypeId: '1', startDateTime: '02/28/2018 01:11:00', endDateTime: '02/28/2018 01:15:00', totalMinutes: '4', perHourRate: '1.00', totalCharge: '0.07' }, { employeeName: BCD, description: test, laborType: Regular, laborTypeId: '1', startDateTime: '02/28/2018 00:00:00', endDateTime: '02/28/2018 00:00:00', totalMinutes: '612', perHourRate: '1.00', totalCharge: '10.20' }], subTotal: { totalCharge: '10.27', totalMinutes: 616 } }, completedOn: '03/22/2017 03:27:46 MDT', entryNotes: 'This is an entry note', scheduledEndDate: '03/23/2017 00:00:00 MDT', isFloating: false, maintenanceRequestBy: System, isDeleted: 0 }] } }] } } } } }, sendWorkOrders-r1-response-example: { summary: sendWorkOrders, value: { response: { code: 200, result: { Success: [{ '@attributes': { message: 'Work order inserted successfully.', node: 1, reference_id: 307132 } }, { '@attributes': { message: 'Work order inserted successfully.', node: 2, reference_id: 307133 } }] } } } }, updateWorkOrders-r1-response-example: { summary: 'updateWorkOrders r1', description: 'Work orders update response example', value: { response: { code: 200, result: { workOrders: { workOrder: [{ '@attributes': { workOrderId: 307132, status: Success, message: 'Work order updated successfully.' } }, { '@attributes': { workOrderId: 307133, status: Success, message: 'Work order updated successfully.' } }] } } } } }, updateWorkOrders-r2-response-example: { summary: updateWorkOrders, value: { response: { requestId: '15', code: 200, result: { workOrders: { workOrder: [{ '@attributes': { workOrderId: 5678, status: Success, message: 'Work order updated successfully.' } }] } } } } }, getPricingPicklists-r1-request-example: { description: 'Gets pricing picklists.', summary: getPricingPicklists, value: { auth: { type: apikey }, requestId: '15', method: { name: getPricingPicklists, version: r1 } } }, getPropertyFees-r1-request-example: { description: 'Gets property fees.', summary: getPropertyFees, value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyFees, version: r1, params: { propertyId: 1234 } } } }, insertPricing-r1-request-example: { description: 'Inserts pricing.', summary: 'insertPricing r1', value: { auth: { type: apikey }, requestId: '15', method: { name: insertPricing, version: r1, params: { propertyId: 1234, pricing: [{ pricingLevelId: 1, pricingLevelReferenceId: 1234, chargeUsageId: 1, chargeTimingId: 1, chargeCodeId: 101, amount: 1500, isRenewal: 0, isFullUpdate: 0, nodeNumber: 1, leaseTermMonths: 12, leaseTermName: '12 Month', leaseStartRangeStart: 0, leaseStartRangeEnd: 365, leaseStartRangeStartDate: 01/01/2024, leaseStartRangeEndDate: 12/31/2024, spaceConfigurationId: 5, chargeUsageObjectId: 301 }] } } } }, insertPricing-r2-request-example: { description: 'Inserts pricing.', summary: 'insertPricing r2', value: { auth: { type: apikey }, requestId: '15', method: { name: insertPricing, version: r2, params: { propertyId: 1234, pricing: [{ pricingLevelId: 1, pricingLevelReferenceId: 1234, chargeUsageId: 1, chargeUsageReferenceId: 0, chargeTimingId: 307, chargeCodeTypeId: 2, chargeCodeId: 101, amount: 1500, effectiveDate: 01/01/2024, deactivationDate: 12/31/2024, isRenewal: 0, isFullUpdate: 0, nodeNumber: 1, leaseTermMonths: 12, leaseTermName: '12 Month', leaseTermId: 456, leaseStartRangeStart: 0, leaseStartRangeEnd: 365, leaseStartRangeStartDate: 01/01/2024, leaseStartRangeEndDate: 12/31/2024, spaceConfigurationId: 5, leaseStartWindowId: 789, chargeUsageObjectId: 0, active: 1, webVisible: 1 }] } } } }, sendBudgetedRent-r1-request-example: { description: 'Sends budgeted rent.', summary: sendBudgetedRent, value: { auth: { type: apikey }, requestId: '15', method: { name: sendBudgetedRent, version: r1, params: { propertyId: 1234, pricing: [{ pricingLevelId: 4, pricingLevelReferenceId: 5678, amount: 1200, amenityAmount: 100 }, { pricingLevelId: 3, pricingLevelReferenceId: 9101, amount: 1500 }] } } } }, getPricingPicklists-r1-response-example: { summary: getPricingPicklists, value: { response: { requestId: '14', code: 200, result: { pricingLevels: { pricingLevel: [{ '@attributes': { id: '1', name: Property } }, { '@attributes': { id: '2', name: 'Floor Plan' } }, { '@attributes': { id: '3', name: 'Unit Type' } }, { '@attributes': { id: '4', name: Space } }] }, chargeUsages: { chargeUsage: [{ '@attributes': { id: '1', name: Base } }, { '@attributes': { id: '2', name: Amenity } }, { '@attributes': { id: '3', name: Pet } }, { '@attributes': { id: '4', name: 'Add Ons' } }, { '@attributes': { id: '6', name: Special } }] }, chargeTimings: { chargeTiming: [{ '@attributes': { id: '102', name: 'Application Completed' } }, { '@attributes': { id: '106', name: 'Application Started' } }, { '@attributes': { id: '201', name: 'One Time' } }, { '@attributes': { id: '202', name: 'Move In' } }, { '@attributes': { id: '206', name: 'Move Out' } }, { '@attributes': { id: '307', name: Monthly } }] }, chargeCodeTypes: { chargeCodeType: [{ '@attributes': { id: '2', name: Rent, allowed_charge_timing_ids: '307' } }, { '@attributes': { id: '7', name: Deposit, allowed_charge_timing_ids: '102,201,202' } }, { '@attributes': { id: '4', name: Expense, allowed_charge_timing_ids: '102,201,202,206,307' } }, { '@attributes': { id: '5', name: Asset, allowed_charge_timing_ids: '102,201,202,206,307' } }, { '@attributes': { id: '6', name: Equity, allowed_charge_timing_ids: '102,201,202,206,307' } }, { '@attributes': { id: '9', name: 'Other Liability', allowed_charge_timing_ids: '102,201,202,206,307' } }, { '@attributes': { id: '3', name: 'Other Income', allowed_charge_timing_ids: '102,201,202,206,307' } }] } } } } }, getPropertyFees-r1-response-example: { summary: getPropertyFees, value: { response: { code: 200, result: { propertyFees: [{ propertyId: '1234', propertyFloorplanId: '', unitTypeId: '', unitSpaceId: '', entrataCategoryId: '1', entrataCategory: 'Base Rent', associatedItemId: '', associatedItem: '', cascadeId: '1', cascadeReferenceId: '1234', cascadeReferenceName: 'Sample Property', spaceConfigurationId: '', spaceConfiguration: '', chargeCodeId: '101', chargeCodeName: 'Monthly Rent', chargeCodeDescription: 'Monthly rent charge', chargeCodeGroupName: Rent, leaseTermId: '12', leaseTerm: '12 Month', leaseStartWindowId: '1', termStartDate: '2024-01-01', termEndDate: '2024-12-31', chargeTimingId: '1', chargeTiming: Monthly, formulaId: '1', formulaReferenceId: '', rateAmount: '1500.00', rateIncreaseIncrement: '0.00', detailedAmount: '1500.00', isOptional: '0', isIncludeedInAdvertisedRent: '0', isRefundable: '0', customerRelationshipId: '1', customerRelationshipName: Primary, arCodeMarketDescription: 'Monthly rent payment' }], floorPlanFees: [{ propertyId: '1234', propertyFloorplanId: '56', unitTypeId: '', unitSpaceId: '', entrataCategoryId: '2', entrataCategory: Amenity, associatedItemId: '10', associatedItem: Parking, cascadeId: '2', cascadeReferenceId: '56', cascadeReferenceName: 'One Bedroom', spaceConfigurationId: '', spaceConfiguration: '', chargeCodeId: '201', chargeCodeName: 'Parking Fee', chargeCodeDescription: 'Monthly parking fee', chargeCodeGroupName: Amenities, leaseTermId: '12', leaseTerm: '12 Month', leaseStartWindowId: '1', termStartDate: '2024-01-01', termEndDate: '2024-12-31', chargeTimingId: '1', chargeTiming: Monthly, formulaId: '1', formulaReferenceId: '', rateAmount: '50.00', rateIncreaseIncrement: '0.00', detailedAmount: '50.00', isOptional: '1', isIncludeedInAdvertisedRent: '0', isRefundable: '0', customerRelationshipId: '1', customerRelationshipName: Primary, arCodeMarketDescription: 'Covered parking space' }], unitTypeFees: [{ propertyId: '1234', propertyFloorplanId: '56', unitTypeId: '78', unitSpaceId: '', entrataCategoryId: '1', entrataCategory: 'Base Rent', associatedItemId: '10', associatedItem: Parking, cascadeId: '1', cascadeReferenceId: '1234', cascadeReferenceName: 'Sample Property', spaceConfigurationId: '', spaceConfiguration: '', chargeCodeId: '101', chargeCodeName: 'Monthly Rent', chargeCodeDescription: 'Monthly rent charge', chargeCodeGroupName: Rent, leaseTermId: '12', leaseTerm: '12 Month', leaseStartWindowId: '1', termStartDate: '2024-01-01', termEndDate: '2024-12-31', chargeTimingId: '1', chargeTiming: Monthly, formulaId: '1', formulaReferenceId: '', rateAmount: '1500.00', rateIncreaseIncrement: '0.00', detailedAmount: '1500.00', isOptional: '0', isIncludeedInAdvertisedRent: '0', isRefundable: '0', customerRelationshipId: '1', customerRelationshipName: Primary, arCodeMarketDescription: 'Monthly rent payment' }], unitSpaceFees: [{ propertyId: '1234', propertyFloorplanId: '56', unitTypeId: '', unitSpaceId: '101', entrataCategoryId: '1', entrataCategory: 'Base Rent', associatedItemId: '10', associatedItem: Parking, cascadeId: '1', cascadeReferenceId: '1234', cascadeReferenceName: 'Sample Property', spaceConfigurationId: '', spaceConfiguration: '', chargeCodeId: '101', chargeCodeName: 'Monthly Rent', chargeCodeDescription: 'Monthly rent charge', chargeCodeGroupName: Rent, leaseTermId: '12', leaseTerm: '12 Month', leaseStartWindowId: '1', termStartDate: '2024-01-01', termEndDate: '2024-12-31', chargeTimingId: '1', chargeTiming: Monthly, formulaId: '1', formulaReferenceId: '', rateAmount: '1500.00', rateIncreaseIncrement: '0.00', detailedAmount: '1500.00', isOptional: '0', isIncludeedInAdvertisedRent: '0', isRefundable: '0', customerRelationshipId: '1', customerRelationshipName: Primary, arCodeMarketDescription: 'Monthly rent payment' }], customFees: [{ id: '301', name: 'Application Fee', description: 'One-time application processing fee', chargeTimingId: '2', amountType: fixed, amountDetail: 'Per application', fixedAmount: '75.00', avgAmount: '75.00', maxAmount: '75.00', minAmount: '75.00', isOptional: '0' }] } } } }, insertPricing-r1-response-example: { summary: 'insertPricing r1', value: { response: { code: 200, result: { pricing: [{ '@attributes': { node: 1, reference_id: '12345', status: Success, is_valid: 'Yes', message: 'Rate inserted/updated successfully.', validation_info: '' } }, { '@attributes': { node: 2, reference_id: '12346', status: Success, is_valid: 'Yes', message: 'Rate inserted/updated successfully.', validation_info: '' } }, { '@attributes': { node: 3, reference_id: '0', status: Failed, is_valid: '', message: 'Failed to update rate as provided info is outside scope.', validation_info: '' } }], processing_log: { data_load_timing: 0.125, process_rates_time: 0.342, old_rate_cleanup: 0.087, updateRates_time: 0.156, update_rates_allowed_time: 0.098 } } } } }, insertPricing-r2-response-example: { summary: 'insertPricing r2', value: { response: { requestId: '15', code: 200, result: { pricing: [{ node: 1, referenceId: '12345', status: Success, isValid: 'Yes', message: 'Rate inserted/updated successfully.', validationInfo: '' }, { node: 2, referenceId: '12346', status: Success, isValid: 'Yes', message: 'Rate inserted/updated successfully.', validationInfo: '' }, { node: 3, referenceId: '0', status: Failed, isValid: '', message: 'Failed to update rate as provided info is outside scope.', validationInfo: '' }], processingLog: { dataLoadTiming: 0.125, processRatesTime: 0.342, oldRateCleanup: 0.087, updateRatesTime: 0.156, updateRatesAllowedTime: 0.098 } } } } }, sendBudgetedRent-r1-response-example: { summary: sendBudgetedRent, value: { response: { code: 200, result: { pricing: [{ node: 1, status: Success, message: 'budgeted rent updated successfully.' }, { node: 2, status: Success, message: 'budgeted rent updated successfully.' }, { node: 3, status: Failed, message: 'Invalid value for the pricingLevelReferenceId.' }] } } } }, deletePropertyMedia-r1-request-example: { summary: 'deletePropertyMedia r1', value: { auth: { type: apikey }, requestId: '15', method: { name: deletePropertyMedia, version: r1, params: { propertyId: 12345, id: 98765 } } } }, getAmenityReservations-r1-request-example: { summary: 'getAmenityReservations r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getAmenityReservations, version: r1, params: { propertyId: 12345, amenityIds: '101,102', amenityReservationStatusTypeIds: '1,2' } } } }, getReservableAmenities-r1-request-example: { summary: 'getReservableAmenities r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getReservableAmenities, version: r1, params: { propertyId: 12345, amenityIds: '101,102' } } } }, getCalendarAvailability-r1-request-example: { summary: 'getCalendarAvailability r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getCalendarAvailability, version: r1, params: { propertyId: 12345, fromDate: 01/10/2025, toDate: 01/14/2025, calendarEventCategoryIds: '1,2' } } } }, getCalendarAvailability-r2-request-example: { summary: 'getCalendarAvailability r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getCalendarAvailability, version: r2, params: { propertyId: 12345, fromDate: 01/10/2025, toDate: 02/10/2025, tourType: AGENT_GUIDED } } } }, getFloorPlans-r1-request-example: { summary: 'getFloorPlans r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getFloorPlans, version: r1, params: { propertyId: 12345, propertyFloorPlanIds: '1001,1002', usePropertyPreferences: 0, includeDisabledFloorplans: 0 } } } }, sendFloorPlans-r1-request-example: { summary: 'sendFloorPlans r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendFloorPlans, version: r1, params: { propertyId: 12345, floorPlans: { floorPlan: [{ name: A1, description: 'Open concept layout', seoTitle: 'A1 - One Bedroom', seoDescription: 'Spacious one bedroom', seoKeywords: 'one bedroom, a1, floor plan', isPublished: 1, isDisabledVirtualMoveIn: 0, minSquareFeet: 650, maxSquareFeet: 725, numberOfBedRooms: 1, numberOfBathRooms: 1, isFeatured: 0 }, { name: B2, description: 'Split bedroom design', seoTitle: 'B2 - Two Bedroom', seoDescription: 'Modern two bedroom layout', seoKeywords: 'two bedroom, b2, floor plan', isPublished: 1, isDisabledVirtualMoveIn: 0, minSquareFeet: 950, maxSquareFeet: 1050, numberOfBedRooms: 2, numberOfBathRooms: 2, isFeatured: 1 }] } } } } }, getPetTypes-r1-request-example: { summary: 'getPetTypes r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPetTypes, version: r1, params: { propertyIds: '12345,67890' } } } }, getPhoneNumber-r1-request-example: { summary: 'getPhoneNumber r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPhoneNumber, version: r1, params: { propertyIds: [1197254, 7211], switchCode: 62963, ref: 'http://google.com' } } } }, getProperties-r1-request-example: { summary: 'getProperties r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getProperties, version: r1, params: { propertyIds: '12345,67890', showAllStatus: 0 } } } }, getPropertyAddOns-r1-request-example: { summary: 'getPropertyAddOns r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyAddOns, version: r1, params: { propertyId: 12345 } } } }, getPropertyAnnouncements-r1-request-example: { summary: 'getPropertyAnnouncements r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyAnnouncements, version: r1, params: { propertyId: 12345 } } } }, getPropertyMedia-r1-request-example: { summary: 'getPropertyMedia r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyMedia, version: r1, params: { propertyId: 12345, mediaTypeId: 1, mediaSubTypeId: 24, referenceIds: '1001,1002' } } } }, sendPropertyMedia-r1-request-example: { summary: 'sendPropertyMedia r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendPropertyMedia, version: r1, params: { propertyId: 12345, media: [{ mediaTypeId: 1, mediaSubTypeId: 10, referenceId: 1001, mediaProvider: External, mediaUrl: 'https://cdn.example.com/img1.jpg', mediaAltText: 'Clubhouse exterior', name: clubhouse-front.jpg, description: 'Front elevation', caption: 'Main entrance', mediaFormat: jpg, height: '800', width: '1200', thumbnailUrl: 'https://cdn.example.com/img1-thumb.jpg' }, { mediaTypeId: 1, mediaSubTypeId: 10, mediaProvider: External, mediaUrl: 'https://cdn.example.com/img2.jpg', mediaAltText: 'Pool area' }] } } } }, sendRentableItems-r1-request-example: { summary: 'sendRentableItems r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendRentableItems, version: r1, params: { propertyId: 12345, rentableItemTypes: { rentableItemType: [{ categoryId: 10, name: 'Covered Parking', showOnWebsite: 1, isMarketed: 0, hasInventory: 1, rentableItems: { rentableItem: [{ name: 'Spot A-1', description: 'Covered spot near building A', showOnWebsite: 1, availabilityStatusId: 2 }] } }] } } } } }, updatePropertyMedia-r1-request-example: { summary: 'updatePropertyMedia r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updatePropertyMedia, version: r1, params: { propertyId: 12345, media: [{ id: '90001', mediaTypeId: 1, mediaSubTypeId: 10, referenceId: 1001, mediaProvider: External, mediaUrl: 'https://cdn.example.com/img1.jpg', mediaAltText: 'Clubhouse exterior', name: clubhouse-front.jpg, description: 'Front elevation', caption: 'Main entrance', mediaFormat: jpg, height: '820', width: '1220', thumbnailUrl: 'https://cdn.example.com/img1-thumb.jpg' }] } } } }, getPropertyPickLists-r1-request-example: { summary: 'getPropertyPickLists r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyPickLists, version: r1, params: { propertyIds: '12345,67890' } } } }, getPropertyPickLists-r2-request-example: { summary: 'getPropertyPickLists r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyPickLists, version: r2, params: { propertyIds: '12345,67890' } } } }, getRentableItems-r1-request-example: { summary: 'getRentableItems r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getRentableItems, version: r1, params: { propertyId: 12345 } } } }, getWebsites-r1-request-example: { summary: 'getWebsites r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getWebsites, version: r1, params: { propertyIds: '12345,67890' } } } }, deletePropertyMedia-r1-response-example: { summary: 'deletePropertyMedia r1', value: { response: { requestId: '15', code: 200, result: { status: Success, message: 'Property media deleted successfully.' } } } }, getAmenityReservations-r1-response-example: { summary: 'getAmenityReservations r1', value: { response: { code: 200, requestId: '15', result: { amenities: { amenity: [{ id: 101, name: Clubhouse, description: 'Community clubhouse with kitchen', isPublished: 1, reservations: { reservation: [{ id: 555001, resident: 'Jane Doe', leaseId: 67890, buildingId: 22, buildingName: 'Building A', unitId: 3344, unitNumber: 12B, reservationDate: '2025-01-15', reservationTitle: 'Birthday Party', reserveByDay: 0, reservationStartTime: '10:00 AM', reservationEndTime: '12:00 PM', statusTypeId: 1, status: Approved, rejectionComment: 'Conflicts with maintenance' }, { id: 555002, resident: 'John Smith', leaseId: 67891, buildingId: 23, buildingName: 'Building B', unitId: 3345, unitNumber: 15C, reservationDate: '2025-01-20', reservationTitle: 'Community Meeting', reserveByDay: 1, reservationStartTime: 'Full Day', statusTypeId: 2, status: Pending, rejectionComment: '' }] } }, { id: 102, name: 'Pool Area', description: 'Outdoor pool with lounge chairs', isPublished: 1, reservations: { reservation: [{ id: 555003, resident: 'Mike Johnson', leaseId: 67892, buildingId: 22, buildingName: 'Building A', unitId: 3346, unitNumber: 20A, reservationDate: '2025-01-18', reservationTitle: 'Pool Party', reserveByDay: 0, reservationStartTime: '02:00 PM', reservationEndTime: '05:00 PM', statusTypeId: 3, status: Rejected, rejectionComment: 'Maximum capacity reached' }, { id: 555004, resident: 'Sarah Williams', leaseId: 67893, buildingId: 23, buildingName: 'Building B', unitId: 3347, unitNumber: 25B, reservationDate: '2025-01-22', reservationTitle: 'Family Gathering', reserveByDay: 0, reservationStartTime: '11:00 AM', reservationEndTime: '03:00 PM', statusTypeId: 1, status: Approved, rejectionComment: '' }] } }] } } } } }, getReservableAmenities-r1-response-example: { summary: 'getReservableAmenities r1', value: { response: { code: 200, requestId: '15', result: { amenities: { amenity: [{ id: 101, name: Clubhouse, description: 'Community clubhouse', reservedByDay: 0, blockHoursByDay: 1, blockDays: { blockDay: [{ day: Monday, blockHours: '12pm,1pm,2pm' }, { day: Friday, blockHours: '5pm,6pm,7pm' }] }, maxReservationDays: 30, maxHours: 2, isApprovalRequired: 0, isResidentVisible: 1, isAllowFutureResident: 1, rates: { rate: [{ arCodeId: 10, arCodeTypeId: 5, chargeTypeId: 1, amount: '25.00', active: 1, isPublish: 1 }, { arCodeId: 11, arCodeTypeId: 6, chargeTypeId: 2, amount: '50.00', active: 1, isPublish: 0 }] } }, { id: 102, name: 'Pool Area', description: 'Outdoor pool with deck', reservedByDay: 1, blockHoursByDay: 0, blockDays: { blockDay: [{ day: Tuesday, blockHours: '09:00-17:00' }, { day: Thursday, blockHours: '10:00-14:00' }] }, maxReservationDays: 14, maxHours: 8, isApprovalRequired: 1, isResidentVisible: 1, isAllowFutureResident: 0, rates: { rate: [{ arCodeId: 20, arCodeTypeId: 7, chargeTypeId: 3, amount: '75.00', active: 1, isPublish: 1 }, { arCodeId: 21, arCodeTypeId: 8, chargeTypeId: 4, amount: '100.00', active: 0, isPublish: 1 }] } }] } } } } }, getCalendarAvailability-r1-response-example: { summary: 'getCalendarAvailability r1', value: { response: { code: 200, requestId: '15', result: { propertyCalendarSettings: { propertyId: 12345, appointmentLength: 30, selfGuidedTourAppointmentLength: 30, minLeadTimeTour: '15 Minutes', selfGuidedTourMinLeadTime: '15 Minutes', availabilities: { availability: [{ day: Monday, startTime: '09:00:00MST', endTime: '17:00:00MST', simultaneousAppointmentLimit: 'No Limit' }, { day: Tuesday, startTime: '09:00:00MST', endTime: '17:00:00MST', simultaneousAppointmentLimit: 5 }] }, selfGuidedTourAvailabilities: { availability: [{ day: Monday, startTime: '09:00:00MST', endTime: '17:00:00MST', simultaneousAppointmentLimit: 2 }, { day: Wednesday, startTime: '10:00:00MST', endTime: '16:00:00MST', simultaneousAppointmentLimit: 3 }] } }, propertyCalendarAvailability: { availableHours: { availableHour: [{ date: 01/12/2025, startTime: '09:00:00MST', endTime: '10:30:00MST' }, { date: 01/13/2025, startTime: '14:00:00MST', endTime: '15:30:00MST' }] } } } } } }, getCalendarAvailability-r2-response-example: { summary: 'getCalendarAvailability r2', value: { response: { code: 200, requestId: '15', result: { availableTours: { availableTour: [{ tourDate: '2025-01-12', tourTime: ['09:00 MST - 09:30 MST', '10:00 MST - 10:30 MST'] }, { tourDate: '2025-01-13', tourTime: ['14:00 MST - 14:30 MST', '15:00 MST - 15:30 MST'] }] } } } } }, getFloorPlans-r1-response-example: { summary: 'getFloorPlans r1', value: { response: { code: 200, requestId: '15', result: { FloorPlans: { FloorPlan: [{ Identification: { IDValue: 1001, '@attributes': { IDRank: primary, IDScopeType: sender, IDType: 'Floorplan ID' } }, Name: A1, PropertyId: 12345, FloorplanGroups: { FloorplanGroup: { 1: { '@attributes': { id: 1, name: Classic } } } }, Comment: 'Open concept with lots of light', UnitCount: '10', UnitsAvailable: '2', UnitTypes: { UnitType: [{ '@attributes': { Id: 501 }, '@value': Renovated }, { '@attributes': { Id: 502 }, '@value': Standard }] }, FloorCount: 1, TotalRoomCount: 3, IsDisabled: false, Room: [{ '@attributes': { RoomType: Bedroom }, Count: 1 }, { '@attributes': { RoomType: Bathroom }, Count: 1 }], SquareFeet: { '@attributes': { Min: 650, Max: 725 } }, MarketRent: { '@attributes': { Min: 1200, Max: 1400 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Min: 300, Max: 500 } } } }, Amenity: [{ '@attributes': { AmenityType: AirConditioner }, Description: 'Central Air' }, { '@attributes': { AmenityType: Dishwasher }, Description: 'Built-in Dishwasher' }], File: [{ FileType: Floorplan, '@attributes': { FileID: 90001, Active: 'true' }, Description: '2D Floor Plan', Name: A1-2D.png, Caption: 'Main layout', Format: png, Width: '1024', Height: '768', Src: 'https://cdn.example.com/floorplans/a1-2d.png', IsDefault: true }, { FileType: Photo, '@attributes': { FileID: 90002, Active: 'true' }, Description: '3D Rendering', Name: A1-3D.jpg, Caption: 'Virtual tour', Format: jpg, Width: '1920', Height: '1080', Src: 'https://cdn.example.com/floorplans/a1-3d.jpg', IsDefault: false }] }, { Identification: { IDValue: 1002, '@attributes': { IDRank: primary, IDScopeType: sender, IDType: 'Floorplan ID' } }, Name: B2, PropertyId: 12345, FloorplanGroups: { FloorplanGroup: { 2: { '@attributes': { id: 2, name: Premium } } } }, Comment: 'Spacious layout with premium finishes', UnitCount: '8', UnitsAvailable: '1', UnitTypes: { UnitType: [{ '@attributes': { Id: 503 }, '@value': Luxury }, { '@attributes': { Id: 504 }, '@value': Deluxe }] }, FloorCount: 2, TotalRoomCount: 4, IsDisabled: false, Room: [{ '@attributes': { RoomType: Bedroom }, Count: 2 }, { '@attributes': { RoomType: Bathroom }, Count: 2 }], SquareFeet: { '@attributes': { Min: 950, Max: 1100 } }, MarketRent: { '@attributes': { Min: 1800, Max: 2200 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Min: 500, Max: 800 } } } }, Amenity: [{ '@attributes': { AmenityType: InUnitWasherDryer }, Description: 'Full-size washer and dryer' }, { '@attributes': { AmenityType: Balcony }, Description: 'Private balcony with city view' }], File: [{ FileType: Floorplan, '@attributes': { FileID: 90003, Active: 'true' }, Description: '2D Floor Plan', Name: B2-2D.png, Caption: 'Main layout', Format: png, Width: '1280', Height: '960', Src: 'https://cdn.example.com/floorplans/b2-2d.png', IsDefault: true }, { FileType: Photo, '@attributes': { FileID: 90004, Active: 'true' }, Description: '3D Rendering', Name: B2-3D.jpg, Caption: 'Virtual walkthrough', Format: jpg, Width: '1920', Height: '1080', Src: 'https://cdn.example.com/floorplans/b2-3d.jpg', IsDefault: false }] }] } } } } }, sendFloorPlans-r1-response-example: { summary: 'sendFloorPlans r1', value: { response: { code: 200, requestId: '15', result: { floorplans: { floorplan: [{ node: 1, status: Success, floorplanId: 1001, name: A1, message: 'Floorplan inserted successfully.' }, { node: 2, status: Success, floorplanId: 1002, name: B2, message: 'Floorplan inserted successfully.' }] } } } } }, getPetTypes-r1-response-example: { summary: 'getPetTypes r1', value: { response: { code: 200, requestId: '15', result: { DefaultPetTypes: { Property: { 12345: { '@attributes': { id: 12345 }, DefaultPetType: [{ '@attributes': { Name: Dog, Id: 1 } }, { '@attributes': { Name: Cat, Id: 2 } }] }, 67890: { '@attributes': { id: 67890 }, DefaultPetType: [{ '@attributes': { Name: Bird, Id: 3 } }, { '@attributes': { Name: Fish, Id: 4 } }] } } } } } } }, getPhoneNumber-r1-response-example: { summary: 'getPhoneNumber r1', value: { response: { code: 200, requestId: '15', result: { 7211: '(801) 555-1234', 1197254: '(385) 268-6410' } } } }, getProperties-r1-response-example: { summary: 'getProperties r1', value: { response: { code: 200, requestId: '15', result: { PhysicalProperty: { Property: [{ PropertyID: 12345, ParentPropertyID: 100, MarketingName: 'Oaks at Parkview', PropertyLookupCode: PRP-001, Type: Conventional, General_ID: PRP-001, YearBuilt: '2002', ShortDescription: 'Luxury apartments in downtown', LongDescription: 'Beautiful luxury apartments located in the heart of downtown with modern amenities and stunning city views.', ExternalId: EXT12345, PmsId: PMS67890, webSite: 'https://example.com', Address: { '@attributes': { AddressType: property }, Address: '123 Main St, Apt 1', City: Provo, State: UT, PostalCode: '84601', Country: US, Email: office@example.com }, Addresses: { Address: [{ AddressType: property, Address: '123 Main St, Apt 1', City: Provo, StateCode: UT, PostalCode: '84601', Country: US }, { AddressType: mailing, Address: 'PO Box 456', City: Provo, StateCode: UT, PostalCode: '84602', Country: US }] }, Phone: { PhoneNumber: '8015551234', '@attributes': { PhoneType: primary }, PhoneDescription: Primary, Extension: '123' }, PostMonths: { ArPostMonth: 01/2025, ApPostMonth: 01/2025, GlPostMonth: 01/2025 }, PropertyHours: { HolidayHours: { HolidayHour: [{ Name: "New Year's Day", Date: '2025-01-01', OpenTime: '10:00 AM', CloseTime: '02:00 PM' }, { Name: 'Independence Day', Date: '2025-07-04', OpenTime: Closed, CloseTime: Closed }] }, OfficeHours: { OfficeHour: [{ Day: Monday, AvailabilityType: Open, OpenTime: '09:00 AM', CloseTime: '05:00 PM', LunchStartTime: '12:00 PM', LunchEndTime: '01:00 PM' }, { Day: Saturday, AvailabilityType: Open, OpenTime: '10:00 AM', CloseTime: '03:00 PM', LunchStartTime: '12:00 PM', LunchEndTime: '01:00 PM' }] }, PoolHours: { PoolHour: [{ Day: Monday, OpenTime: '06:00 AM', CloseTime: '10:00 PM' }, { Day: Sunday, OpenTime: '08:00 AM', CloseTime: '08:00 PM' }] } }, IsDisabled: 0, IsFeaturedProperty: 1, SpaceOptions: { SpaceOption: [{ Id: 10, Name: Storage }, { Id: 11, Name: Parking }] }, LeaseTerms: { LeaseTerm: [{ Id: 5, Name: '12 Months', TermMonths: 12, IsProspect: 1, IsRenewal: 0, IsActive: true, LeaseStartWindows: { LeaseStartWindow: [{ Id: 1, WindowStartDate: '2025-01-01', WindowEndDate: '2025-01-31', WindowStartDays: 30, WindowEndDays: 60 }, { Id: 2, WindowStartDate: '2025-02-01', WindowEndDate: '2025-02-28', WindowStartDays: 30, WindowEndDays: 60 }] } }, { Id: 6, Name: '6 Months', TermMonths: 6, IsProspect: 1, IsRenewal: 1, IsActive: true, LeaseStartWindows: { LeaseStartWindow: [{ Id: 3, WindowStartDate: '2025-03-01', WindowEndDate: '2025-03-31', WindowStartDays: 15, WindowEndDays: 45 }, { Id: 4, WindowStartDate: '2025-04-01', WindowEndDate: '2025-04-30', WindowStartDays: 15, WindowEndDays: 45 }] } }] }, CustomKeysData: { CustomKeyData: [{ Key: PropertyFeature, Value: Pool }, { Key: PetPolicy, Value: 'Dogs and Cats Allowed' }] } }, { PropertyID: 12346, ParentPropertyID: 100, MarketingName: 'Meadows at Riverside', PropertyLookupCode: PRP-002, Type: 'Student Housing', General_ID: PRP-002, YearBuilt: '2018', ShortDescription: 'Modern student housing near campus', LongDescription: 'Contemporary student apartments with study lounges, fitness center, and shuttle service to campus.', ExternalId: EXT12346, PmsId: PMS67891, webSite: 'https://example2.com', Address: { '@attributes': { AddressType: property }, Address: '456 College Ave', City: 'Salt Lake City', State: UT, PostalCode: '84102', Country: US, Email: info@example2.com }, Addresses: { Address: [{ AddressType: property, Address: '456 College Ave', City: 'Salt Lake City', StateCode: UT, PostalCode: '84102', Country: US }, { AddressType: billing, Address: '789 Admin Blvd', City: 'Salt Lake City', StateCode: UT, PostalCode: '84103', Country: US }] }, Phone: { PhoneNumber: '8015559876', '@attributes': { PhoneType: primary }, PhoneDescription: 'Main Office', Extension: '100' }, PostMonths: { ArPostMonth: 01/2025, ApPostMonth: 01/2025, GlPostMonth: 01/2025 }, PropertyHours: { HolidayHours: { HolidayHour: [{ Name: Thanksgiving, Date: '2025-11-27', OpenTime: Closed, CloseTime: Closed }, { Name: Christmas, Date: '2025-12-25', OpenTime: Closed, CloseTime: Closed }] }, OfficeHours: { OfficeHour: [{ Day: Monday, AvailabilityType: Open, OpenTime: '08:00 AM', CloseTime: '06:00 PM', LunchStartTime: '12:00 PM', LunchEndTime: '01:00 PM' }, { Day: Friday, AvailabilityType: Open, OpenTime: '08:00 AM', CloseTime: '04:00 PM', LunchStartTime: '11:30 AM', LunchEndTime: '12:30 PM' }] }, PoolHours: { PoolHour: [{ Day: Tuesday, OpenTime: '07:00 AM', CloseTime: '09:00 PM' }, { Day: Thursday, OpenTime: '07:00 AM', CloseTime: '09:00 PM' }] } }, IsDisabled: 0, IsFeaturedProperty: 0, SpaceOptions: { SpaceOption: [{ Id: 12, Name: 'Study Room' }, { Id: 13, Name: 'Bike Storage' }] }, LeaseTerms: { LeaseTerm: [{ Id: 7, Name: 'Academic Year', TermMonths: 9, IsProspect: 1, IsRenewal: 0, IsActive: true, LeaseStartWindows: { LeaseStartWindow: [{ Id: 5, WindowStartDate: '2025-08-01', WindowEndDate: '2025-08-31', WindowStartDays: 45, WindowEndDays: 75 }, { Id: 6, WindowStartDate: '2025-09-01', WindowEndDate: '2025-09-30', WindowStartDays: 30, WindowEndDays: 60 }] } }, { Id: 8, Name: 'Summer Session', TermMonths: 3, IsProspect: 1, IsRenewal: 0, IsActive: true, LeaseStartWindows: { LeaseStartWindow: [{ Id: 7, WindowStartDate: '2025-05-01', WindowEndDate: '2025-05-31', WindowStartDays: 20, WindowEndDays: 40 }, { Id: 8, WindowStartDate: '2025-06-01', WindowEndDate: '2025-06-30', WindowStartDays: 15, WindowEndDays: 35 }] } }] }, CustomKeysData: { CustomKeyData: [{ Key: ShuttleService, Value: Available }, { Key: StudyLounge, Value: '24/7 Access' }] } }] } } } } }, getPropertyAddOns-r1-response-example: { summary: 'getPropertyAddOns r1', value: { response: { code: 200, requestId: '15', result: { currencyCode: USD, addOns: { addon: [{ id: 501, name: 'Garage Parking', addOnTypeId: 1, addOnCategoryId: 10, addOnGroupId: 100, isInventory: 1, addOnAvailableOn: '2025-01-15', isWebVisible: 1, availability: Available, reservationStartDate: '2025-01-10', reservationEndDate: '2025-01-20', holdUntilDate: '2025-01-05', rates: { rate: [{ chargeTimingId: 1, chargeCodeId: 200, amount: '50.00' }, { chargeTimingId: 2, chargeCodeId: 201, amount: '25.00' }] } }, { id: 502, name: 'Storage Unit', addOnTypeId: 2, addOnCategoryId: 11, addOnGroupId: 101, isInventory: 0, isWebVisible: 0, availability: Unavailable, rates: { rate: [{ chargeTimingId: 1, chargeCodeId: 205, amount: '35.00' }, { chargeTimingId: 3, chargeCodeId: 206, amount: '15.00' }] } }] } } } } }, getPropertyAnnouncements-r1-response-example: { summary: 'getPropertyAnnouncements r1', value: { response: { code: 200, requestId: '15', result: { Announcements: { Announcement: [{ '@attributes': { Id: 501 }, AnnouncementTypeId: 1, FrequencyId: 2, Title: 'Pool Maintenance', Description: 'The pool will be closed for maintenance on Saturday.', StartDate: '2025-01-10', EndDate: '2025-01-12' }] } } } } }, getPropertyMedia-r1-response-example: { summary: 'getPropertyMedia r1', value: { response: { code: 200, requestId: '15', result: { propertyId: 12345, media: [{ id: 90001, mediaTypeId: 1, mediaTypeName: 'Property Media', mediaSubTypeId: 10, mediaSubTypeName: Photos, referenceId: 1001, mediaProvider: External, mediaUrl: 'https://cdn.example.com/img1.jpg', mediaAltText: 'Front elevation', name: Front.jpg, description: 'Front view', caption: 'Main entrance', height: '800', width: '1200', mediaFormat: jpg, thumbnailUrl: 'https://cdn.example.com/img1-thumb.jpg' }] } } } }, sendPropertyMedia-r1-response-example: { summary: 'sendPropertyMedia r1', value: { response: { code: 200, requestId: '15', result: { media: [{ node: 1, id: 90001, status: Success, message: 'Media inserted successfully.' }, { node: 2, status: Failure, message: "Value for 'mediaSubTypeId'" }] } } } }, sendRentableItems-r1-response-example: { summary: 'sendRentableItems r1', value: { response: { code: 200, requestId: '15', result: { rentableItemTypes: { rentableItemType: [{ node: 1, rentableItemTypeId: 100, rentableItemIds: '10001,10002', status: Success, message: 'rentableItemType inserted successfully.' }] } } } } }, updatePropertyMedia-r1-response-example: { summary: 'updatePropertyMedia r1', value: { response: { code: 200, requestId: '15', result: { media: [{ node: 1, id: 90001, status: Success, message: 'Media updated successfully.' }] } } } }, getPropertyPickLists-r1-response-example: { summary: 'getPropertyPickLists r1', value: { response: { code: 200, requestId: '15', result: { company: { searchAreas: { countries: [{ country: [{ states: { state: [{ Code: UT, Name: Utah, searchArea: [{ Id: 1, Name: 'Salt Lake City' }, { Id: 2, Name: Provo }] }, { Code: CA, Name: California, searchArea: [{ Id: 3, Name: 'Los Angeles' }, { Id: 4, Name: 'San Francisco' }] }] } }] }] } }, Property: [{ '@attributes': { Id: 12345, Name: Parkview, IsDisabled: 0 }, UnitTypes: { UnitType: [{ '@attributes': { Id: 10, Name: '1 Bedroom' } }, { '@attributes': { Id: 11, Name: '2 Bedroom' } }] }, AddOnGroups: { RentableItems: { RentableItem: [{ '@attributes': { Id: 100, Name: Storage } }, { '@attributes': { Id: 101, Name: Parking } }] }, AssignableItems: { AssignableItem: [{ '@attributes': { Id: 200, Name: 'Parking Permit' } }, { '@attributes': { Id: 201, Name: 'Pool Access Card' } }] }, Services: { Service: [{ '@attributes': { Id: 300, Name: 'Valet Trash' } }, { '@attributes': { Id: 301, Name: Concierge } }] } }, PropertyBuildings: { PropertyBuilding: [{ '@attributes': { Id: 1, Name: 'Building A' } }, { '@attributes': { Id: 2, Name: 'Building B' } }] }, PropertyFloorplans: { PropertyFloorplan: [{ '@attributes': { Id: 500, Name: A1 } }, { '@attributes': { Id: 501, Name: B2 } }] }, MoveOutReasons: { MoveOutReason: [{ '@attributes': { Id: 5, SystemCode: TESTING_SYSTEM_CODE, Name: 'Job Relocation' } }, { '@attributes': { Id: 6, SystemCode: TESTING_SYSTEM_CODE_2, Name: Downsizing } }] }, leasePeriods: { leasePeriod: [{ leaseTermId: 7, leaseTermName: '12 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed }, { leaseTermId: 8, leaseTermName: '6 Months', leaseTermStructureId: 1, leaseTermStructureName: Month-to-Month }] }, PropertySearchAreas: { SearchAreas: { SearchArea: [{ '@attributes': { Id: 11, CompanySearchAreaId: 99 } }, { '@attributes': { Id: 12, CompanySearchAreaId: 100 } }] } } }, { '@attributes': { Id: 12346, Name: 'Riverside Apartments', IsDisabled: 0 }, UnitTypes: { UnitType: [{ '@attributes': { Id: 12, Name: Studio } }, { '@attributes': { Id: 13, Name: '3 Bedroom' } }] }, AddOnGroups: { RentableItems: { RentableItem: [{ '@attributes': { Id: 102, Name: 'Bike Storage' } }, { '@attributes': { Id: 103, Name: 'Wine Locker' } }] }, AssignableItems: { AssignableItem: [{ '@attributes': { Id: 202, Name: 'Fitness Center Key' } }, { '@attributes': { Id: 203, Name: 'Gate Remote' } }] }, Services: { Service: [{ '@attributes': { Id: 302, Name: 'Package Delivery' } }, { '@attributes': { Id: 303, Name: 'Pet Waste Service' } }] } }, PropertyBuildings: { PropertyBuilding: [{ '@attributes': { Id: 3, Name: 'North Tower' } }, { '@attributes': { Id: 4, Name: 'South Tower' } }] }, PropertyFloorplans: { PropertyFloorplan: [{ '@attributes': { Id: 502, Name: C1 } }, { '@attributes': { Id: 503, Name: D3 } }] }, MoveOutReasons: { MoveOutReason: [{ '@attributes': { Id: 7, SystemCode: TESTING_SYSTEM_CODE_3, Name: 'Financial Reasons' } }, { '@attributes': { Id: 8, SystemCode: TESTING_SYSTEM_CODE_4, Name: Upgrading } }] }, leasePeriods: { leasePeriod: [{ leaseTermId: 9, leaseTermName: '18 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed }, { leaseTermId: 10, leaseTermName: '24 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed }] }, PropertySearchAreas: { SearchAreas: { SearchArea: [{ '@attributes': { Id: 13, CompanySearchAreaId: 101 } }, { '@attributes': { Id: 14, CompanySearchAreaId: 102 } }] } } }] } } } }, getPropertyPickLists-r2-response-example: { summary: 'getPropertyPickLists r2', value: { response: { code: 200, requestId: '15', result: { properties: { property: [{ id: 12345, name: Parkview, unitTypes: { unitType: [{ id: 10, name: '1 Bedroom' }, { id: 11, name: '2 Bedroom' }] }, propertyBuildings: { propertyBuilding: [{ id: 1, name: 'Building A' }, { id: 2, name: 'Building B' }] }, propertyFloorplans: { propertyFloorplan: [{ id: 500, name: A1 }, { id: 501, name: B2 }] }, rentableItems: { rentableItem: [{ id: 100, name: Storage }, { id: 101, name: Parking }] }, assignableItems: { assignableItem: [{ id: 200, name: 'Parking Permit' }, { id: 201, name: 'Pool Access Card' }] }, services: { service: [{ id: 300, name: 'Valet Trash' }, { id: 301, name: Concierge }] }, moveOutTypes: { moveOutType: [{ id: 5, name: 'Move Out' }, { id: 6, name: Transfer }] }, moveOutReasons: { moveOutReason: [{ id: 55, name: 'Job Relocation' }, { id: 56, name: Downsizing }] }, leaseTerms: { leaseTerm: [{ leaseTermId: 7, leaseTermName: '12 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed, webVisible: 1, isActive: 1, leaseStartWindows: { leaseStartWindow: [{ leaseStartWindowId: 900, windowStartDate: '2025-08-01', windowEndDate: '2026-07-31' }, { leaseStartWindowId: 901, windowStartDate: '2026-08-01', windowEndDate: '2027-07-31' }] } }, { leaseTermId: 8, leaseTermName: '6 Months', leaseTermStructureId: 1, leaseTermStructureName: Month-to-Month, webVisible: 1, isActive: 1, leaseStartWindows: { leaseStartWindow: [{ leaseStartWindowId: 902, windowStartDate: '2025-02-01', windowEndDate: '2025-07-31' }, { leaseStartWindowId: 903, windowStartDate: '2025-08-01', windowEndDate: '2026-01-31' }] } }] }, propertySearchAreas: { propertySearchArea: [{ id: 11, companySearchAreaId: 99 }, { id: 12, companySearchAreaId: 100 }] } }, { id: 12346, name: 'Riverside Apartments', unitTypes: { unitType: [{ id: 12, name: Studio }, { id: 13, name: '3 Bedroom' }] }, propertyBuildings: { propertyBuilding: [{ id: 3, name: 'North Tower' }, { id: 4, name: 'South Tower' }] }, propertyFloorplans: { propertyFloorplan: [{ id: 502, name: C1 }, { id: 503, name: D3 }] }, rentableItems: { rentableItem: [{ id: 102, name: 'Bike Storage' }, { id: 103, name: 'Wine Locker' }] }, assignableItems: { assignableItem: [{ id: 202, name: 'Fitness Center Key' }, { id: 203, name: 'Gate Remote' }] }, services: { service: [{ id: 302, name: 'Package Delivery' }, { id: 303, name: 'Pet Waste Service' }] }, moveOutTypes: { moveOutType: [{ id: 7, name: Eviction }, { id: 8, name: Skip }] }, moveOutReasons: { moveOutReason: [{ id: 57, name: 'Financial Reasons' }, { id: 58, name: Upgrading }] }, leaseTerms: { leaseTerm: [{ leaseTermId: 9, leaseTermName: '18 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed, webVisible: 1, isActive: 1, leaseStartWindows: { leaseStartWindow: [{ leaseStartWindowId: 904, windowStartDate: '2025-03-01', windowEndDate: '2026-08-31' }, { leaseStartWindowId: 905, windowStartDate: '2026-03-01', windowEndDate: '2027-08-31' }] } }, { leaseTermId: 10, leaseTermName: '24 Months', leaseTermStructureId: 2, leaseTermStructureName: Fixed, webVisible: 1, isActive: 1, leaseStartWindows: { leaseStartWindow: [{ leaseStartWindowId: 906, windowStartDate: '2025-01-01', windowEndDate: '2026-12-31' }, { leaseStartWindowId: 907, windowStartDate: '2026-01-01', windowEndDate: '2027-12-31' }] } }] }, propertySearchAreas: { propertySearchArea: [{ id: 13, companySearchAreaId: 101 }, { id: 14, companySearchAreaId: 102 }] } }] }, searchAreaStates: { searchAreaState: [{ state: Utah, stateCode: UT, countryCode: US, searchAreas: { searchArea: [{ id: 1, name: 'Salt Lake City' }, { id: 2, name: Provo }] } }, { state: California, stateCode: CA, countryCode: US, searchAreas: { searchArea: [{ id: 3, name: 'Los Angeles' }, { id: 4, name: 'San Francisco' }] } }] }, phoneNumberTypes: { phoneNumberType: [{ id: 1, name: Primary }, { id: 2, name: Secondary }] }, addressTypes: { addressType: [{ id: 1, name: Property }, { id: 2, name: Mailing }] }, amenityReservationStatusTypes: { amenityReservationStatusType: [{ id: 1, name: Approved }, { id: 2, name: Pending }] }, taxNumberTypes: { taxNumberType: [{ id: 1, name: EIN }, { id: 2, name: SSN }] }, companyIdentificationTypes: { companyIdentificationType: [{ id: 1, name: 'Legal Name' }, { id: 2, name: DBA }] }, unitSpaceStatusTypes: { unitSpaceStatusType: [{ id: 1, name: Available }, { id: 2, name: Occupied }] }, genders: { gender: [{ id: 1, name: Male }, { id: 2, name: Female }] }, defaultAmenities: { defaultAmenity: [{ id: 10, name: Pool, amenityTypeId: 1 }, { id: 11, name: 'Fitness Center', amenityTypeId: 1 }] }, amenityTypes: { amenityType: [{ id: 1, name: Community }, { id: 2, name: Unit }] }, academicYears: { academicYear: [{ id: 2025, name: 2025-2026 }, { id: 2026, name: 2026-2027 }] }, mediaTypes: { mediaType: [{ id: 1, name: 'Property Media', mediaSubTypes: { mediaSubType: [{ id: 10, name: Photos }, { id: 11, name: Videos }] } }, { id: 2, name: 'Floorplan Media', mediaSubTypes: { mediaSubType: [{ id: 20, name: '2D Plans' }, { id: 21, name: '3D Renders' }] } }] } } } } }, getRentableItems-r1-response-example: { summary: 'getRentableItems r1', value: { response: { code: 200, requestId: '15', result: { RentableItemTypes: { RentableItemType: [{ Id: 10, Name: Parking, Description: 'Covered parking options', Applications: { Application: [{ Name: Residential }, { Name: Commercial }] }, RentableItemOptions: { RentableItemOption: [{ Id: 100, Name: 'Covered Parking', Description: 'Covered spots near building', AllowFlexibleReservationDates: 1, HasInventory: 1, Rent: { Type: RIO, ChargeCode: 'Parking Rent', Amount: $50.00 }, Deposit: { Type: RIO, ChargeCode: 'Parking Deposit', Amount: $100.00 }, ReservationFee: { Type: RIO, ChargeCode: 'Reservation Fee', Amount: $25.00 }, RentableItems: { RentableItem: [{ Id: 10001, Name: 'Spot A-1', Availability: Available, AvailableOn: '2025-01-15', ReservationStartDate: '2025-01-20', ReservationEndDate: '2025-02-20', HoldUntil: '2025-01-18', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Parking Rent', Amount: $50.00 }, Deposit: { Type: RI, ChargeCode: 'Parking Deposit', Amount: $100.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $25.00 } }, { Id: 10002, Name: 'Spot A-2', Availability: Reserved, AvailableOn: '2025-02-01', ReservationStartDate: '2025-02-01', ReservationEndDate: '2025-03-01', HoldUntil: '2025-01-25', WebsiteAvailibility: 0, Rent: { Type: RI, ChargeCode: 'Parking Rent', Amount: $55.00 }, Deposit: { Type: RI, ChargeCode: 'Parking Deposit', Amount: $110.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $30.00 } }] } }, { Id: 101, Name: 'Open Parking', Description: 'Uncovered outdoor parking', AllowFlexibleReservationDates: 0, HasInventory: 1, Rent: { Type: RIO, ChargeCode: 'Open Parking Rent', Amount: $30.00 }, Deposit: { Type: RIO, ChargeCode: 'Open Parking Deposit', Amount: $50.00 }, ReservationFee: { Type: RIO, ChargeCode: 'Reservation Fee', Amount: $15.00 }, RentableItems: { RentableItem: [{ Id: 10003, Name: 'Spot B-1', Availability: Available, AvailableOn: '2025-01-10', ReservationStartDate: '2025-01-15', ReservationEndDate: '2025-02-15', HoldUntil: '2025-01-12', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Open Parking Rent', Amount: $30.00 }, Deposit: { Type: RI, ChargeCode: 'Open Parking Deposit', Amount: $50.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $15.00 } }, { Id: 10004, Name: 'Spot B-2', Availability: Available, AvailableOn: '2025-01-12', ReservationStartDate: '2025-01-18', ReservationEndDate: '2025-02-18', HoldUntil: '2025-01-15', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Open Parking Rent', Amount: $32.00 }, Deposit: { Type: RI, ChargeCode: 'Open Parking Deposit', Amount: $55.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $18.00 } }] } }] } }, { Id: 11, Name: Storage, Description: 'Storage unit options', Applications: { Application: [{ Name: Residential }, { Name: 'Student Housing' }] }, RentableItemOptions: { RentableItemOption: [{ Id: 200, Name: 'Small Storage Unit', Description: '5x5 climate controlled unit', AllowFlexibleReservationDates: 1, HasInventory: 1, Rent: { Type: RIO, ChargeCode: 'Storage Rent', Amount: $40.00 }, Deposit: { Type: RIO, ChargeCode: 'Storage Deposit', Amount: $75.00 }, ReservationFee: { Type: RIO, ChargeCode: 'Reservation Fee', Amount: $20.00 }, RentableItems: { RentableItem: [{ Id: 20001, Name: 'Unit S-101', Availability: Available, AvailableOn: '2025-01-20', ReservationStartDate: '2025-01-25', ReservationEndDate: '2025-02-25', HoldUntil: '2025-01-22', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Storage Rent', Amount: $40.00 }, Deposit: { Type: RI, ChargeCode: 'Storage Deposit', Amount: $75.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $20.00 } }, { Id: 20002, Name: 'Unit S-102', Availability: Reserved, AvailableOn: '2025-02-10', ReservationStartDate: '2025-02-10', ReservationEndDate: '2025-03-10', HoldUntil: '2025-02-05', WebsiteAvailibility: 0, Rent: { Type: RI, ChargeCode: 'Storage Rent', Amount: $42.00 }, Deposit: { Type: RI, ChargeCode: 'Storage Deposit', Amount: $80.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $22.00 } }] } }, { Id: 201, Name: 'Large Storage Unit', Description: '10x10 climate controlled unit', AllowFlexibleReservationDates: 0, HasInventory: 1, Rent: { Type: RIO, ChargeCode: 'Storage Rent', Amount: $80.00 }, Deposit: { Type: RIO, ChargeCode: 'Storage Deposit', Amount: $150.00 }, ReservationFee: { Type: RIO, ChargeCode: 'Reservation Fee', Amount: $35.00 }, RentableItems: { RentableItem: [{ Id: 20003, Name: 'Unit L-201', Availability: Available, AvailableOn: '2025-01-18', ReservationStartDate: '2025-01-22', ReservationEndDate: '2025-02-22', HoldUntil: '2025-01-20', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Storage Rent', Amount: $80.00 }, Deposit: { Type: RI, ChargeCode: 'Storage Deposit', Amount: $150.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $35.00 } }, { Id: 20004, Name: 'Unit L-202', Availability: Available, AvailableOn: '2025-01-25', ReservationStartDate: '2025-02-01', ReservationEndDate: '2025-03-01', HoldUntil: '2025-01-28', WebsiteAvailibility: 1, Rent: { Type: RI, ChargeCode: 'Storage Rent', Amount: $85.00 }, Deposit: { Type: RI, ChargeCode: 'Storage Deposit', Amount: $160.00 }, ReservationFee: { Type: RI, ChargeCode: 'Reservation Fee', Amount: $38.00 } }] } }] } }] } } } } }, getWebsites-r1-response-example: { summary: 'getWebsites r1', value: { response: { code: 200, requestId: '15', result: { websites: { website: [{ id: 1001, name: 'Parkview Main', subdomain: parkview, websiteProperties: { websiteProperty: [{ propertyId: 12345, propertyName: Parkview }] }, websiteDomains: { websiteDomain: [{ domain: www.parkviewapts.com, isPrimary: 1, isSecure: 1 }] } }] } } } } }, getAmenities-r1-request-example: { summary: 'getAmenities r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getAmenities, version: r1, params: { propertyId: 1234, unitNumber: 101A, chargeCodeTypeIds: '1,2,3,4' } } } }, getMitsPropertyUnits-r1-request-example: { summary: 'getMitsPropertyUnits r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getMitsPropertyUnits, version: r1, params: { propertyIds: '1234,5678', availableUnitsOnly: 1, usePropertyPreferences: 1, includeDisabledFloorplans: 0, showUnitSpaces: 1, includeDisabledUnits: 0 } } } }, getPropertyUnits-r1-request-example: { summary: 'getPropertyUnits r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getPropertyUnits, version: r1, params: { propertyIds: '1234,5678', availableUnitsOnly: 1, usePropertyPreferences: 1, includeDisabledFloorplans: 0, includeDisabledUnits: 0, skipPricing: 0 } } } }, getSpecials-r1-request-example: { summary: 'getSpecials r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getSpecials, version: r1, params: { propertyId: 1234 } } } }, getSpecials-r2-request-example: { summary: 'getSpecials r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getSpecials, version: r2, params: { propertyId: 1234 } } } }, getSpecials-r3-request-example: { summary: 'getSpecials r3', value: { auth: { type: apikey }, requestId: '15', method: { name: getSpecials, version: r3, params: { propertyId: 1234 } } } }, getSpecials-r4-request-example: { summary: 'getSpecials r4', value: { auth: { type: apikey }, requestId: '15', method: { name: getSpecials, version: r4, params: { propertyId: 1234 } } } }, getUnitsAvailabilityAndPricing-r1-request-example: { summary: 'getUnitsAvailabilityAndPricing r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getUnitsAvailabilityAndPricing, version: r1, params: { propertyId: 1234, floorplanId: 5001, unitTypeId: 4001, propertyUnitId: 6001, availableUnitsOnly: 1, showChildProperties: 0, moveInStartDate: 02/01/2024, moveInEndDate: 02/28/2024, daysFromAvailableOnDate: 30, includeDisabledFloorplans: 0, showUnitSpaces: 1, includeDisabledUnits: 0, allowLeaseExpirationOverride: 0, useSpaceConfiguration: 1, skipPricing: 0, unavailableUnitsOnly: 0 } } } }, getUnitTypes-r1-request-example: { summary: 'getUnitTypes r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getUnitTypes, version: r1, params: { propertyId: 1234 } } } }, sendAmenities-r1-request-example: { summary: 'sendAmenities r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendAmenities, version: r1, params: { propertyId: 1234, propertyAmenities: { propertyAmenity: [{ name: 'Swimming Pool', description: 'Outdoor swimming pool with lounge area', isPublished: 1 }, { name: 'Fitness Center', description: '24/7 fitness center with modern equipment', isPublished: 1 }] }, unitAmenities: { unitAmenity: [{ unitSpaceId: 7001, name: Dishwasher, description: 'Built-in dishwasher', isPublished: 1 }, { unitSpaceId: 7002, name: 'In-Unit Washer/Dryer', description: 'Full-size washer and dryer in unit', isPublished: 1 }] } } } } }, sendPropertyUnits-r1-request-example: { summary: 'sendPropertyUnits r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendPropertyUnits, version: r1, params: { propertyId: 1234, units: { unit: [{ unitNumber: 101A, unitPrefix: Bldg1-, unitSuffix: '-A', unitTypeId: 4001, propertyBuildingId: 1001, propertyFloorplanId: 5001, propertyFloorId: 2001, spaceNumber: A, spaceConfigurationId: 6001, maxOccupants: 4, maxPets: 2, numberOfBedRooms: 1, numberOfBathRooms: 1, squareFeet: 750, note: 'Recently renovated unit', marketingNumber: A101, isShowOnWebsite: 1, unitSpaceStatusTypeId: 4001, availableOn: '2024-02-01', makeReadyDate: '2024-01-25', isFurnished: 0, countryCode: US, streetLine1: '123 Main Street', streetLine2: 'Apt 101', city: 'San Francisco', stateCode: ca, postalCode: 94102, amenityIds: '1001,1002', specialIds: '2001', leaseTermId: 5001, termStartDate: '2024-02-01', termEndDate: '2024-07-31' }, { unitNumber: 102A, unitPrefix: Bldg1-, unitSuffix: '-A', unitTypeId: 4001, propertyBuildingId: 1001, propertyFloorplanId: 5001, propertyFloorId: 2001, spaceNumber: A, spaceConfigurationId: 6001, maxOccupants: 2, maxPets: 1, numberOfBedRooms: 1, numberOfBathRooms: 1, squareFeet: 800, marketingNumber: A102, isShowOnWebsite: 1, unitSpaceStatusTypeId: 4001, availableOn: '2024-02-15', makeReadyDate: '2024-02-10', isFurnished: 1, countryCode: US, streetLine1: '123 Main Street', streetLine2: 'Apt 102', city: 'San Francisco', stateCode: ca, postalCode: 94102, amenityIds: '1001,1003', specialIds: '2002', leaseTermId: 5001, termStartDate: '2024-02-15', termEndDate: '2024-08-14' }] } } } } }, sendSpecialGroup-r1-request-example: { summary: 'sendSpecialGroup r1', value: { auth: { type: apikey }, requestId: '15', method: { name: sendSpecialGroup, version: r1, params: { propertyId: 1234, specialGroup: { specialGroupName: 'Summer Special 2024', internalDescription: 'Q1 promotional campaign', isActive: 1, isWebVisible: 1, startDate: '2024-06-01', endDate: '2024-08-31', hideEndDate: 0, marketingDescription: 'Limited time summer special offer', termsAndConditions: 'Terms and conditions apply. Subject to availability.', isAdvertised: 1, moveInDateFrom: '2024-06-01', moveInDateTo: '2024-08-31', renewalStartDateFrom: '2024-06-01', renewalStartDateTo: '2024-08-31', limitQuantity: 1, quantityBudgeted: 50, couponCode: SUMMER2024, leadSourceId: 1001, incentiveLimit: 0, isSelectable: 1, floorPlanIds: '5001,5002,5003', unitTypeIds: '6001,6002', unitSpaceIds: '7001,7002,7003', leaseTermDetails: [{ leaseTermId: 8001 }, { leaseTermId: 8002 }], specialRecipientDetails: { specialTriggerTypeIdProspect: 9001, specialTriggerTypeIdRenewal: 9002, specialRecipientIds: '1,2' }, specialGroupSpaceConfigurationIds: '11001,11002', specials: [{ specialTypeId: 1, specialName: 'First Month Free', rates: [{ arCodeId: 12001, arTriggerId: 13001, arCodeTypeId: 14001, customerRelationshipId: 1, leaseTermId: 8001, leaseTermMonth: 12, leaseStartWindowId: 1, windowStartDate: '2024-08-01', windowEndDate: '2024-08-31', arFormulaId: 1, rateIntervalStart: 1, rateAmount: -1200, rateIncreaseIncrement: 0, arFormulaReferenceId: 1, spaceConfigurationId: 0, showInEntrata: 1, showOnWebsite: 1 }, { arCodeId: 12002, arTriggerId: 13002, arCodeTypeId: 14002, customerRelationshipId: 1, leaseTermId: 8002, leaseTermMonth: 6, leaseStartWindowId: 2, windowStartDate: '2024-08-15', windowEndDate: '2024-09-15', arFormulaId: 1, rateIntervalStart: 1, rateAmount: -600, rateIncreaseIncrement: 0, arFormulaReferenceId: 1, spaceConfigurationId: 0, showInEntrata: 1, showOnWebsite: 1 }] }, { specialTypeId: 2, specialName: 'Move-In Gift Card', giftValue: 500 }] } } } } }, updateAmenities-r1-request-example: { summary: 'updateAmenities r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateAmenities, version: r1, params: { propertyId: 1234, propertyAmenities: { propertyAmenity: [{ id: 1001, name: 'Updated Pool Access', description: 'Updated description for pool access', isPublished: 1, isFeatured: 0, showOnQuote: 1, hideDescription: 0, videoUrl: 'https://example.com/videos/pool-tour.mp4', defaultAmenityId: 500, amenityTypeId: 2 }, { id: 1002, name: 'Updated Gym Access', description: 'Updated description for gym access', isPublished: 0, isFeatured: 1, showOnQuote: 0, hideDescription: 1, videoUrl: 'https://example.com/videos/gym-facility.mp4', defaultAmenityId: 505, amenityTypeId: 2 }] }, unitTypeAmenities: { unitTypeAmenity: [{ id: 2001, name: 'Updated Balcony', description: 'Updated description for balcony', isPublished: 1, isFeatured: 0, hideDescription: 0, videoUrl: 'https://example.com/videos/balcony-view.mp4', defaultAmenityId: 501, amenityTypeId: 1, associatedUnitTypeIds: [101, 102] }, { id: 2002, name: 'Updated Patio', description: 'Updated description for patio space', isPublished: 0, isFeatured: 1, hideDescription: 1, videoUrl: 'https://example.com/videos/patio-area.mp4', defaultAmenityId: 506, amenityTypeId: 1, associatedUnitTypeIds: [103, 104] }] }, floorplanAmenities: { floorplanAmenity: [{ id: 3001, name: 'Updated Hardwood Floors', description: 'Updated description for hardwood floors', isPublished: 1, isFeatured: 1, hideDescription: 0, videoUrl: 'https://example.com/videos/hardwood-tour.mp4', defaultAmenityId: 502, amenityTypeId: 1, associatedFloorplanIds: [201, 202] }, { id: 3002, name: 'Updated Granite Countertops', description: 'Updated description for granite countertops', isPublished: 0, isFeatured: 0, hideDescription: 1, videoUrl: 'https://example.com/videos/kitchen-granite.mp4', defaultAmenityId: 507, amenityTypeId: 1, associatedFloorplanIds: [203, 204] }] }, unitSpaceAmenities: { unitSpaceAmenity: [{ id: 4001, name: 'Updated Walk-in Closet', description: 'Updated description for walk-in closet', isPublished: 1, isFeatured: 0, showOnQuote: 1, hideDescription: 0, videoUrl: 'https://example.com/videos/closet-feature.mp4', defaultAmenityId: 503, amenityTypeId: 1, associatedUnitSpaceIds: [301, 302] }, { id: 4002, name: 'Updated Bay Windows', description: 'Updated description for bay windows', isPublished: 0, isFeatured: 1, showOnQuote: 0, hideDescription: 1, videoUrl: 'https://example.com/videos/bay-windows.mp4', defaultAmenityId: 508, amenityTypeId: 1, associatedUnitSpaceIds: [303, 304] }] } } } } }, updateSpecialGroup-r1-request-example: { summary: 'updateSpecialGroup r1', value: { auth: { type: apikey }, requestId: '15', method: { name: updateSpecialGroup, version: r1, params: { propertyId: 1234, specialGroup: { specialGroupId: 15001, isDeleted: 0, specialGroupName: 'Updated Summer Special 2024', internalDescription: 'Updated Q2 promotional campaign', isActive: 1, isWebVisible: 1, startDate: '2024-06-01', endDate: '2024-09-30', hideEndDate: 0, marketingDescription: 'Updated limited time summer special offer', termsAndConditions: 'Updated terms and conditions apply. Subject to availability.', isAdvertised: 1, moveInDateFrom: '2024-06-01', moveInDateTo: '2024-09-30', renewalStartDateFrom: '2024-06-01', renewalStartDateTo: '2024-09-30', limitQuantity: 1, quantityBudgeted: 75, couponCode: SUMMER2024, leadSourceId: 1001, incentiveLimit: 0, isSelectable: 1, floorPlanIds: '5001,5002,5003', unitTypeIds: '6001,6002', unitSpaceIds: '7001,7002,7003', leaseTermDetails: [{ leaseTermId: 8001 }, { leaseTermId: 8002 }], specialRecipientDetails: { specialTriggerTypeIdProspect: 9001, specialTriggerTypeIdRenewal: 9002, specialRecipientIds: '1,2' }, specialGroupSpaceConfigurationIds: '11001,11002', specials: [{ specialId: 20001, specialTypeId: 1, specialName: 'Updated First Month Free', rates: [{ arCodeId: 12001, arTriggerId: 13001, arCodeTypeId: 14001, customerRelationshipId: 1, leaseTermId: 8001, leaseTermMonth: 12, leaseStartWindowId: 1, windowStartDate: '2024-08-01', windowEndDate: '2024-08-31', arFormulaId: 1, rateIntervalStart: 1, rateAmount: -1500, rateIncreaseIncrement: 0, arFormulaReferenceId: 1, spaceConfigurationId: 0, showInEntrata: 1, showOnWebsite: 1 }, { arCodeId: 12002, arTriggerId: 13002, arCodeTypeId: 14002, customerRelationshipId: 1, leaseTermId: 8002, leaseTermMonth: 6, leaseStartWindowId: 2, windowStartDate: '2024-08-15', windowEndDate: '2024-09-15', arFormulaId: 1, rateIntervalStart: 1, rateAmount: -750, rateIncreaseIncrement: 0, arFormulaReferenceId: 1, spaceConfigurationId: 0, showInEntrata: 1, showOnWebsite: 1 }] }, { specialId: 20002, specialTypeId: 2, specialName: 'Updated Move-In Gift Card', giftValue: 600 }] } } } } }, getAmenities-r1-response-example: { summary: 'getAmenities r1', value: { response: { requestId: '15', code: 200, result: { Amenities: { currencyCode: USD, PropertyAmenities: { Amenity: [{ '@attributes': { Id: 1001, ExternalId: EXT-1001, IsOptional: 1, IsPublished: 1, IsFeatured: 0, HideRates: 0, AmenityType: Community, ILSAmenityName: Pool }, Name: 'Swimming Pool', ImageUrl: 'https://example.com/images/pool.jpg', Description: 'Outdoor swimming pool with lounge area', Rates: { Rate: [{ '@attributes': { ArCodeId: 5001, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '25.00', IsPublished: 1, IsActive: 1, LeaseTermId: 3001, LeaseStartWindowId: 4001 } }, { '@attributes': { ArCodeId: 5002, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '30.00', IsPublished: 1, IsActive: 1, LeaseTermId: 3002, LeaseStartWindowId: 4002 } }] } }, { '@attributes': { Id: 1005, IsOptional: 0, IsPublished: 1, IsFeatured: 1, HideRates: 0, AmenityType: Community, ILSAmenityName: FitnessCenter }, Name: 'Fitness Center', ImageUrl: 'https://example.com/images/fitness.jpg', Description: '24/7 fitness center with modern equipment', Rates: { Rate: [{ '@attributes': { ArCodeId: 5010, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '0.00', IsPublished: 1, IsActive: 1 } }] } }] }, UnitAmenities: { Amenity: [{ '@attributes': { Id: 1002, IsStandardAmenity: '0', AmenityType: Apartment, ILSAmenityName: Dishwasher }, Name: Dishwasher, ImageUrl: 'https://example.com/images/dishwasher.jpg', Description: 'Built-in dishwasher', Units: { Unit: [{ '@attributes': { PropertyUnitId: 5001, UnitSpaceId: 7001, ExternalId: EXT-5001, IsPublished: 1, IsFeatured: 0, HideRates: 0, ShowDescription: 1 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5020, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '0.00', IsPublished: 1, IsActive: 1, LeaseTermId: 3001, LeaseStartWindowId: 4001 } }] } }, { '@attributes': { PropertyUnitId: 5002, UnitSpaceId: 7002, IsPublished: 1, IsFeatured: 0, HideRates: 0, ShowDescription: 1 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5021, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '0.00', IsPublished: 1, IsActive: 1 } }] } }] } }] }, FloorplanAmenities: { Amenity: [{ '@attributes': { Id: 1003, IsStandardAmenity: '0', AmenityType: Apartment, ILSAmenityName: HardwoodFloors }, Name: 'Hardwood Floors', ImageUrl: 'https://example.com/images/hardwood.jpg', Description: 'Premium hardwood flooring', Floorplans: { Floorplan: [{ '@attributes': { PropertyFloorplanId: 3001, ExternalId: EXT-3001, IsOptional: 1, IsPublished: 1, IsFeatured: 0 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5030, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '0.00', IsPublished: 1, IsActive: 1, LeaseTermId: 3001, LeaseStartWindowId: 4001 } }] } }, { '@attributes': { PropertyFloorplanId: 3002, IsOptional: 0, IsPublished: 1, IsFeatured: 0 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5031, ArCodeTypeId: 3, ChargeTypeId: 1, Amount: '0.00', IsPublished: 1, IsActive: 1 } }] } }] } }] }, UnitTypeAmenities: { Amenity: [{ '@attributes': { Id: 1004, IsStandardAmenity: '0', AmenityType: Apartment, ILSAmenityName: Balcony }, Name: Balcony, ImageUrl: 'https://example.com/images/balcony.jpg', Description: 'Private balcony with city view', Units: { Unit: [{ '@attributes': { PropertyUnitId: 5001, ExternalId: EXT-5001, IsOptional: 1, IsPublished: 1, IsFeatured: 0 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5040, ChargeTypeId: 1, Amount: '50.00' } }] } }, { '@attributes': { PropertyUnitId: 5002, ExternalId: EXT-5002, IsOptional: 0, IsPublished: 1, IsFeatured: 1 }, Rates: { Rate: [{ '@attributes': { ArCodeId: 5041, ChargeTypeId: 1, Amount: '45.00' } }] } }] } }] } } } } } }, getMitsPropertyUnits-r1-response-example: { summary: 'getMitsPropertyUnits r1', value: { response: { requestId: '15', code: 200, result: { PhysicalProperty: { Management: { Identification: { IDValue: 1001, OrganizationName: 'Sample Property Management' }, PropertyContacts: { Companies: { Identification: { IDValue: 1001 }, CompanyName: 'Sample Property Management', WebSite: 'https://www.samplepm.com' } } }, Property: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 1234 }, PropertyID: { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 1234, OrganizationName: PROP-1234 }, MarketingName: 'Sample Apartment Complex', LegalName: 'Sample Apartment Complex LLC', currencyCode: USD, WebSite: 'https://www.sampleapartments.com', Address: { '@attributes': { AddressType: property }, Address: '123 Main Street', City: Anytown, State: CA, PostalCode: '12345', Country: US, Email: info@samplepm.com }, Phone: [{ '@attributes': { PhoneType: office }, PhoneNumber: '5551234567', PhoneDescription: Office }, { '@attributes': { PhoneType: other }, PhoneNumber: '5551234568', PhoneDescription: Maintenance, Extension: '100' }] }, ILS_Identification: { '@attributes': { ILS_IdentificationType: Apartment, RentalType: Unspecified }, Latitude: 37.7749, Longitude: -122.4194, DaylightSaving: true, TimeZone: America/Los_Angeles }, Information: { StructureType: Apartment, BuildingCount: 3, UnitCount: 150, YearBuilt: 2015, YearRemodeled: 2020, OfficeHour: [{ Day: Monday, OpenTime: '09:00 AM', CloseTime: '05:00 PM' }, { Day: Tuesday, OpenTime: '09:00 AM', CloseTime: '05:00 PM' }, { Day: Wednesday, OpenTime: '09:00 AM', CloseTime: '06:00 PM' }], ShortDescription: 'Luxury apartments in downtown', LongDescription: 'Experience luxury living in our beautifully appointed apartments featuring modern amenities and convenient location.', LeaseLength: '6 months, 12 months, 18 months', DrivingDirections: 'Take I-80 East to Exit 12, turn left on Main Street', PropertyAvailabilityURL: 'https://www.samplepm.com/anytown-ca/sample-apartment-complex' }, Fee: { ApplicationFee: [{ '@attributes': { Type: 'Application Fee', Amount: 50 } }, { '@attributes': { Type: 'Administrative Fee', Amount: 150 } }] }, Concession: [{ '@attributes': { Active: 1 }, Value: 500, Term: 12, DescriptionHeader: 'Move-in Special', DescriptionBody: 'Get $500 off first month rent', DescriptionFooter: 'Valid for 12-month leases only' }, { '@attributes': { Active: 1 }, Value: 1000, Term: 18, DescriptionHeader: 'Extended Lease Bonus', DescriptionBody: 'Sign an 18-month lease and save', DescriptionFooter: 'Limited time offer' }], Amenity: [{ '@attributes': { AmenityType: Community }, Description: 'Swimming Pool' }, { '@attributes': { AmenityType: Community }, Description: 'Fitness Center' }, { '@attributes': { AmenityType: Parking }, Description: 'Covered Parking' }], Policy: { Pet: [{ '@attributes': { Allowed: 'true' }, Pets: { '@attributes': { Count: 2, Description: 'Small dogs and cats welcome', PetType: Dog, Weight: 50 } }, Deposit: 300, Fee: 250, Rent: 25, PetCare: 'true' }, { '@attributes': { Allowed: 'true' }, Pets: { '@attributes': { Count: 2, Description: 'Cats of all sizes welcome', PetType: Cat, Weight: 0 } }, Deposit: 200, Fee: 150, Rent: 20, PetCare: 'false' }], General: 'Parking available for $50/month. Smoking prohibited in all units.' }, Building: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 101, OrganizationName: BLDG-101 }, BuildingType: Garden, Name: 'Building A', Description: 'Modern garden-style building with elevator access', UnitCount: 24, SquareFeet: 18000, File: { '@attributes': { FileID: 4001, Active: 'true' }, FileType: Photo, Description: 'Building exterior view', Name: building_a_exterior.jpg, Caption: 'Building A Exterior', Format: jpg, Src: 'https://media.samplepm.com/buildings/building_a_exterior.jpg', Width: '1920', Height: '1080', Rank: 1 } }, { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 102, OrganizationName: BLDG-102 }, BuildingType: Townhouse, Name: 'Building B', Description: 'Three-story townhouse building with attached garages', UnitCount: 18, SquareFeet: 15000, File: { '@attributes': { FileID: 4002, Active: 'true' }, FileType: Photo, Description: 'Townhouse building view', Name: building_b_townhouse.jpg, Caption: 'Building B Townhouse', Format: jpg, Src: 'https://media.samplepm.com/buildings/building_b_townhouse.jpg', Width: '1920', Height: '1080', Rank: 2 } }], Floorplan: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5001, OrganizationName: FP-5001 }, Name: '1 Bedroom', Comment: 'Spacious 1 bedroom with balcony', UnitCount: 45, UnitsAvailable: 5, DisplayedUnitsAvailable: 3, FloorCount: 1, TotalRoomCount: 4, FloorplanAvailabilityURL: 'https://www.samplepm.com/floorplans/1-bedroom-5001', Room: [{ '@attributes': { RoomType: Bedroom }, Count: 1, Description: 'Master Bedroom', Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Count: 1, Description: 'Full Bathroom', Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 750, Min: 700, Max: 800 } }, MarketRent: { '@attributes': { Min: 1200, Max: 1400 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Min: $1200.00, Max: $1400.00 } } } }, Amenity: [{ '@attributes': { AmenityType: Balcony }, Description: 'Private Balcony' }], File: [{ '@attributes': { FileID: 2001, Active: 'true' }, FileType: Floorplan, Description: '2D Floor Plan', Name: floorplan_1bed.jpg, Caption: '1 Bedroom Layout', Format: jpg, Src: 'https://cdn.example.com/floorplans/1bed.jpg', Width: 1920, Height: 1080, Rank: 1 }] }, { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5002, OrganizationName: FP-5002 }, Name: '2 Bedroom', Comment: 'Large 2 bedroom with den', UnitCount: 60, UnitsAvailable: 8, DisplayedUnitsAvailable: 5, FloorCount: 1, TotalRoomCount: 6, FloorplanAvailabilityURL: 'https://www.samplepm.com/floorplans/2-bedroom-5002', Room: [{ '@attributes': { RoomType: Bedroom }, Count: 2, Description: 'Two Bedrooms', Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Count: 2, Description: 'Two Full Bathrooms', Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 1100, Min: 1050, Max: 1150 } }, MarketRent: { '@attributes': { Min: 1600, Max: 1900 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Min: $1600.00, Max: $1900.00 } } } }, Concession: [{ '@attributes': { Active: 1 }, Value: 750, Term: 18, DescriptionHeader: 'Two Months Free', DescriptionBody: 'Get two months rent free on 18-month lease', DescriptionFooter: 'New residents only, expires end of month' }], Amenity: [{ '@attributes': { AmenityType: Balcony }, Description: 'Large Balcony' }, { '@attributes': { AmenityType: WalkInCloset }, Description: 'Walk-in Closet' }], File: [{ '@attributes': { FileID: 2002, Active: 'true' }, FileType: Floorplan, Description: '2D Floor Plan', Name: floorplan_2bed.jpg, Caption: '2 Bedroom Layout', Format: jpg, Src: 'https://cdn.example.com/floorplans/2bed.jpg', Width: 1920, Height: 1080, Rank: 1 }, { '@attributes': { FileID: 2003, Active: 'true' }, FileType: Photo, Description: '3D Rendering', Name: floorplan_2bed_3d.jpg, Caption: '2 Bedroom 3D View', Format: jpg, Src: 'https://cdn.example.com/floorplans/2bed_3d.jpg', Width: 1920, Height: 1080, Rank: 2 }] }], ILS_Unit: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDType: UnitSpaceID, IDValue: 7001, OrganizationName: SPACE-7001 }, Units: { Unit: { '@attributes': { BuildingId: 101, FloorPlanId: 5001 }, Identification: { '@attributes': { IDType: UnitID, IDScopeType: sender, IDRank: primary }, IDValue: 6001 }, MarketingName: 101A, UnitType: '1 Bedroom', UnitBedrooms: 1, UnitBathrooms: 1, MinSquareFeet: 750, MaxSquareFeet: 750, SquareFootType: internal, UnitRent: 1250, MarketRent: 1250, UnitOccupancyStatus: vacant, UnitEconomicStatus: residential, NumberOccupants: { '@attributes': { Total: 2 } }, FloorplanName: '1 Bedroom', BuildingName: 'Building A', Address: { '@attributes': { AddressType: property }, Address: '123 Main Street, Unit 101A', City: Anytown, State: CA, PostalCode: '12345', Country: US } } }, Comment: 'Corner unit with great views', EffectiveRent: 1200, FloorLevel: 1, Affordable: { '@attributes': { Type: 'Section 8' } }, Availability: { VacateDate: { '@attributes': { Month: '12', Day: '15', Year: '2025' } }, MadeReadyDate: { '@attributes': { Month: '01', Day: '15', Year: '2026' } }, VacancyClass: Unoccupied, UnitAvailabilityURL: 'https://www.samplepm.com/anytown-ca/sample-apartment-complex/floorplans/1-bedroom-5001/fp_name/occupancy_type/conventional' }, Concession: [{ '@attributes': { Active: 1 }, Value: 500, Term: 12, DescriptionHeader: 'Move-in Special', DescriptionBody: "Get $500 off your first month's rent", DescriptionFooter: 'Valid for 12-month leases only' }], Amenity: [{ '@attributes': { AmenityType: Washer/Dryer }, Description: 'In-Unit Washer/Dryer' }, { '@attributes': { AmenityType: Balcony }, Description: 'Private Balcony' }], File: { '@attributes': { FileID: 8001, Active: 'true' }, FileType: Photo, Description: 'Corner unit view', Name: unit_101a.jpg, Caption: 'Beautiful corner unit', Format: jpg, Src: 'https://cdn.example.com/units/101a.jpg', Width: 1920, Height: 1080, Rank: 1 } }, { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDType: UnitSpaceID, IDValue: 7002, OrganizationName: SPACE-7002 }, Units: { Unit: { '@attributes': { BuildingId: 102, FloorPlanId: 5002 }, Identification: { '@attributes': { IDType: UnitID, IDScopeType: sender, IDRank: primary }, IDValue: 6002 }, MarketingName: 102B, UnitType: '2 Bedroom', UnitBedrooms: 2, UnitBathrooms: 2, MinSquareFeet: 1100, MaxSquareFeet: 1100, SquareFootType: internal, UnitRent: 1750, MarketRent: 1750, UnitOccupancyStatus: vacant, UnitEconomicStatus: residential, NumberOccupants: { '@attributes': { Total: 4 } }, FloorplanName: '2 Bedroom', BuildingName: 'Building B', Address: { '@attributes': { AddressType: property }, Address: '123 Main Street, Unit 102B', City: Anytown, State: CA, Province: California, PostalCode: '12345', Country: US } } }, Comment: 'Spacious 2-bedroom with modern finishes', EffectiveRent: 1700, FloorLevel: 2, Availability: { VacateDate: { '@attributes': { Month: '01', Day: '01', Year: '2026' } }, MadeReadyDate: { '@attributes': { Month: '02', Day: '01', Year: '2026' } }, VacancyClass: Unoccupied, UnitAvailabilityURL: 'https://www.samplepm.com/anytown-ca/sample-apartment-complex/floorplans/2-bedroom-5002/fp_name/occupancy_type/conventional' }, Concession: [{ '@attributes': { Active: 1 }, Value: 1000, Term: 18, DescriptionHeader: 'Extended Lease Bonus', DescriptionBody: 'Sign an 18-month lease and save $1000', DescriptionFooter: 'Limited time offer' }], Amenity: [{ '@attributes': { AmenityType: Fireplace }, Description: 'Gas Fireplace' }, { '@attributes': { AmenityType: Storage }, Description: 'Extra Storage Space' }], File: { '@attributes': { FileID: 8002, Active: 'true' }, FileType: Photo, Description: '2-bedroom unit interior', Name: unit_102b.jpg, Caption: 'Spacious living area', Format: jpg, Src: 'https://cdn.example.com/units/102b.jpg', Width: 1920, Height: 1080, Rank: 1 } }], Utility: { '@attributes': { MajorUtility: Unspecified }, Electric: { '@attributes': { isPublished: 'true', ResidentIsResponsible: 'true' } }, Gas: { '@attributes': { isPublished: 'true', ResidentIsResponsible: 'true' } }, Water: { '@attributes': { isPublished: 'true', ResidentIsResponsible: 'false' } }, Trash: { '@attributes': { isPublished: 'true', ResidentIsResponsible: 'false' } }, Sewer: { '@attributes': { isPublished: 'true', ResidentIsResponsible: 'false' } } }, File: [{ '@attributes': { FileID: 3001, Active: 'true' }, FileType: Photo, Name: property_exterior.jpg, Format: jpg, Description: 'Exterior view of property', Caption: 'Beautiful exterior', Src: 'https://cdn.example.com/property/exterior.jpg', Width: '1920', Height: '1080', Rank: 1, sortRank: 1 }, { '@attributes': { FileID: 3002, Active: 'true' }, FileType: Photo, Name: property_pool.jpg, Format: jpg, Description: 'Pool area', Caption: 'Resort-style pool', Src: 'https://cdn.example.com/property/pool.jpg', Width: '1920', Height: '1080', Rank: 2, sortRank: 2 }] }] } } } } }, getPropertyUnits-r1-response-example: { summary: 'getPropertyUnits r1', value: { response: { requestId: '15', code: 200, result: { properties: [{ propertyId: 1234, propertyName: 'Sample Apartment Complex', currencyCode: USD, remotePrimaryKey: EXT-PROP-1234, parentPropertyId: 100, buildingCount: 5, unitCount: 250, propertyAvailabilityURL: 'https://example.com/sample-apartment-complex', units: { unit: [{ id: 6001, remotePrimaryKey: EXT-UNIT-101A, unitNumber: 101A, unitTypeId: 5, unitTypeName: Standard, floorPlanId: 5001, floorplanName: '1 Bedroom A', buildingId: 301, buildingName: 'Building A', floorId: 401, floorNumber: '1', numberOfBedrooms: 1, numberOfBathrooms: 1, SquareFeet: '750', maxNumberOccupants: 2, maxNumberOfPets: 2, isCorporateRented: '0', isFurnished: '0', comment: 'Recently renovated with new appliances', unitAddress: { address: '123 Main Street, Apt 101A', city: Anytown, state: CA, province: Ontario, postalCode: '12345', country: US }, unitSpaces: { unitSpace: [{ unitSpaceId: 7001, unitNumber: 101A, marketingUnitNumber: A101, isAffordable: 0, hasPricing: 1, excludedReason: 'Under Renovation', makeReadyDate: '2024-02-15', spaceConfiguration: 'Standard Configuration', rent: { termRent: [{ leaseTermId: 3001, leaseTerm: '12 Months', leaseTermName: '12 Month Lease', isBestPrice: '1', spaceOptionId: 12, spaceOption: 'Standard Configuration', startDate: '2024-02-01', endDate: '2025-01-31', rent: '1,250.00', baseRent: '1,200.00', rateFrequency: Monthly }, { leaseTermId: 3002, leaseTerm: '6 Months', leaseTermName: '6 Month Lease', spaceOptionId: 12, spaceOption: 'Standard Configuration', startDate: '2024-02-01', endDate: '2024-07-31', rent: '1,350.00', baseRent: '1,300.00', rateFrequency: Monthly }], minRent: '1,200.00', maxRent: '1,350.00' }, minDeposit: '1,200.00', maxDeposit: '1,350.00', marketRent: 1250, occupancyTypeId: 1, occupancyTypeName: Conventional, exclusionReason: 'Maintenance Required', availabilityStatus: Available, effectiveRent: 1200, availableDate: '2024-02-01', reserveUntil: 02/15/2024, unitAvailabilityURL: 'https://example.com/sample-apartment-complex/floorplans/1-bedroom-a-5001/fp_name/occupancy_type/conventional', amenities: { amenity: [{ id: 801, name: Balcony, type: Apartment }, { id: 802, name: 'Walk-in Closet', type: Apartment }] }, assignableItems: { assignableItem: [{ id: 1001, name: 'Parking Space #A12' }, { id: 1002, name: 'Parking Space #A13' }] }, rentableItems: { rentableItem: [{ id: 2001, name: 'Storage Unit #123' }, { id: 2002, name: 'Storage Unit #124' }] }, services: { service: [{ id: 3001, name: 'Cable TV' }, { id: 3002, name: 'Internet Service' }] } }, { unitSpaceId: 7002, unitNumber: 101A, marketingUnitNumber: A101, isAffordable: 0, hasPricing: 1, spaceConfiguration: 'Premium Configuration', rent: { termRent: [{ leaseTermId: 3003, leaseTerm: '12 Months', leaseTermName: '12 Month Lease - Premium', isBestPrice: '1', spaceOptionId: 15, spaceOption: 'Premium Configuration', startDate: '2024-02-01', endDate: '2025-01-31', rent: '1,450.00', baseRent: '1,400.00', rateFrequency: Monthly }, { leaseTermId: 3004, leaseTerm: '9 Months', leaseTermName: '9 Month Lease - Premium', spaceOptionId: 15, spaceOption: 'Premium Configuration', startDate: '2024-02-01', endDate: '2024-10-31', rent: '1,500.00', baseRent: '1,450.00', rateFrequency: Monthly }], minRent: '1,400.00', maxRent: '1,500.00' }, minDeposit: '1,400.00', maxDeposit: '1,500.00', marketRent: 1450, occupancyTypeId: 1, occupancyTypeName: Conventional, availabilityStatus: Available, effectiveRent: 1400, availableDate: '2024-02-01', unitAvailabilityURL: 'https://example.com/sample-apartment-complex/floorplans/1-bedroom-a-5001/fp_name/occupancy_type/conventional', amenities: { amenity: [{ id: 803, name: 'Premium Fixtures', type: Apartment }] } }] }, customKeysData: { customKeyData: [{ key: LEASE_TYPE, value: Standard, description: 'Type of lease agreement' }, { key: BUILDING_SECTION, value: 'East Wing', description: 'Location within building complex' }] }, files: { file: [{ fileId: 1001, fileType: Photo, description: 'Living Room View', name: unit_101a_living_room.jpg, caption: 'Living Room View', format: jpg, src: 'https://cdn.example.com/units/101a-1.jpg', width: 1920, height: 1080, rank: 1 }, { fileId: 1002, fileType: Photo, description: 'Kitchen Area', name: unit_101a_kitchen.jpg, caption: 'Kitchen Area', format: jpg, src: 'https://cdn.example.com/units/101a-2.jpg', width: 1280, height: 720, rank: 2 }] } }, { id: 6002, remotePrimaryKey: EXT-UNIT-102B, unitNumber: 102B, unitTypeId: 6, unitTypeName: Deluxe, floorPlanId: 5002, floorplanName: '2 Bedroom B', buildingId: 302, buildingName: 'Building B', floorId: 402, floorNumber: '2', numberOfBedrooms: 2, numberOfBathrooms: 2, SquareFeet: '1100', maxNumberOccupants: 4, maxNumberOfPets: 1, isCorporateRented: '1', isFurnished: '1', comment: 'Corporate lease with upgraded furnishings', unitAddress: { address: '456 Oak Avenue, Apt 102B', city: Springfield, state: IL, postalCode: '62701', country: US }, unitSpaces: { unitSpace: [{ unitSpaceId: 7003, unitNumber: 102B, marketingUnitNumber: B102, isAffordable: 0, hasPricing: 1, excludedReason: 'Under Renovation', makeReadyDate: '2024-03-01', rent: { termRent: [{ leaseTermId: 3005, leaseTerm: '12 Months', leaseTermName: '12 Month Lease', isBestPrice: '1', spaceOptionId: 20, spaceOption: 'Deluxe Configuration', startDate: '2024-03-01', endDate: '2025-02-28', rent: '1,850.00', baseRent: '1,800.00', rateFrequency: Monthly }], minRent: '1,800.00', maxRent: '1,850.00' }, minDeposit: '1,800.00', maxDeposit: '1,850.00', marketRent: 1850, occupancyTypeId: 1, occupancyTypeName: Conventional, exclusionReason: 'Maintenance Required', availabilityStatus: 'Notice Unrented', effectiveRent: 1800, availableDate: '2024-03-01', reserveUntil: 03/15/2024, unitAvailabilityURL: 'https://example.com/sample-apartment-complex/floorplans/2-bedroom-b-5002/fp_name/occupancy_type/conventional', amenities: { amenity: [{ id: 804, name: 'Granite Countertops', type: Apartment }] } }] }, customKeysData: { customKeyData: [{ key: LEASE_TYPE, value: Corporate, description: 'Corporate lease agreement' }] }, files: { file: [{ fileId: 1003, fileType: Photo, description: 'Living Room', name: unit_102b_living_room.jpg, caption: 'Living Room', format: jpg, src: 'https://cdn.example.com/units/102b-1.jpg', width: 2048, height: 1536, rank: 1 }] } }] }, pets: { pet: [{ type: Dog, deposit: 300, fee: 150, rent: 25, count: 2, restrictions: 'No aggressive breeds, maximum 50 lbs', petCare: '0', description: Dog }, { type: Cat, deposit: 200, fee: 100, rent: 20, count: 2, restrictions: 'Maximum 25 lbs', petCare: '0', description: Cat }] } }, { propertyId: 5678, propertyName: 'Downtown Luxury Apartments', currencyCode: USD, parentPropertyId: 100, buildingCount: 3, unitCount: 150, propertyAvailabilityURL: 'https://example.com/downtown-luxury-apartments', units: { unit: [{ id: 6003, unitNumber: 201A, unitTypeId: 7, unitTypeName: Premium, floorPlanId: 5003, floorplanName: Studio, buildingId: 303, buildingName: 'Tower C', floorId: 403, floorNumber: '2', numberOfBedrooms: 0, numberOfBathrooms: 1, SquareFeet: '550', maxNumberOccupants: 1, maxNumberOfPets: 1, isCorporateRented: '0', isFurnished: '0', unitAddress: { address: '789 Downtown Blvd, Apt 201A', city: Metropolis, state: NY, postalCode: '10001', country: US }, unitSpaces: { unitSpace: [{ unitSpaceId: 7004, unitNumber: 201A, isAffordable: 1, hasPricing: 1, rent: { termRent: [{ leaseTermId: 3006, leaseTerm: '12 Months', leaseTermName: '12 Month Lease', isBestPrice: '1', rent: '950.00', baseRent: '900.00', rateFrequency: Monthly }], minRent: '900.00', maxRent: '950.00' }, minDeposit: '900.00', maxDeposit: '950.00', marketRent: 950, occupancyTypeId: 1, occupancyTypeName: Conventional, availabilityStatus: Available, effectiveRent: 900, availableDate: '2024-02-10' }] } }] }, pets: { pet: [{ type: Dog, deposit: 250, fee: 100, rent: 30, count: 1, restrictions: 'Maximum 40 lbs', petCare: '1', description: 'Small Dog' }] } }] } } } }, getSpecials-r1-response-example: { summary: 'getSpecials r1', value: { response: { requestId: '15', code: 200, result: { PhysicalProperty: { Property: { Identification: { IDValue: 1234 }, PropertyID: { Identification: { IDValue: 1234, OrganizationName: 'Sample Property Management' }, MarketingName: 'Sample Apartment Complex', LegalName: 'Sample Apartment Complex LLC', currencyCode: USD }, Concession: [{ '@attributes': { Active: 1 }, Value: 500, Term: 12, DescriptionHeader: 'First Month Free', DescriptionBody: 'Get your first month rent free when you sign a 12-month lease', DescriptionFooter: 'Internal notes about eligibility requirements', StartDate: '2024-01-01', EndDate: '2024-12-31', ProspectLeaseStartDate: '2024-02-01', ProspectLeaseEndDate: '2025-01-31', RenewalLeaseStartDate: '2024-03-01', RenewalLeaseEndDate: '2025-02-28', RecipientTypes: 'New Residents,Current Residents' }, { '@attributes': { Active: 1 }, Value: 1000, Term: 18, DescriptionHeader: '18-Month Lease Bonus', DescriptionBody: 'Sign an 18-month lease and get $1000 off', DescriptionFooter: 'Apply to all units, expires end of Q2', StartDate: '2024-01-01', EndDate: '2024-06-30', ProspectLeaseStartDate: '2024-02-01', ProspectLeaseEndDate: '2025-07-31', RecipientTypes: 'New Residents' }], Floorplan: [{ Identification: { IDValue: 5001 }, Name: '1 Bedroom Deluxe', Comment: 'Spacious 1 bedroom with modern amenities and balcony', Concession: [{ '@attributes': { Active: 1 }, Value: 300, Term: 12, DescriptionHeader: '1BR Move-in Special', DescriptionBody: 'Special pricing for 1 bedroom units', DescriptionFooter: 'Internal: Apply to all 1BR units', StartDate: '2024-01-15', EndDate: '2024-06-30', ProspectLeaseStartDate: '2024-02-01', ProspectLeaseEndDate: '2025-01-31', RenewalLeaseStartDate: '2024-03-01', RenewalLeaseEndDate: '2025-02-28', RecipientTypes: 'New Residents' }, { '@attributes': { Active: 1 }, Value: 450, Term: 15, DescriptionHeader: '1BR Extended Lease Discount', DescriptionBody: 'Lease for 15 months and save even more', DescriptionFooter: 'Premium floorplan discount', StartDate: '2024-02-01', EndDate: '2024-08-31', RecipientTypes: 'New Residents,Transferring Residents' }] }, { Identification: { IDValue: 5002 }, Name: '2 Bedroom Premium', Comment: 'Large 2 bedroom with walk-in closets and upgraded finishes', Concession: [{ '@attributes': { Active: 1 }, Value: 400, Term: 12, DescriptionHeader: '2BR Special Offer', DescriptionBody: 'Save on our spacious 2 bedroom units', StartDate: '2024-01-01', EndDate: '2024-12-31', RecipientTypes: 'New Residents' }, { '@attributes': { Active: 1 }, Value: 600, Term: 24, DescriptionHeader: '2BR Long-Term Discount', DescriptionBody: '24-month lease with maximum savings', DescriptionFooter: 'Premium unit long-term discount', StartDate: '2024-01-01', EndDate: '2024-12-31', ProspectLeaseStartDate: '2024-02-01', ProspectLeaseEndDate: '2026-01-31', RecipientTypes: 'New Residents,Current Residents' }] }], ILS_Unit: [{ Units: { Unit: { '@attributes': { BuildingId: 1001, FloorPlanId: 5001 }, Identification: { '@attributes': { IDRank: primary, IDScopeType: sender, IDType: UnitID }, IDValue: 6001 }, MarketingName: 101A } }, Concession: [{ '@attributes': { Active: 1 }, Value: 200, Term: 12, DescriptionHeader: 'Unit 101A Special', DescriptionBody: 'Exclusive discount for this specific unit', DescriptionFooter: 'Internal: First floor corner unit discount', StartDate: '2024-01-01', EndDate: '2024-12-31', ProspectLeaseStartDate: '2024-02-01', ProspectLeaseEndDate: '2025-01-31', RenewalLeaseStartDate: '2024-03-01', RenewalLeaseEndDate: '2025-02-28', RecipientTypes: 'New Residents,Current Residents' }, { '@attributes': { Active: 1 }, Value: 350, Term: 18, DescriptionHeader: 'Unit 101A Extended Lease', DescriptionBody: 'Sign 18 months for even bigger savings', DescriptionFooter: 'Premium unit bonus', StartDate: '2024-01-01', EndDate: '2024-12-31', RecipientTypes: 'New Residents' }] }, { Units: { Unit: { '@attributes': { BuildingId: 1002, FloorPlanId: 5002 }, Identification: { '@attributes': { IDRank: primary, IDScopeType: sender, IDType: UnitID }, IDValue: 6015 }, MarketingName: 205B } }, Concession: [{ '@attributes': { Active: 1 }, Value: 250, Term: 12, DescriptionHeader: 'Unit 205B Discount', DescriptionBody: 'Second floor unit with great views', DescriptionFooter: 'Internal: Corner unit facing park', StartDate: '2024-02-01', EndDate: '2024-09-30', ProspectLeaseStartDate: '2024-03-01', ProspectLeaseEndDate: '2025-02-28', RecipientTypes: 'New Residents' }, { '@attributes': { Active: 1 }, Value: 400, Term: 15, DescriptionHeader: 'Unit 205B Extended Lease', DescriptionBody: 'Extended lease with additional savings', DescriptionFooter: 'Premium 2BR unit extended discount', StartDate: '2024-02-01', EndDate: '2024-09-30', ProspectLeaseStartDate: '2024-03-01', ProspectLeaseEndDate: '2025-05-31', RenewalLeaseStartDate: '2024-04-01', RenewalLeaseEndDate: '2025-03-31', RecipientTypes: 'New Residents,Transferring Residents' }] }] } } } } } }, getSpecials-r2-response-example: { summary: 'getSpecials r2', value: { response: { requestId: '15', code: 200, result: { specials: { propertyId: 1234, organizationName: 'Sample Property Management', marketingName: 'Sample Apartment Complex', legalName: 'Sample Apartment Complex LLC', propertySpecials: { special: [{ id: 1001, name: 'First Month Free', description: 'Get your first month rent free when you sign a 12-month lease', note: 'Internal notes about this special', startDate: '2024-01-01', endDate: '2024-12-31', prospectLeaseStartDate: '2024-02-01', prospectLeaseEndDate: '2025-01-31', renewalLeaseStartDate: '2024-03-01', renewalLeaseEndDate: '2025-02-28', recipientTypes: 'New Residents,Current Residents', couponCode: MOVE2024, cap: 50, remaining: 35, specialGroupTypeId: 1, specialGroupTypeName: 'Move-in Specials', showOnWebsite: 1, isActive: 1, rates: { rate: [{ chargeCodeId: 101, chargeCodeTypeId: 1, amount: 500, showOnWebsite: 1, leaseTermId: 12 }, { chargeCodeId: 102, chargeCodeTypeId: 1, amount: 750, showOnWebsite: 1, leaseTermId: 18 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 12, leaseTermName: '12 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 18, leaseTermName: '18 Months', isActive: 1 }] } }, { id: 1002, name: '18-Month Lease Bonus', description: 'Sign an 18-month lease and get $1000 off', note: 'Apply to all units, expires end of Q2', startDate: '2024-01-01', endDate: '2024-06-30', prospectLeaseStartDate: '2024-02-01', prospectLeaseEndDate: '2025-07-31', recipientTypes: 'New Residents', cap: 30, remaining: 20, showOnWebsite: 1, isActive: 1, rates: { rate: [{ chargeCodeId: 103, chargeCodeTypeId: 1, amount: 1000, showOnWebsite: 1, leaseTermId: 18 }, { chargeCodeId: 110, chargeCodeTypeId: 1, amount: 1200, showOnWebsite: 1, leaseTermId: 24 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 18, leaseTermName: '18 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 24, leaseTermName: '24 Months', isActive: 1 }] } }] }, floorplanSpecials: { special: [{ id: 2001, name: '1BR Move-in Special', description: 'Special pricing for 1 bedroom units', note: 'Apply to all 1BR floorplans', startDate: '2024-01-15', endDate: '2024-06-30', prospectLeaseStartDate: '2024-02-01', prospectLeaseEndDate: '2025-01-31', recipientTypes: 'New Residents', couponCode: 1BR2024, cap: 20, remaining: 15, specialGroupTypeId: 2, specialGroupTypeName: 'Floorplan Specials', showOnWebsite: 1, isActive: 1, floorplans: { floorplan: [{ id: 5001, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6001, name: '1 Bedroom Deluxe', rates: { rate: [{ chargeCodeId: 104, chargeCodeTypeId: 1, amount: 300, showOnWebsite: 1, leaseTermId: 12 }, { chargeCodeId: 105, chargeCodeTypeId: 1, amount: 450, showOnWebsite: 1, leaseTermId: 15 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 12, leaseTermName: '12 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 15, leaseTermName: '15 Months', isActive: 1 }] } }, { id: 5002, buildingId: 1001, buildingName: 'Building A', name: '1 Bedroom Standard', rates: { rate: [{ chargeCodeId: 106, chargeCodeTypeId: 1, amount: 250, showOnWebsite: 1, leaseTermId: 12 }, { chargeCodeId: 111, chargeCodeTypeId: 1, amount: 350, showOnWebsite: 1, leaseTermId: 18 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 12, leaseTermName: '12 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 18, leaseTermName: '18 Months', isActive: 1 }] } }] } }, { id: 2002, name: '2BR Extended Lease Discount', description: 'Lease a 2 bedroom for 15+ months and save', note: 'Premium 2BR discount', startDate: '2024-02-01', endDate: '2024-08-31', recipientTypes: 'New Residents,Transferring Residents', showOnWebsite: 1, isActive: 1, floorplans: { floorplan: [{ id: 5010, buildingId: 1002, buildingName: 'Building B', name: '2 Bedroom Premium', rates: { rate: [{ chargeCodeId: 107, chargeCodeTypeId: 1, amount: 400, showOnWebsite: 1, leaseTermId: 15 }, { chargeCodeId: 112, chargeCodeTypeId: 1, amount: 550, showOnWebsite: 1, leaseTermId: 18 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 15, leaseTermName: '15 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 18, leaseTermName: '18 Months', isActive: 1 }] } }] } }] }, unitSpaceSpecials: { special: [{ id: 3001, name: 'Unit 101A Special', description: 'Exclusive discount for this specific unit', note: 'First floor corner unit discount', startDate: '2024-01-01', endDate: '2024-12-31', prospectLeaseStartDate: '2024-02-01', prospectLeaseEndDate: '2025-01-31', recipientTypes: 'New Residents,Current Residents', couponCode: UNIT101A, cap: 50, remaining: 35, specialGroupTypeId: 3, specialGroupTypeName: 'Unit Space Promotion', showOnWebsite: 1, isActive: 1, unitSpaces: { unitSpace: [{ id: 7001, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6001, name: 101A, rates: { rate: [{ chargeCodeId: 108, chargeCodeTypeId: 1, amount: 200, showOnWebsite: 1, leaseTermId: 12 }, { chargeCodeId: 113, chargeCodeTypeId: 1, amount: 350, showOnWebsite: 1, leaseTermId: 18 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 12, leaseTermName: '12 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 18, leaseTermName: '18 Months', isActive: 1 }] } }] } }, { id: 3002, name: 'Unit 205B Discount', description: 'Second floor unit with great views', note: 'Corner unit facing park', startDate: '2024-02-01', endDate: '2024-09-30', recipientTypes: 'New Residents', showOnWebsite: 1, isActive: 1, unitSpaces: { unitSpace: [{ id: 7015, buildingId: 1002, buildingName: 'Building B', propertyUnitId: 6015, name: 205B, rates: { rate: [{ chargeCodeId: 109, chargeCodeTypeId: 1, amount: 250, showOnWebsite: 1, leaseTermId: 12 }, { chargeCodeId: 114, chargeCodeTypeId: 1, amount: 400, showOnWebsite: 1, leaseTermId: 15 }] }, leaseTerms: { leaseTerm: [{ chargeCodeTypeId: 1, leaseTermId: 12, leaseTermName: '12 Months', isActive: 1 }, { chargeCodeTypeId: 1, leaseTermId: 15, leaseTermName: '15 Months', isActive: 1 }] } }] } }] } } } } } }, getSpecials-r3-response-example: { summary: 'getSpecials r3', value: { response: { requestId: '15', code: 200, result: { specials: { propertyId: 1234, organizationName: 'ABC Property Management', marketingName: 'Sunset Gardens Apartments', legalName: 'Sunset Gardens Apartments', propertySpecials: { special: { 1001: { id: 1001, name: 'First Month Free', description: 'Get your first month rent free when you sign a 12-month lease', note: 'Internal notes about this special offer', startDate: '2024-01-01', endDate: '2024-12-31', prospectLeaseStartDate: '2024-01-01', prospectLeaseEndDate: '2024-12-31', renewalLeaseStartDate: '2024-01-01', renewalLeaseEndDate: '2024-12-31', recipientTypes: 'New Residents,Current Residents', couponCode: WINTER2024, cap: 50, remaining: 35, specialGroupTypeId: 2, specialGroupTypeName: 'Seasonal Promotion', specialGroupLeaseTerms: { specialGroupLeaseTerm: [{ leaseTermId: 4001, leaseStartWindowId: 5001 }, { leaseTermId: 4002, leaseStartWindowId: 5002 }] }, showOnWebsite: 1, isActive: 1, giftValue: 500, rates: { rate: [{ chargeCodeId: 301, chargeCodeTypeId: 1, amount: 500, showOnWebsite: 1, leaseTermId: 4001, leaseStartWindowId: 5001 }, { chargeCodeId: 302, chargeCodeTypeId: 1, amount: 750, showOnWebsite: 1, leaseTermId: 4002, leaseStartWindowId: 5002 }] } }, 1002: { id: 1002, name: 'Move-in Special', description: 'Special pricing for new residents', note: 'Promotional pricing', startDate: '2024-02-01', endDate: '2024-06-30', recipientTypes: 'New Residents', couponCode: SPRING2024, cap: 100, remaining: 85, specialGroupTypeId: 3, specialGroupTypeName: 'Move-in Promotion', showOnWebsite: 1, isActive: 1, giftValue: 300, rates: { rate: [{ chargeCodeId: 303, chargeCodeTypeId: 2, amount: 300, showOnWebsite: 1, leaseTermId: 4003 }, { chargeCodeId: 310, chargeCodeTypeId: 2, amount: 350, showOnWebsite: 1, leaseTermId: 4005, leaseStartWindowId: 5005 }] } } } }, floorplanSpecials: { special: { 2001: { id: 2001, name: 'Studio Special', description: 'Special pricing on studio floorplans', note: 'Internal notes', startDate: '2024-01-15', endDate: '2024-06-30', prospectLeaseStartDate: '2024-02-01', prospectLeaseEndDate: '2024-07-31', renewalLeaseStartDate: '2024-01-01', renewalLeaseEndDate: '2024-12-31', recipientTypes: 'New Residents', couponCode: STUDIO2024, cap: 20, remaining: 15, specialGroupTypeId: 3, specialGroupTypeName: 'Floorplan Promotion', specialGroupLeaseTerms: { specialGroupLeaseTerm: [{ leaseTermId: 4002, leaseStartWindowId: 5002 }, { leaseTermId: 4005, leaseStartWindowId: 5005 }] }, showOnWebsite: 1, isActive: 1, giftValue: 300, floorplans: { floorplan: [{ id: 5001, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6001, name: 'Studio Floorplan A', rates: { rate: [{ chargeCodeId: 302, chargeCodeTypeId: 1, amount: 300, showOnWebsite: 1, leaseTermId: 4002, leaseStartWindowId: 5002 }, { chargeCodeId: 303, chargeCodeTypeId: 1, amount: 250, showOnWebsite: 1, leaseTermId: 4005, leaseStartWindowId: 5005 }] } }, { id: 5002, buildingId: 1002, buildingName: 'Building B', name: 'Studio Floorplan B', rates: { rate: [{ chargeCodeId: 304, chargeCodeTypeId: 1, amount: 350, showOnWebsite: 1, leaseTermId: 4002, leaseStartWindowId: 5002 }, { chargeCodeId: 311, chargeCodeTypeId: 1, amount: 320, showOnWebsite: 1, leaseTermId: 4006, leaseStartWindowId: 5006 }] } }] } }, 2002: { id: 2002, name: '1 Bedroom Promotion', description: 'Special offer on 1 bedroom units', startDate: '2024-03-01', endDate: '2024-08-31', recipientTypes: 'New Residents,Current Residents', showOnWebsite: 1, isActive: 1, giftValue: 400, floorplans: { floorplan: [{ id: 5003, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6005, name: '1 Bedroom Floorplan A', rates: { rate: [{ chargeCodeId: 305, chargeCodeTypeId: 1, amount: 400, showOnWebsite: 1, leaseTermId: 4007, leaseStartWindowId: 5007 }, { chargeCodeId: 312, chargeCodeTypeId: 1, amount: 450, showOnWebsite: 1, leaseTermId: 4008, leaseStartWindowId: 5008 }] } }, { id: 5004, buildingId: 1002, buildingName: 'Building B', propertyUnitId: 6006, name: '1 Bedroom Floorplan B', rates: { rate: [{ chargeCodeId: 313, chargeCodeTypeId: 1, amount: 380, showOnWebsite: 1, leaseTermId: 4007, leaseStartWindowId: 5007 }] } }] } } } }, unitTypeSpecials: { special: { 3001: { id: 3001, name: 'Deluxe Unit Special', description: 'Special offer on deluxe unit types', note: 'Limited time offer', startDate: '2024-03-01', endDate: '2024-08-31', prospectLeaseStartDate: '2024-03-15', prospectLeaseEndDate: '2024-09-15', renewalLeaseStartDate: '2024-01-01', renewalLeaseEndDate: '2024-12-31', recipientTypes: 'New Residents,Current Residents', couponCode: DELUXE2024, cap: 30, remaining: 22, specialGroupTypeId: 4, specialGroupTypeName: 'Unit Type Promotion', specialGroupLeaseTerms: { specialGroupLeaseTerm: [{ leaseTermId: 4003, leaseStartWindowId: 5003 }, { leaseTermId: 4009, leaseStartWindowId: 5009 }] }, showOnWebsite: 1, isActive: 1, giftValue: 400, unitTypes: { unitType: [{ id: 7001, buildingId: 1002, buildingName: 'Building B', propertyUnitId: 6002, name: 'Deluxe Unit Type', rates: { rate: [{ chargeCodeId: 303, chargeCodeTypeId: 2, amount: 400, showOnWebsite: 1, leaseTermId: 4003, leaseStartWindowId: 5003 }, { chargeCodeId: 314, chargeCodeTypeId: 2, amount: 420, showOnWebsite: 1, leaseTermId: 4009, leaseStartWindowId: 5009 }] } }, { id: 7002, buildingId: 1003, buildingName: 'Building C', propertyUnitId: 6007, name: 'Premium Unit Type', rates: { rate: [{ chargeCodeId: 306, chargeCodeTypeId: 2, amount: 450, showOnWebsite: 1, leaseTermId: 4003, leaseStartWindowId: 5003 }, { chargeCodeId: 315, chargeCodeTypeId: 2, amount: 480, showOnWebsite: 1, leaseTermId: 4010, leaseStartWindowId: 5010 }] } }] } }, 3002: { id: 3002, name: 'Standard Unit Discount', description: 'Value pricing on standard unit types', note: 'Budget-friendly option', startDate: '2024-02-01', endDate: '2024-07-31', recipientTypes: 'New Residents', couponCode: STANDARD2024, cap: 40, remaining: 30, specialGroupTypeId: 4, specialGroupTypeName: 'Unit Type Promotion', showOnWebsite: 1, isActive: 1, giftValue: 250, unitTypes: { unitType: [{ id: 7003, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6009, name: 'Standard Unit Type', rates: { rate: [{ chargeCodeId: 316, chargeCodeTypeId: 2, amount: 250, showOnWebsite: 1, leaseTermId: 4011, leaseStartWindowId: 5011 }, { chargeCodeId: 317, chargeCodeTypeId: 2, amount: 280, showOnWebsite: 1, leaseTermId: 4012, leaseStartWindowId: 5012 }] } }] } } } }, unitSpaceSpecials: { special: { 4001: { id: 4001, name: 'Premium Space Special', description: 'Exclusive offer on premium unit spaces', note: 'High-demand units only', startDate: '2024-04-01', endDate: '2024-09-30', prospectLeaseStartDate: '2024-04-15', prospectLeaseEndDate: '2024-10-15', renewalLeaseStartDate: '2024-01-01', renewalLeaseEndDate: '2024-12-31', recipientTypes: 'New Residents', couponCode: PREMIUM2024, cap: 10, remaining: 8, specialGroupTypeId: 5, specialGroupTypeName: 'Unit Space Promotion', specialGroupLeaseTerms: { specialGroupLeaseTerm: [{ leaseTermId: 4004, leaseStartWindowId: 5004 }, { leaseTermId: 4013, leaseStartWindowId: 5013 }] }, showOnWebsite: 1, isActive: 1, giftValue: 600, unitSpaces: { unitSpace: [{ id: 8001, buildingId: 1003, buildingName: 'Building C', propertyUnitId: 6003, name: 'Premium Unit Space 301', rates: { rate: [{ chargeCodeId: 304, chargeCodeTypeId: 1, amount: 600, showOnWebsite: 1, leaseTermId: 4004, leaseStartWindowId: 5004 }, { chargeCodeId: 307, chargeCodeTypeId: 1, amount: 550, showOnWebsite: 1, leaseTermId: 4006 }] } }, { id: 8002, buildingId: 1003, buildingName: 'Building C', propertyUnitId: 6004, name: 'Premium Unit Space 302', rates: { rate: [{ chargeCodeId: 308, chargeCodeTypeId: 1, amount: 650, showOnWebsite: 1, leaseTermId: 4004, leaseStartWindowId: 5004 }, { chargeCodeId: 318, chargeCodeTypeId: 1, amount: 620, showOnWebsite: 1, leaseTermId: 4013, leaseStartWindowId: 5013 }] } }] } }, 4002: { id: 4002, name: 'Corner Unit Special', description: 'Special pricing on corner unit spaces', startDate: '2024-05-01', endDate: '2024-10-31', recipientTypes: 'New Residents', showOnWebsite: 1, isActive: 1, giftValue: 700, unitSpaces: { unitSpace: [{ id: 8003, buildingId: 1001, buildingName: 'Building A', propertyUnitId: 6008, name: 'Corner Unit Space 101', rates: { rate: [{ chargeCodeId: 309, chargeCodeTypeId: 1, amount: 700, showOnWebsite: 1, leaseTermId: 4014, leaseStartWindowId: 5014 }, { chargeCodeId: 319, chargeCodeTypeId: 1, amount: 750, showOnWebsite: 1, leaseTermId: 4015, leaseStartWindowId: 5015 }] } }, { id: 8004, buildingId: 1002, buildingName: 'Building B', propertyUnitId: 6010, name: 'Corner Unit Space 201', rates: { rate: [{ chargeCodeId: 320, chargeCodeTypeId: 1, amount: 680, showOnWebsite: 1, leaseTermId: 4014, leaseStartWindowId: 5014 }] } }] } } } } } } } } }, getSpecials-r4-response-example: { summary: 'getSpecials r4', value: { response: { requestId: '15', code: 200, result: { specialGroups: [{ specialGroupId: 3001, specialGroupName: 'New Resident Specials', quantityBudgeted: 100, quantityRemaining: 75, isActive: 1, isAdvertised: 1, showOnWebsite: 1, startDate: '2024-01-01', endDate: '2024-12-31', description: 'Special offers for new residents', internalDescription: 'Q1 promotional campaign', couponCode: NEWRES2024, specialRecipientDetails: [{ specialRecipientId: 1, specialRecipientName: 'New Residents' }, { specialRecipientId: 2, specialRecipientName: 'Transferring Residents' }], limitQuantity: 1, termsAndConditions: 'Subject to availability and credit approval', leadSourceDetails: { id: 201, name: Website }, renewalLeaseStartDateRange: '2024-02-01 to 2024-12-31', prospectLeaseStartDateRange: '2024-01-01 to 2024-12-31', spaceConfigurationDetails: [{ spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration' }, { spaceConfigurationId: 6002, spaceConfigurationName: 'Premium Configuration' }], incentiveLimit: 5000, isSelectable: 1, associations: { levelId: 2, levelName: Floorplan, unitCount: 3, references: [{ id: 5001, name: '1 Bedroom Deluxe' }, { id: 5002, name: '1 Bedroom Standard' }, { id: 5010, name: '2 Bedroom Premium' }] }, specialRecipientTriggerTypeDetails: [{ specialRecipientTriggerTypeId: 1, specialRecipientTriggerTypeName: 'New Resident Move-in' }, { specialRecipientTriggerTypeId: 2, specialRecipientTriggerTypeName: Transfer }], leaseTermDetails: [{ leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001 }, { leaseTermId: 4002, leaseTermName: '6 Months', leaseStartWindowId: 5002 }], specials: [{ specialId: 1001, specialTypeId: 1, specialName: 'First Month Free', giftValue: 1200, rate: [{ rateId: 2001, arCodeId: 101, arCodeTypeName: Rent, arCodeName: 'Base Rent', arTriggerId: 1, arTriggerName: 'Application Completed', arFormulaId: 10, arFormulaName: 'Fixed Amount', arFormulaReferenceId: 100, rateAmount: 500, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration', leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }, { rateId: 2002, arCodeId: 102, arCodeTypeName: Deposit, arCodeName: 'Security Deposit', arTriggerId: 2, arTriggerName: 'Lease Signed', arFormulaId: 11, arFormulaName: Percentage, arFormulaReferenceId: 101, rateAmount: 750, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration', leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }] }, { specialId: 1002, specialTypeId: 2, specialName: 'Move-in Special', giftValue: 800, rate: [{ rateId: 2003, arCodeId: 101, arCodeTypeName: Rent, arCodeName: 'Base Rent', arTriggerId: 1, arTriggerName: 'Application Completed', arFormulaId: 10, arFormulaName: 'Fixed Amount', arFormulaReferenceId: 100, rateAmount: 300, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6002, spaceConfigurationName: 'Premium Configuration', leaseTermId: 4002, leaseTermName: '6 Months', leaseStartWindowId: 5002, windowStartDate: '2024-02-01', windowEndDate: '2024-06-30' }, { rateId: 2005, arCodeId: 103, arCodeTypeName: Fee, arCodeName: 'Application Fee', arTriggerId: 3, arTriggerName: Move-in, arFormulaId: 12, arFormulaName: 'Flat Rate', arFormulaReferenceId: 102, rateAmount: 150, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6002, spaceConfigurationName: 'Premium Configuration', leaseTermId: 4002, leaseTermName: '6 Months', leaseStartWindowId: 5002, windowStartDate: '2024-02-01', windowEndDate: '2024-06-30' }] }] }, { specialGroupId: 3002, specialGroupName: 'Renewal Specials', quantityBudgeted: 50, quantityRemaining: 40, isActive: 1, isAdvertised: 1, showOnWebsite: 1, startDate: '2024-01-01', endDate: '2024-12-31', description: 'Special offers for renewing residents', internalDescription: 'Loyalty rewards program', couponCode: RENEW2024, specialRecipientDetails: [{ specialRecipientId: 3, specialRecipientName: 'Current Residents' }, { specialRecipientId: 4, specialRecipientName: 'Renewing Residents' }], limitQuantity: 1, termsAndConditions: 'Must renew lease before expiration', renewalLeaseStartDateRange: '2024-01-01 to 2024-12-31', prospectLeaseStartDateRange: '', spaceConfigurationDetails: [{ spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration' }, { spaceConfigurationId: 6003, spaceConfigurationName: 'Deluxe Configuration' }], incentiveLimit: 3000, isSelectable: 1, associations: { levelId: 4, levelName: Space, unitCount: 2, references: [{ id: 7001, name: 101A }, { id: 7015, name: 205B }] }, specialRecipientTriggerTypeDetails: [{ specialRecipientTriggerTypeId: 3, specialRecipientTriggerTypeName: Renewal }, { specialRecipientTriggerTypeId: 4, specialRecipientTriggerTypeName: 'Lease Expiring' }], leaseTermDetails: [{ leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001 }, { leaseTermId: 4004, leaseTermName: '18 Months', leaseStartWindowId: 5003 }], specials: [{ specialId: 1003, specialTypeId: 1, specialName: 'Renewal Discount', giftValue: 600, rate: [{ rateId: 2004, arCodeId: 101, arCodeTypeName: Rent, arCodeName: 'Base Rent', arTriggerId: 5, arTriggerName: 'Renewal Signed', arFormulaId: 10, arFormulaName: 'Fixed Amount', arFormulaReferenceId: 100, rateAmount: 200, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration', leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }, { rateId: 2006, arCodeId: 104, arCodeTypeName: Fee, arCodeName: 'Pet Rent Waiver', arTriggerId: 5, arTriggerName: 'Renewal Signed', arFormulaId: 10, arFormulaName: 'Fixed Amount', arFormulaReferenceId: 103, rateAmount: 50, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6001, spaceConfigurationName: 'Standard Configuration', leaseTermId: 4001, leaseTermName: '12 Months', leaseStartWindowId: 5001, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }] }, { specialId: 1004, specialTypeId: 2, specialName: 'Early Renewal Bonus', giftValue: 400, rate: [{ rateId: 2007, arCodeId: 101, arCodeTypeName: Rent, arCodeName: 'Base Rent', arTriggerId: 5, arTriggerName: 'Renewal Signed', arFormulaId: 11, arFormulaName: Percentage, arFormulaReferenceId: 104, rateAmount: 150, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6003, spaceConfigurationName: 'Deluxe Configuration', leaseTermId: 4004, leaseTermName: '18 Months', leaseStartWindowId: 5003, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }, { rateId: 2008, arCodeId: 105, arCodeTypeName: Deposit, arCodeName: 'Security Deposit Discount', arTriggerId: 5, arTriggerName: 'Renewal Signed', arFormulaId: 10, arFormulaName: 'Fixed Amount', arFormulaReferenceId: 105, rateAmount: 100, rateIncreaseIncrement: 0, rateShowOnWebsite: 1, rateShowInEntrata: 1, spaceConfigurationId: 6003, spaceConfigurationName: 'Deluxe Configuration', leaseTermId: 4004, leaseTermName: '18 Months', leaseStartWindowId: 5003, windowStartDate: '2024-01-01', windowEndDate: '2024-12-31' }] }] }] } } } }, getUnitsAvailabilityAndPricing-r1-response-example: { summary: 'getUnitsAvailabilityAndPricing r1', value: { response: { requestId: '15', code: 200, result: { Properties: { Property: [{ PropertyId: 1234, MarketingName: 'Sample Apartment Complex', currencyCode: USD, ParentPropertyID: 100, propertyAvailabilityURL: 'https://example.com/anytown-ca/sample-apartment-complex', Floorplans: { Floorplan: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5001, OrganizationName: EXT-FP-001 }, Name: '1 Bedroom A', Comment: 'Spacious 1 bedroom with modern amenities', UnitCount: 10, UnitsAvailable: 5, DisplayedUnitsAvailable: 3, FloorplanAvailabilityURL: 'https://example.com/anytown-ca/sample-apartment-complex/floorplans/1-bedroom-a-5001/fp_name/occupancy_type/conventional', FloorCount: 1, TotalRoomCount: 4, Room: [{ '@attributes': { RoomType: Bedroom }, Description: 'Master bedroom with walk-in closet', Count: 1, Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Description: 'Full bathroom with tub/shower combo', Count: 1, Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 0, Max: 800, Min: 750 } }, MarketRent: { '@attributes': { Max: 1400, Min: 1200 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Max: $1400.00, Min: $1200.00 } } } }, Amenity: [{ '@attributes': { AmenityType: Balcony } }, { '@attributes': { AmenityType: 'Walk-In Closets' } }], Concession: [{ '@attributes': { Active: 1 }, Value: 500, Term: 12, DescriptionHeader: 'First Month Free', DescriptionBody: 'Get your first month rent free', DescriptionFooter: 'New residents only' }, { '@attributes': { Active: 1 }, Value: 750, Term: 18, DescriptionHeader: 'Six Weeks Free', DescriptionBody: 'Get six weeks rent free on 18-month lease', DescriptionFooter: 'New residents only, expires June 30' }], File: [{ FileType: floorplan, '@attributes': { FileID: 90001, Active: 'true' }, Description: '1 Bedroom A floorplan image', Name: 1-bedroom-a-5001.jpg, Caption: '1 Bedroom A floorplan image', Format: jpg, Src: 'https://example.com/floorplans/1-bedroom-a-5001.jpg', Width: 1920, Height: 1080, Rank: 1 }] }, { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5002, OrganizationName: EXT-FP-002 }, Name: '2 Bedroom B', Comment: 'Modern 2 bedroom with updated kitchen', UnitCount: 8, UnitsAvailable: 3, DisplayedUnitsAvailable: 3, FloorplanAvailabilityURL: 'https://example.com/anytown-ca/sample-apartment-complex/floorplans/2-bedroom-b-5002/fp_name/occupancy_type/conventional', TotalRoomCount: 5, Room: [{ '@attributes': { RoomType: Bedroom }, Count: 2, Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Count: 2, Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 0, Max: 1100, Min: 1050 } }, MarketRent: { '@attributes': { Max: 1800, Min: 1650 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Max: $1800.00, Min: $1650.00 } } } }, Amenity: [{ '@attributes': { AmenityType: Patio } }, { '@attributes': { AmenityType: 'In-Unit Washer/Dryer' } }] }] } }, { PropertyId: 5678, MarketingName: 'Downtown Luxury Apartments', currencyCode: USD, ParentPropertyID: 100, propertyAvailabilityURL: 'https://example.com/metropolis-ny/downtown-luxury-apartments', Floorplans: { Floorplan: [{ Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5003 }, Name: Studio, Comment: 'Efficient studio layout', UnitCount: 6, UnitsAvailable: 2, DisplayedUnitsAvailable: 2, FloorplanAvailabilityURL: 'https://example.com/metropolis-ny/downtown-luxury-apartments/floorplans/studio-5003/fp_name/occupancy_type/conventional', Room: [{ '@attributes': { RoomType: Bedroom }, Count: 0, Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Count: 1, Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 0, Max: 600, Min: 550 } }, MarketRent: { '@attributes': { Max: 1000, Min: 950 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Max: $1000.00, Min: $950.00 } } } } }, { Identification: { '@attributes': { IDScopeType: sender, IDRank: primary }, IDValue: 5004 }, Name: '1 Bedroom', Comment: 'Modern 1 bedroom in downtown location', UnitCount: 4, UnitsAvailable: 1, DisplayedUnitsAvailable: 1, FloorplanAvailabilityURL: 'https://example.com/metropolis-ny/downtown-luxury-apartments/floorplans/1-bedroom-5004/fp_name/occupancy_type/conventional', Room: [{ '@attributes': { RoomType: Bedroom }, Count: 1, Comment: Bedroom }, { '@attributes': { RoomType: Bathroom }, Count: 1, Comment: Bathroom }], SquareFeet: { '@attributes': { Avg: 0, Max: 850, Min: 800 } }, MarketRent: { '@attributes': { Max: 1400, Min: 1300 } }, Deposit: { '@attributes': { DepositType: 'security deposit' }, Amount: { '@attributes': { AmountType: MonthMultiple }, ValueRange: { '@attributes': { Max: $1400.00, Min: $1300.00 } } } } }] } }] }, PropertyUnits: { PropertyUnit: [{ '@attributes': { Id: 6001, UnitNumber: 101A, FloorplanId: 5001, UnitTypeId: 4001, PropertyId: 1234, FloorPlanName: '1 Bedroom A', FloorId: 401, FloorNumber: '1', BuildingId: 301, BuildingName: 'Building A', WebVisible: '1' }, UnitSpace: [{ '@attributes': { Id: 7001, UnitNumber: 101A, MarketingUnitNumber: A101, Availability: Available, Status: Available, ExcludedReason: 'Under Renovation', AvailableOn: '2024-02-01', MakeReadyDate: '2024-01-25', IsAffordable: '0', OccupancyType: Conventional, HasPricing: '1', SpaceConfiguration: 'Standard Configuration', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,200.00', MaxRent: '1,400.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', IsWebVisible: '1', LeaseTermId: 4001, LeaseTermName: '12 Month Lease', IsBestPrice: 'true', SpaceOptionId: 12, SpaceOption: 'Standard Configuration', leaseStartWindowId: 5001, StartDate: '2024-02-01', EndDate: '2025-01-31', Rent: '1,250.00', BaseRent: '1,200.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '6 Months', IsWebVisible: '1', LeaseTermId: 4002, LeaseTermName: '6 Month Lease', SpaceOptionId: 12, SpaceOption: 'Standard Configuration', Rent: '1,350.00', BaseRent: '1,300.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,200.00', MaxDeposit: '1,400.00' } } }, { '@attributes': { Id: 7002, UnitNumber: 101A, MarketingUnitNumber: A101, Availability: Available, Status: Available, AvailableOn: '2024-02-01', IsAffordable: '0', OccupancyType: Conventional, HasPricing: '1', SpaceConfiguration: 'Premium Configuration', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,350.00', MaxRent: '1,500.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', IsWebVisible: '1', LeaseTermId: 4003, LeaseTermName: '12 Month Lease - Premium', IsBestPrice: 'true', SpaceOptionId: 15, SpaceOption: 'Premium Configuration', leaseStartWindowId: 5001, StartDate: '2024-02-01', EndDate: '2025-01-31', Rent: '1,450.00', BaseRent: '1,400.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,350.00', MaxDeposit: '1,500.00' } } }] }, { '@attributes': { Id: 6002, UnitNumber: 102A, FloorplanId: 5001, UnitTypeId: 4001, PropertyId: 1234, FloorPlanName: '1 Bedroom A', FloorId: 401, FloorNumber: '1', BuildingId: 301, BuildingName: 'Building A', WebVisible: '1' }, UnitSpace: [{ '@attributes': { Id: 7003, UnitNumber: 102A, Availability: 'Not Available', Status: 'Notice Unrented', ExcludedReason: 'Under Renovation', AvailableOn: '2024-03-01', MakeReadyDate: '2024-02-25', IsAffordable: '0', OccupancyType: Conventional, HasPricing: '1', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,200.00', MaxRent: '1,250.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', IsWebVisible: '1', LeaseTermId: 4001, LeaseTermName: '12 Month Lease', Rent: '1,250.00', BaseRent: '1,200.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '6 Months', IsWebVisible: '1', LeaseTermId: 4007, LeaseTermName: '6 Month Lease', Rent: '1,300.00', BaseRent: '1,250.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,200.00', MaxDeposit: '1,250.00' } } }, { '@attributes': { Id: 7004, UnitNumber: 102A, Availability: 'Not Available', Status: 'Notice Unrented', ExcludedReason: 'Under Renovation', AvailableOn: '2024-03-15', MakeReadyDate: '2024-03-10', IsAffordable: '0', OccupancyType: Conventional, HasPricing: '1', SpaceConfiguration: 'Premium Configuration', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,300.00', MaxRent: '1,400.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', IsWebVisible: '1', LeaseTermId: 4005, LeaseTermName: '12 Month Lease - Premium', Rent: '1,350.00', BaseRent: '1,300.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '6 Months', IsWebVisible: '1', LeaseTermId: 4006, LeaseTermName: '6 Month Lease - Premium', Rent: '1,400.00', BaseRent: '1,350.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,300.00', MaxDeposit: '1,400.00' } } }] }] }, ILS_Units: { Unit: [{ '@attributes': { UnitNumber: 101A, FloorPlanName: '1 Bedroom A', Availability: Available, Status: Available, ReservedUntilDate: 02/15/2024, ExcludedReason: 'Under Renovation', AvailableOn: '2024-02-01', MakeReadyDate: '2024-01-25', FloorplanId: 5001, UnitTypeId: 4001, PropertyUnitId: 6001, PropertyId: 1234, FloorId: 401, FloorNumber: '1', BuildingId: 301, BuildingName: 'Building A', OccupancyType: Conventional, IsAffordable: '0', HasPricing: '1', webVisible: '1', SpaceConfiguration: 'Standard Configuration', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,200.00', MaxRent: '1,400.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', LeaseTermId: 4001, IsWebVisible: '1', LeaseTermName: '12 Month Lease', IsBestPrice: 'true', SpaceOptionId: 12, SpaceOption: 'Standard Configuration', leaseStartWindowId: 5001, StartDate: '2024-02-01', EndDate: '2025-01-31', Rent: '1,250.00', BaseRent: '1,200.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '6 Months', LeaseTermId: 4002, IsWebVisible: '1', LeaseTermName: '6 Month Lease', SpaceOptionId: 12, SpaceOption: 'Standard Configuration', StartDate: '2024-02-15', EndDate: '2024-08-14', Rent: '1,350.00', BaseRent: '1,300.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,200.00', MaxDeposit: '1,400.00' } } }, { '@attributes': { UnitNumber: 102A, FloorPlanName: '1 Bedroom A', Availability: 'Not Available', Status: 'Notice Unrented', ExcludedReason: 'Under Renovation', AvailableOn: '2024-03-01', MakeReadyDate: '2024-02-25', FloorplanId: 5001, UnitTypeId: 4001, PropertyUnitId: 6002, PropertyId: 1234, FloorId: 401, FloorNumber: '1', BuildingId: 301, BuildingName: 'Building A', OccupancyType: Conventional, IsAffordable: '0', HasPricing: '1', webVisible: '1', Area: '750 Square Feet' }, Rent: { '@attributes': { MinRent: '1,200.00', MaxRent: '1,250.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', LeaseTermId: 4001, IsWebVisible: '1', LeaseTermName: '12 Month Lease', IsBestPrice: 'true', StartDate: '2024-03-01', EndDate: '2025-02-28', Rent: '1,250.00', BaseRent: '1,200.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '6 Months', LeaseTermId: 4007, IsWebVisible: '1', LeaseTermName: '6 Month Lease', StartDate: '2024-03-01', EndDate: '2024-08-31', Rent: '1,300.00', BaseRent: '1,250.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,200.00', MaxDeposit: '1,250.00' } } }, { '@attributes': { UnitNumber: 201B, FloorPlanName: '2 Bedroom B', Availability: Available, Status: Available, AvailableOn: '2024-02-10', MakeReadyDate: '2024-02-05', FloorplanId: 5002, UnitTypeId: 4002, PropertyUnitId: 6003, PropertyId: 1234, FloorId: 402, FloorNumber: '2', BuildingId: 301, BuildingName: 'Building A', OccupancyType: Conventional, IsAffordable: '0', HasPricing: '1', webVisible: '1', SpaceConfiguration: 'Premium Configuration', Area: '1050 Square Feet' }, Rent: { '@attributes': { MinRent: '1,650.00', MaxRent: '1,800.00' }, TermRent: [{ '@attributes': { LeaseTerm: '12 Months', LeaseTermId: 4008, IsWebVisible: '1', LeaseTermName: '12 Month Lease', IsBestPrice: 'true', SpaceOptionId: 15, SpaceOption: 'Premium Configuration', leaseStartWindowId: 5002, StartDate: '2024-02-10', EndDate: '2025-02-09', Rent: '1,700.00', BaseRent: '1,650.00', RateFrequency: Monthly } }, { '@attributes': { LeaseTerm: '18 Months', LeaseTermId: 4009, IsWebVisible: '1', LeaseTermName: '18 Month Lease', SpaceOptionId: 15, SpaceOption: 'Premium Configuration', StartDate: '2024-02-10', EndDate: '2025-08-09', Rent: '1,750.00', BaseRent: '1,700.00', RateFrequency: Monthly } }] }, Deposit: { '@attributes': { MinDeposit: '1,650.00', MaxDeposit: '1,800.00' } } }] } } } } }, getUnitTypes-r1-response-example: { summary: 'getUnitTypes r1', value: { response: { requestId: '15', code: 200, result: { property: { type: Apartment, propertyId: 1234, parentPropertyId: 1000, marketingName: 'Sample Apartment Complex', currencyCode: USD, generalId: SAMPLE-001, yearBuilt: '2020', shortDescription: 'Modern apartment complex with luxury amenities', longDescription: 'This modern apartment complex offers luxury living with state-of-the-art amenities, including a fitness center, swimming pool, and concierge services.' }, unitTypes: { unitType: [{ identificationType: { '@attributes': { idType: unitTypeId }, idValue: 4001 }, name: '1 Bedroom', lookUpCode: 1BR-STD, floorplan: { '@attributes': { Id: 5001 }, '@value': '1 Bedroom Standard' }, unitCount: '10', unitBedRooms: '1', unitBathrooms: '1', minSquareFeet: '750', maxSquareFeet: '800', minMarketRent: '1200.00', maxMarketRent: '1400.00', rent: { termRent: [{ '@attributes': { leaseTerm: '12 Months', leaseTermId: 3001, leaseTermName: '12 Month Lease', rent: '1250.00', startDate: '2024-02-01', endDate: '2024-07-31', spaceOptionId: 12, spaceOption: 'Standard Configuration', isSoldOut: false } }, { '@attributes': { leaseTerm: '6 Months', leaseTermId: 3002, leaseTermName: '6 Month Lease', rent: '1350.00', startDate: '2024-02-01', endDate: '2024-07-31', spaceOptionId: 22, spaceOption: 'Standard Configuration', isSoldOut: false } }] } }, { identificationType: { '@attributes': { idType: unitTypeId }, idValue: 4002 }, name: '2 Bedroom', lookUpCode: 2BR-STD, floorplan: { '@attributes': { Id: 5002 }, '@value': '2 Bedroom Standard' }, unitCount: '8', unitBedRooms: '2', unitBathrooms: '2', minSquareFeet: '1100', maxSquareFeet: '1200', minMarketRent: '1800.00', maxMarketRent: '2000.00', rent: { termRent: [{ '@attributes': { leaseTerm: '12 Months', leaseTermId: 3001, leaseTermName: '12 Month Lease', rent: '1900.00', startDate: '2024-02-01', endDate: '2024-07-31', spaceOptionId: 19, spaceOption: 'Standard Configuration', isSoldOut: false } }, { '@attributes': { leaseTerm: '6 Months', leaseTermId: 3002, leaseTermName: '6 Month Lease', rent: '2000.00', startDate: '2024-02-01', endDate: '2024-07-31', spaceOptionId: 10, spaceOption: 'Standard Configuration', isSoldOut: false } }] } }] } } } } }, sendAmenities-r1-response-example: { summary: 'sendAmenities r1', value: { response: { requestId: '15', code: 200, result: { propertyAmenities: [{ node: 1, status: Success, amenityId: 801, rateAssociationId: 901, name: 'Swimming Pool', message: 'Amenity inserted successfully.' }, { node: 2, status: Success, amenityId: 802, rateAssociationId: 902, name: 'Fitness Center', message: 'Amenity inserted successfully.' }], unitAmenities: [{ node: 1, status: Success, amenityId: 803, rateAssociationId: 903, name: Dishwasher, message: 'Amenity inserted successfully.' }, { node: 2, status: Success, amenityId: 804, rateAssociationId: 904, name: 'In-Unit Washer/Dryer', message: 'Amenity inserted successfully.' }] } } } }, sendPropertyUnits-r1-response-example: { summary: 'sendPropertyUnits r1', value: { response: { requestId: '15', code: 200, result: { units: { unit: [{ node: 1, unitId: 6001, unitNumber: 101A, unitSpace: A, status: Success, message: 'unit inserted successfully.' }, { node: 2, unitId: 6002, unitNumber: 102A, unitSpace: A, status: Success, message: 'unit inserted successfully.' }] } } } } }, sendSpecialGroup-r1-response-example: { summary: 'sendSpecialGroup r1', value: { response: { requestId: '15', code: 200, result: { status: success, specialGroupId: 15001, message: 'Special added successfully.' } } } }, updateAmenities-r1-response-example: { summary: 'updateAmenities r1', value: { response: { requestId: '15', code: 200, result: { propertyAmenities: { propertyAmenity: [{ node: 1, amenityId: 1001, status: Success, message: 'Amenity updated successfully.' }, { node: 2, amenityId: 1002, status: Success, message: 'Amenity updated successfully.' }] }, unitTypeAmenities: { unitTypeAmenity: [{ node: 1, amenityId: 2001, status: Success, message: 'Amenity updated successfully.' }, { node: 2, amenityId: 2002, status: Success, message: 'Amenity updated successfully.' }] }, floorplanAmenities: { floorplanAmenity: [{ node: 1, amenityId: 3001, status: Success, message: 'Amenity updated successfully.' }, { node: 2, amenityId: 3002, status: Success, message: 'Amenity updated successfully.' }] }, unitSpaceAmenities: { unitSpaceAmenity: [{ node: 1, amenityId: 4001, status: Success, message: 'Amenity updated successfully.' }, { node: 2, amenityId: 4002, status: Success, message: 'Amenity updated successfully.' }] } } } } }, updateSpecialGroup-r1-response-example: { summary: 'updateSpecialGroup r1', value: { response: { requestId: '15', code: 200, result: { status: success, specialGroupId: 15001, message: 'Special updated successfully.' } } } }, getResponse-r1-request-example: { description: 'Retrieves the response for a queued API request using the queueId.', summary: 'getResponse r1', value: { auth: { type: apikey }, requestId: '15', method: { name: getResponse, version: r1, params: { queueId: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.TYxMjg0NjUxNywiZXhwIjoxNjEyOTMyOTE3LCJuYmYiOjE2MTI4NDY1MTd9.BR262cdCSKLI8yolc4dEcoSSDRZYlfjRXFHLyn9dCus, serviceName: getReportData } } } }, getResponse-r1-response-example: { description: 'Response containing the queued request result with timestamps and original service response data.', summary: 'getResponse r1', value: { response: { requestId: '15', code: 200, result: { reportData: { notes: [{ note: 'The pre-bill for WALDEN CREEK is ready for review. Please look over it, and let me know if there are any corrections you would like made.' }] }, queueStartedOn: '04-28-2021: 07:17:59', queueCompletedOn: '04-28-2021: 07:18:06' } } } }, getInvoices-r1-request-example: { summary: getInvoices, value: { auth: { type: apikey }, requestId: '15', method: { name: getInvoices, version: r1, params: { ids: '123,456,789', invoiceNumber: INV-12345, vendorId: 1234, propertyIds: '10,20,30', fromDate: '2023-01-01', toDate: '2023-12-31', paidInvoiceFromDate: '2023-01-01', paidInvoiceToDate: '2023-12-31', postMonth: '2023-01-01', includeExported: 0, customerRefunds: 1, includeVoidedPayments: 0 } } } }, getInvoices-r2-request-example: { summary: 'getInvoices r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getInvoices, version: r2, params: { ids: '123,456,789', vendorCode: VENDOR001, invoiceNumber: INV-12345, vendorIds: '1001,1002', propertyIds: '10,20,30', invoiceTypeIds: '1,2,3', fromDate: '2023-01-01', toDate: '2023-12-31', voidedPaymentFromDate: '2023-01-01', voidedPaymentToDate: '2023-12-31', paidInvoiceFromDate: '2023-01-01', paidInvoiceToDate: '2023-12-31', postMonth: '2024-01-01', includeExported: 0, customerRefunds: 1, includeVoidedPayments: 1 } } } }, getPoReceivingRecords-r1-request-example: { summary: getPoReceivingRecords, value: { auth: { type: apikey }, requestId: '15', method: { name: getPoReceivingRecords, version: r1, params: { vendorId: 1234, vendorCode: VND001, poFromDate: '2023-01-01', poToDate: '2023-12-31', receivedFromDate: '2023-01-01', receivedToDate: '2023-12-31', purchaseOrderNumbers: '123456,123457' } } } }, getPurchaseOrders-r1-request-example: { summary: getPurchaseOrders, value: { auth: { type: apikey }, requestId: '15', method: { name: getPurchaseOrders, version: r1, params: { propertyIds: '100,200,300', vendorId: 1234, vendorCode: VND001, poNumber: '123456', createdOnFrom: 01/01/2023, createdOnTo: 12/31/2023, purchaseOrderApprovalTypeIds: '1,2,3', poStatusIds: '1,2,3', poTypeIds: '1,2,3', receivedFromDate: 01/01/2023, receivedToDate: 12/31/2023 } } } }, getTaxFormData-r1-request-example: { summary: getTaxFormData, value: { auth: { type: apikey }, requestId: '15', method: { name: getTaxFormData, version: r1, params: { propertyIds: '100,200', startDate: 01/01/2023, endDate: 12/31/2023, generateForPropertyOwner: 1, isForIndirectOwner: 0 } } } }, getVendorLocations-r1-request-example: { summary: getVendorLocations, value: { auth: { type: apikey }, requestId: '15', method: { name: getVendorLocations, version: r1, params: { vendorId: '1234', propertyIds: '100,200', vendorName: 'ABC Construction', vendorCode: VND001, lastModifiedOn: 01/01/2023, showAllStatus: 0, includeIntercompanyVendors: 0 } } } }, getVendorPickLists-r1-request-example: { summary: getVendorPickLists, value: { auth: { type: apikey }, requestId: '15', method: { name: getVendorPickLists, version: r1, params: { } } } }, getVendors-r2-request-example: { summary: 'getVendors r2', value: { auth: { type: apikey }, requestId: '15', method: { name: getVendors, version: r2, params: { vendorIds: '1234,5678', vendorCodes: 'VND001,VND002' } } } }, markInvoicesExported-r1-request-example: { summary: markInvoicesExported, value: { auth: { type: apikey }, requestId: '15', method: { name: markInvoicesExported, version: r1, params: { lineItems: { lineItemId: [12345, 67890, 11111] } } } } }, sendInvoices-r1-request-example: { summary: sendInvoices, value: { auth: { type: apikey }, requestId: '15', method: { name: sendInvoices, version: r1, params: { ApBatch: { IsPaused: '0', IsPosted: '1', ApHeaders: { ApHeader: [{ ApPayeeId: 1234, ApPayeeLocationId: 5001, InvoiceTotal: '625.50', InvoiceNumber: INV-2023-001, PostMonth: 06/2023, InvoiceDate: 06/15/2023, DueDate: 07/15/2023, RoutingTagId: 101, Note: 'Monthly maintenance services', IsConsolidated: '0', IsOnHold: '0', InvoiceImageUrl: 'https://example.com/invoice-001.pdf', Files: { File: [{ '@attributes': { FileName: invoice_receipt.pdf }, FileData: JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsgMyAwIFIgXQovQ291bnQgMQo+PgplbmRvYmoKMyAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDIgMCBSCi9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KPj4KZW5kb2JqCnhyZWYKMCA0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDU4IDAwMDAwIG4gCjAwMDAwMDAxMTUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSA0Ci9Sb290IDEgMCBSCj4+CnN0YXJ0eHJlZgoyMDMKJSVFT0Y= }] }, ApDetails: { ApDetail: [{ PropertyId: 2001, PropertyBuildingId: 3001, PropertyUnitId: 4001, GlAccountId: 6001, Description: 'Office supplies for June', Rate: 25.5, Quantity: 2, IsWaive1099: '0', InvoicePayment: { InvoicePaymentId: '7001', PaymentAmount: 51 } }, { PropertyId: 2002, GlAccountId: 6002, Description: 'Maintenance services', Rate: 287.25, Quantity: 2 }] } }, { ApPayeeId: 1235, ApPayeeLocationId: 5002, InvoiceTotal: '150.00', InvoiceNumber: INV-2023-002, InvoiceDate: 06/16/2023, ApDetails: { ApDetail: [{ PropertyId: 2003, GlAccountId: 6003, Description: 'Landscaping services', Rate: 150, Quantity: 1 }] } }] }, InvoicePayments: { InvoicePayment: [{ InvoicePaymentId: '7001', PaymentTypeId: 1, PaymentNumber: '123456', PaymentDate: 06/15/2023, PostMonth: 06/2023, PaymentMemo: 'Payment for June services' }] } } } } } }, sendInvoices-r2-request-example: { summary: 'sendInvoices r2', value: { auth: { type: apikey }, requestId: '15', method: { name: sendInvoices, version: r2, params: { apBatch: { isPaused: '0', isPosted: '1', apHeaders: { apHeader: [{ apPayeeId: 1234, apPayeeLocationId: 5001, apPayeeAccountId: 6001, invoiceTotal: 625.5, invoiceNumber: INV-2023-001, postMonth: 06/2023, invoiceDate: 06/15/2023, dueDate: 07/15/2023, shipping: 15.5, discount: 25, salesTax: 8.75, note: 'Monthly maintenance services', routingTagId: 101, invoiceTypeId: '2', isConsolidated: '0', isOnHold: '0', invoiceImageUrl: 'https://example.com/invoice-001.pdf', files: { file: [{ fileName: invoice_receipt.pdf, fileData: JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFsgMyAwIFIgXQovQ291bnQgMQo+PgplbmRvYmoKMyAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDIgMCBSCi9NZWRpYUJveCBbIDAgMCA2MTIgNzkyIF0KPj4KZW5kb2JqCnhyZWYKMCA0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDU4IDAwMDAwIG4gCjAwMDAwMDAxMTUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSA0Ci9Sb290IDEgMCBSCj4+CnN0YXJ0eHJlZgoyMDMKJSVFT0Y= }] }, apDetails: { apDetail: [{ propertyId: 2001, propertyBuildingId: 3001, propertyUnitId: 4001, glAccountId: 6001, customTagId: 10001, unitOfMeasureId: 13001, description: 'Office supplies for June', rate: 25.5, quantity: 2, isWaive1099: '0', retentionPercentage: 5, invoicePayment: { invoicePaymentId: '7001', paymentAmount: 51 } }, { propertyId: 2002, glAccountId: 6002, poDetailId: 11001, receivingRecordId: 12001, description: 'Maintenance services', rate: 287.25, quantity: 2 }] } }, { apPayeeId: 1235, apPayeeLocationId: 5002, invoiceTotal: 150, invoiceNumber: INV-2023-002, invoiceDate: 06/16/2023, apDetails: { apDetail: [{ propertyId: 2003, glAccountId: 6003, description: 'Landscaping services', rate: 150, quantity: 1 }] } }, { apPayeeId: 1236, apPayeeLocationId: 5003, invoiceTotal: 500, invoiceNumber: INV-2023-003, invoiceDate: 06/17/2023, invoiceTypeId: '3', apDetails: { apDetail: [{ propertyId: 2004, apCodeId: 7001, jobPhaseId: 8001, apContractId: 9001, description: 'Job costing line item', rate: 500, quantity: 1 }] } }] }, invoicePayments: { invoicePayment: [{ invoicePaymentId: '7001', paymentTypeId: 1, paymentNumber: '123456', paymentDate: 06/15/2023, postMonth: 06/2023, paymentMemo: 'Payment for June services' }] } } } } } }, sendPurchaseOrders-r1-request-example: { summary: sendPurchaseOrders, value: { auth: { type: apikey }, requestId: '15', method: { name: sendPurchaseOrders, version: r1, params: { apHeaders: { apHeader: [{ apPayeeId: 12345, propertyId: 67890, apPayeeLocationId: 54321, apPayeeAccountId: 98765, poTypeId: 1, postDate: '2024-01-15', postMonth: 01/2024, apRoutingTagId: 123, headerMemo: 'Monthly office supplies order', shipping: 15.99, discount: -5, salesTax: 8.75, apDetails: { apDetail: [{ quantity: 10, rate: 25, propertyId: 67890, propertyBuildingId: 111, propertyUnitId: 222, glDimensionId: 333, companyDepartmentId: 444, glAccountId: 555, description: 'Office paper supplies', isConfidential: 0, isTaxable: 1 }, { quantity: 5, rate: 12.5, propertyId: 67890, glAccountId: 556, description: 'Printer ink cartridges', isConfidential: 0, isTaxable: 1 }] } }, { apPayeeId: 12346, propertyId: 67891, apPayeeLocationId: 54322, poTypeId: 8, postDate: '2024-01-16', postMonth: 01/2024, headerMemo: 'Job purchase order for construction', apDetails: { apDetail: [{ quantity: 1, rate: 5000, propertyId: 67891, apCodeId: 666, jobPhaseId: 777, apContractId: 888, description: 'Construction materials', isConfidential: 0, isTaxable: 0 }] } }] } } } } }, sendVendors-r1-request-example: { summary: sendVendors, value: { auth: { type: apikey }, requestId: '15', method: { name: sendVendors, version: r1, params: { vendors: { vendor: [{ businessName: 'ABC Construction Company', externalId: EXT123456, nameOnTaxReturn: 'ABC Construction Company LLC', taxIdNumber: 12-3456789, note: 'Preferred contractor for plumbing work', isRequirePoForInvoice: '1', isOnSite: '0', defaultGlAccountId: 12345, isConsolidated: '0', isSubsidiary: '0', websiteUrl: 'https://www.abcconstruction.com', categories: { categoryTypeId: [1, 2] }, legalEntities: { legalEntity: { nameOnTaxReturn: 'ABC Construction Company LLC', taxIdNumber: 12-3456789, ownerTypeId: 1, receives1099: 1, form1099TypeId: 1, form1099BoxTypeId: 1 } }, contacts: { contact: [{ firstName: John, lastName: Smith, position: 'Project Manager', phone: 555-123-4567, email: john.smith@example.com, isPrimary: 1 }] }, locations: { location: [{ name: 'Main Office', defaultRoutingTagId: 1, vendorCode: ABC001, notes: 'Primary business location', addressLine1: '123 Main Street', addressLine2: 'Suite 100', city: Anytown, state: CA, postalCode: '12345', country: US, phone: 555-123-4567, email: contact@example.com, isPrimary: '1', approvedForAllProperties: '1', properties: { propertyId: [123, { '@value': 456, '@attributes': { compliance_status_id: 1 } }] }, remittances: { remittance: [{ id: 12345, apPaymentTypeId: 1, remittanceName: 'Check Payment', bankAccountTypeId: 1, nameOnAccount: 'ABC Construction Company', routingNumber: 123456789, accountNumber: '123456789012', isDefault: 1, addressLine1: '123 Main Street', addressLine2: 'Suite 100', city: Anytown, state: CA, postalCode: '12345', accounts: { account: [{ id: 12345, accountNumber: ACC-12345, description: 'Primary vendor account', glAccountId: 54321, propertyId: 123, utilityBillReceiptTypeId: 1, isAuditInvoice: 0, isCaptureInvoiceTotalOnly: 0, isDisabledInvoice: 0, subAccounts: { subAccount: [{ id: 67890, accountNumber: SUB-12345, description: 'Maintenance sub account', glAccountId: 54322 }] } }] } }] } }] }, insurances: { insurance: [{ coverageId: 12345, coverageName: 'General Liability', legalEntityIds: [123, 456], legalEntityNames: ['ABC Construction LLC', 'ABC Services Inc'], document: { propertyIds: [123, 456], file: { fileName: insurance_certificate.pdf, fileData: JVBERi0xLjQKJcOkw7zDssO..., fileKey: nv_file_key_123 } }, policies: { policy: [{ policyTypeId: 1, description: 'General Liability Insurance', policyNumber: GL-123456789, brokerName: 'ABC Insurance Brokers', expirationDate: 12/31/2024, coverages: { coverage: [{ id: 1, amount: 1000000 }, { id: 2, amount: 2000000 }] } }] } }] } }] } } } } }, updateInvoices-r1-request-example: { summary: updateInvoices, value: { auth: { type: apikey }, requestId: '15', method: { name: updateInvoices, version: r1, params: { apHeaders: { apHeader: [{ id: 12345, isOnHold: '0', routingTagId: 789, apDetails: { apDetail: [{ id: 67890, invoicePayment: { invoicePaymentId: INV-PAYMENT-001, paymentAmount: 100.5 } }, { id: 67891, creditAllocation: { creditApDetailId: 5555, creditAmount: 75.25 } }] } }, { id: 12346, isOnHold: '1', invoicePayment: { invoicePaymentId: INV-PAYMENT-002, paymentAmount: 500 } }] }, invoicePayments: { invoicePayment: [{ invoicePaymentId: INV-PAYMENT-001, paymentTypeId: 1, paymentNumber: CHK-12345, paymentDate: 12/15/2023, postMonth: 12/2023, paymentMemo: 'Payment for December services' }, { invoicePaymentId: INV-PAYMENT-002, paymentTypeId: 2, paymentNumber: ACH-98765, paymentDate: 12/20/2023, postMonth: 12/2023, paymentMemo: 'ACH payment for invoice 12346' }] }, creditAllocations: { creditAllocation: [{ creditApDetailId: 9876, postDate: '2023-12-15', postMonth: 12/2023 }] } } } } }, updateVendors-r1-request-example: { summary: updateVendors, value: { auth: { type: apikey }, requestId: '15', method: { name: updateVendors, version: r1, params: { vendors: { vendor: [{ vendorId: 12345, businessName: 'ABC Construction Company', externalId: EXT123456, note: 'Preferred contractor for plumbing work', apPayeeTypeId: 1, apPayeeStatusTypeId: 1, apPayeeTermId: 5, defaultGlAccountId: 1001, websiteUrl: 'https://www.abcconstruction.com', isConsolidated: '0', isOnSite: '1', isRequirePoForInvoice: '0', isSubsidiary: '0', categories: { categoryTypeId: [10, 20, 30] }, legalEntities: { legalEntity: { id: 12345, nameOnTaxReturn: 'ABC Construction Company LLC', taxIdNumber: 12-3456789, ownerTypeId: 1, receives1099: 1, form1099TypeId: 1, form1099BoxTypeId: 1 } }, contacts: { contact: [{ id: 12345, firstName: John, lastName: Smith, position: 'Project Manager', phone: 555-123-4567, fax: 555-123-4568, email: john.smith@example.com, isPrimary: 1, associatedLocations: { locationIds: [1, 2], locationNames: ['Main Office', 'Branch Office'] }, isPrimaryForLocations: { locationIds: [1], locationNames: ['Main Office'] } }] }, locations: { location: [{ id: 67890, name: 'Main Office', defaultRoutingTagId: 1, vendorCode: ABC001, notes: 'Primary business location', addressLine1: '123 Main Street', addressLine2: 'Suite 100', city: Anytown, state: CA, postalCode: '12345', country: US, phone: 555-123-4567, email: contact@example.com, isPrimary: '1', approvedForAllProperties: '1', legalEntityName: 'ABC Construction LLC', properties: { propertyId: [123, { '@value': 456, '@attributes': { compliance_status_id: 1, is_deleted: 0 } }] }, remittances: { remittance: [{ id: 12345, apPaymentTypeId: 1, remittanceName: 'Check Payment', isDefault: 1, addressLine1: '123 Main Street', city: Anytown, state: CA, postalCode: '12345', accounts: { account: [{ id: 12345, accountNumber: ACC-12345, description: 'Primary vendor account', glAccountId: 54321, propertyId: 123, utilityBillReceiptTypeId: 1, isAuditInvoice: 0, isCaptureInvoiceTotalOnly: 0, isDisabledInvoice: 0, subAccounts: { subAccount: [{ id: 67890, accountNumber: SUB-12345, description: 'Maintenance sub account', glAccountId: 54322 }] } }] } }] } }] }, insurances: { insurance: [{ coverageId: 12345, coverageName: 'General Liability', legalEntityIds: [123, 456], legalEntityNames: ['ABC Construction LLC', 'ABC Services Inc'], document: { propertyIds: [123, 456], file: { fileName: insurance_certificate.pdf, fileData: JVBERi0xLjQKJcOkw7zDssO..., fileKey: nv_file_key_123 } }, policies: { policy: [{ policyTypeId: 1, description: 'General Liability Insurance', policyNumber: GL-123456789, brokerName: 'ABC Insurance Brokers', expirationDate: 12/31/2024, coverages: { coverage: [{ id: 1, amount: 1000000 }] } }] } }] } }] } } } } }, voidApPayments-r1-request-example: { summary: voidApPayments, value: { auth: { type: apikey }, requestId: '15', method: { name: voidApPayments, version: r1, params: { apPayments: { apPayment: [{ paymentId: 12345, voidDate: '2023-12-15', postMonth: 12/2023, note: 'Payment voided due to error' }, { paymentNumber: PAY-2023-002, paymentBankAccountId: 67890, paymentTypeId: 1, paymentAmount: 1500.5, voidDate: '2023-12-16', postMonth: 12/2023, note: 'Payment voided - duplicate entry' }] } } } } }, getInvoices-r1-response-example: { summary: getInvoices, value: { response: { requestId: '15', code: 200, result: { invoices: { invoice: [{ id: 12345, isOnHold: f, invoiceNumber: INV-001, date: 06/15/2023, postMonth: 06/01/2023, reversalInvoiceId: 12346, dueDate: 07/15/2023, remittance: { id: 2001, name: 'ABC Vendor Inc.', apPaymentTypeId: '1', apPaymentType: ACH, streetLine1: '123 Main St', streetLine2: 'Suite 100', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', checkAccountTypeName: Checking, checkNameOnAccount: 'ABC Vendor Inc.' }, customer: { id: 5001, externalId: CUST-5001, unitNumber: '101', address: { streetLine1: '456 Oak Ave', streetLine2: 'Apt 2B', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', countryCode: US } }, amount: '$1,250.00', amountDue: $500.00, note: 'Monthly maintenance service', isPosted: 'true', purchaseOrder: { id: 3001, number: PO-2023-001, date: 06/01/2023 }, refundDetails: { propertyId: 100, refundPaymentType: ACH, description: 'Security deposit refund', invoiceNumber: REF-001, remittanceName: 'John Doe', routingNumber: '123456789', accountNumber: '9876543210', nameOnAccount: 'John Doe', refundProcessedOn: 06/15/2023, refundAmount: '500.00', moveOutDate: 05/31/2023, fmoProcessedOn: '06/01/2023 14:30:00', address: { addressLine1: '456 Oak Ave', addressLine2: 'Apt 2B', city: Anytown, stateCode: NY, postalCode: '12345', countryCode: US }, tenants: { tenant: [{ firstName: John, middleName: Michael, lastName: Doe }, { firstName: Jane, lastName: Doe }] } }, vendor: { id: 1001, name: 'ABC Vendor Inc.', locationName: 'Main Office', externalId: EXT-1001, address: { streetLine1: '123 Main St', streetLine2: 'Suite 100', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345' } }, invoicePayments: { invoicePayment: [{ paymentId: 12345, paymentBankId: 456, paymentBankName: 'Wells Fargo', paymentBankAccountName: 'Operating Account', paymentType: ACH, paymentStatus: Processed, reconciliationStatus: Cleared, paymentReturnedReason: 'Insufficient funds', paymentMemo: 'Monthly service payment', paymentDate: 06/15/2023, paymentIssuedOn: 06/15/2023, payeeName: 'ABC Vendor Inc.', paymentNumber: PMT-001234, paymentAmount: '750.00', postMonth: 06/01/2023, postDate: 06/15/2023, isReversed: 0, isQuickCheck: 0 }] }, lineItems: { lineitem: [{ id: 67890, property: { id: 100, name: 'Property A', lookupCode: PROP100 }, glAccount: { id: 2000, name: 'Maintenance Expense', accountNumber: '5100', secondaryNumber: '1234567890' }, description: 'HVAC Repair', quantity: 1, rate: '$1,250.00', amount: '$1,250.00', amountDue: $500.00, shippingAmount: $100.00, discountAmount: $50.00, taxAmount: $100.00, paymentIds: '123,456' }] } }] } } } } }, getInvoices-r2-response-example: { summary: 'getInvoices r2', value: { response: { requestId: '15', code: 200, result: { invoices: { invoice: [{ id: 12345, isOnHold: 0, invoiceNumber: INV-001, invoiceType: Standard, date: '2023-06-15', postMonth: '2023-06-01', postStatus: Posted, dueDate: '2023-07-15', postDate: '2023-06-16', reversalInvoiceId: 12346, invoiceNote: 'Monthly maintenance service', routingTagId: 100, routingTagName: Maintenance, remittance: { id: 1001, name: 'ABC Vendor Inc.', apPaymentTypeId: 1, apPaymentType: ACH, streetLine1: '123 Main St', streetLine2: 'Suite 100', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', checkAccountTypeName: Checking, checkNameOnAccount: 'ABC Vendor Inc.' }, customer: { id: 5001, externalId: CUST-5001, unitNumber: '101', address: { streetLine1: '456 Oak Ave', streetLine2: 'Apt 2B', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', countryCode: US } }, subTotal: '1250.00', taxAmount: '100.00', shippingAmount: '25.00', discountAmount: '50.00', amount: '1250.00', amountDue: '500.00', note: 'Monthly maintenance service', retention: '125.00', isPosted: 1, vendor: { id: 1001, name: 'ABC Vendor Inc.', locationName: 'Main Office', locationCode: VENDOR001, externalId: EXT-1001, address: { streetLine1: '123 Main St', streetLine2: 'Suite 100', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345' } }, account: { id: 12345, accountNumber: ACC-001234 }, refundDetails: { propertyId: 100, refundPaymentType: ACH, description: 'Security deposit refund', invoiceNumber: REF-001, remittanceName: 'John Doe', routingNumber: '123456789', accountNumber: '9876543210', nameOnAccount: 'John Doe', refundProcessedOn: '2023-06-15', refundAmount: '500.00', moveOutDate: '2023-05-31', fmoProcessedOn: '2023-06-01 10:30:00', address: { streetLine1: '456 Oak Ave', streetLine2: 'Apt 2B', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', countryCode: US }, tenants: { tenant: [{ firstName: John, middleName: Michael, lastName: Doe }, { firstName: Jane, lastName: Doe }] } }, invoicePayments: { invoicePayment: [{ paymentId: 12345, paymentBankId: 456, paymentBankName: 'Wells Fargo', paymentBankAccountName: 'Operating Account', paymentType: ACH, paymentStatus: Processed, reconciliationStatus: Cleared, paymentReturnedReason: 'Insufficient funds', paymentMemo: 'Monthly service payment', paymentDate: '2023-06-15', paymentIssuedOn: '2023-06-15', payeeName: 'ABC Vendor Inc.', paymentNumber: PMT-001234, paymentAmount: '750.00', postMonth: '2023-06-01', postDate: '2023-06-15', isReversed: 0, isQuickCheck: 0 }] }, lineItems: { lineItem: [{ id: 67890, property: { id: 100, name: 'Property A', lookupCode: PROP-A-001 }, glAccount: { id: 2000, name: 'Maintenance Expense', accountNumber: '5100', secondaryNumber: '1234567890', catalogItemName: 'HVAC Maintenance Services' }, jobCostDetails: { jobCostCodeId: 4001, jobCostCodeName: 'HVAC Maintenance', jobId: 5001, jobName: 'Building A HVAC Project', contractId: 6001, contractName: 'Annual HVAC Maintenance Contract' }, departmentId: 7001, departmentName: 'Facilities Management', propertyUnitNumber: 101A, propertyBuildingNumber: 'Building A', maintenanceLocationId: 8001, poNumber: PO-2024-001, customTagId: 9001, customTagName: 'Capital Projects', confidential: 0, is1099: 1, billback: 0, description: 'HVAC Repair', quantity: 1, unitOfMeasure: 10, rate: '1250.00', subTotal: '1250.00', amount: '1250.00', amountDue: '500.00', discountAmount: '50.00', taxAmount: '100.00', retention: '62.50', paymentIds: '123,456' }] } }] } } } } }, getPoReceivingRecords-r1-response-example: { summary: getPoReceivingRecords, value: { response: { requestId: '15', code: 200, result: { purchaseOrders: { purchaseOrder: [{ purchaseOrderNumber: 123456, purchaseOrderPostMonth: 06/2023, poDetails: { poDetail: [{ id: 12345, catalogItemName: 'Office Supplies - Pens', qtyOrdered: 100, unitCost: '1.50', receivingRecords: { receivingRecord: [{ id: 5001, propertyId: 100, createdOn: '06/15/2023 14:30:00 MST', postMonthReceived: 06/2023, receiverName: 'John Doe', assetLocation: 'Warehouse A', qtyReceived: '95.000', unitCost: '1.50', dateReceived: '2023-06-15', qtyInvoiced: 90 }], returnRecord: [{ receiverId: 5002, propertyId: 100, createdOn: '06/20/2023 10:15:00 MST', creditInvoiceId: 7001, qtyReturned: '5.000', unitCost: '1.50', dateReturned: '2023-06-20', postMonthReturned: 06/2023, receiverName: 'Jane Smith', assetLocation: 'Warehouse A' }], unreceivingRecord: [{ id: 5003, propertyId: 100, createdOn: '06/25/2023 16:45:00 MST', postMonthUnreceived: 06/2023, unreceiverName: 'Mike Johnson', assetLocation: 'Warehouse A', qtyUnreceived: '10.000', unitCost: '1.50', dateUnreceived: '2023-06-25', qtyInvoiced: 0 }] }, cancelledRecords: { cancelledRecord: [{ id: 6001, propertyId: 100, createdOn: '07/01/2023 09:30:00 MST', qtyCancelled: '25.000', unitCost: '1.50', dateCancelled: '2023-07-01', postMonthCancelled: 07/2023, cancelledBy: 'Admin User' }] } }] } }] } } } } }, getPurchaseOrders-r1-response-example: { summary: getPurchaseOrders, value: { response: { requestId: '15', code: 200, result: { purchaseOrders: { purchaseOrder: [{ purchaseOrderNumber: '123456', purchaseOrderType: 'Standard Purchase Order', vendor: { id: 1234, name: 'ABC Supply Company' }, vendorCode: VND001, vendorLocation: 'Main Office', postMonth: 06/01/2023, postDate: 06/15/2023, poStatusId: 1, poApprovalTypeId: 1, routingTagId: 101, poNote: 'Office supplies order for Q2', unitNumberId: 501, createdOn: '06/01/2023 10:30:00.00 MDT', attachedUrl: 'https://vendor.com/po/12345', subTotal: '1000.00', taxAmount: '80.00', shippingAmount: '25.00', discountAmount: '50.00', orderAmount: '1055.00', lineItems: { lineItem: [{ id: 67890, glAccountId: '2001', glAccountNumber: '5100001', catalogItemName: 'Office Supplies - Pens', contractName: 'Stationery Contract 2023', job: 'Office Renovation Phase 1', catalogItemNumber: ITEM-12345, description: 'Blue ink ballpoint pens, 12-pack', orderStatus: '1', orderQuantity: '100.000', unitOfMeasure: '1', rate: '1.500', subTotal: '150.00', taxAmount: '12.00', shippingAmount: '5.00', discountAmount: '7.50', orderAmount: '159.50', propertyId: '100', propertyUnitNumber: '101', propertyBuildingNumber: 'Building A', unitDesignation: CORE, departmentId: '301', customTagId: '401', customTagName: 'Maintenance Tag', customTagCode: MAINT-001, isConfidential: 0, invoices: { invoice: [{ invoiceId: 8001, invoiceNumber: INV-2023-001 }] } }] } }] } } } } }, getTaxFormData-r1-response-example: { summary: getTaxFormData, value: { response: { requestId: '15', code: 200, result: { Properties: { property: { 100: { '@attributes': { id: 100 }, vendors: { vendor: [{ vendorId: 5001, vendorType: Business, vendorTinType: 2, vendorTin: 12-3456789, vendorBusinessNameorName: 'ABC Construction Company', nameOnTaxReturn: 'ABC Construction Company Inc.', vendorAddress1: '123 Main Street', vendorAddress2: 'Suite 100', vendorCity: Anytown, vendorState: 'New York', vendorZipCode: '12345', vendorPhoneNumber: 555-123-4567, formType: 1099-MISC, form1099Boxes: { form1099Box: { boxNumber: 'Box 1', boxValue: '15000.00' } } }, { vendorId: 5002, vendorType: Individual, vendorTinType: 1, vendorTin: 123-45-6789, vendorBusinessNameorName: 'John Smith Contracting', nameOnTaxReturn: 'John Smith', vendorAddress1: '789 Contractor Lane', vendorCity: 'Work City', vendorState: Texas, vendorZipCode: '75001', vendorPhoneNumber: 555-456-7890, formType: 1099-NEC, form1099Boxes: { form1099Box: { boxNumber: 'Box 1', boxValue: '8500.00' } } }] }, payers: { '@attributes': { isCompanyLevel: 1 }, payer: [{ payerType: Business, payerTinType: 2, payerTin: 98-7654321, payerBusinessNameOrName: 'Property Management LLC', payerAddress1: '456 Business Ave', payerAddress2: 'Floor 3', payerCity: 'Business City', payerState: California, payerZipCode: '90210', payerPhoneNumber: 555-987-6543 }] } } } } } } } }, getVendorLocations-r1-response-example: { summary: getVendorLocations, value: { response: { requestId: '15', code: 200, result: { Locations: { Location: { 3001: { '@attributes': { Id: 3001, Name: 'Main Office' }, VendorId: '1234', VendorName: 'ABC Construction Company', VendorCode: VND001, ExternalId: EXT-12345, Status: Active, Term: 'Net 30', Accounts: { Account: [{ AccountId: 5001, AccountNumber: ACC-2023-001, Description: 'General Services Account', RemittanceId: 7001, RemittanceName: 'ABC Construction Remittance', RemittancePaymentTypeId: 1, GlAccountId: 2001, LocationName: 'Main Office', PropertyId: 100, UtilityBillReceiptTypeId: 1, IsAuditInvoice: 0, IsDisabled: 0, IsCaptureInvoiceTotalOnly: 0, SubAccounts: { SubAccount: [{ SubAccountNumber: SUB-001, Description: 'Materials Sub-account', GlAccountId: 2002 }] } }] }, LegalEntity: { '@attributes': { Id: 8001 }, '@value': 'ABC Construction Company LLC' }, Properties: { Property: [{ '@attributes': { Id: 100, Name: 'Sunset Apartments' } }] }, Contacts: { Contact: [{ '@attributes': { Type: Vendor }, Name: 'John Smith', StreetLine1: '123 Main Street', StreetLine2: 'Suite 100', StreetLine3: 'Floor 2', Province: Ontario, City: Anytown, State: NY, Country: USA, PostalCode: '12345', PhoneNumber: 555-123-4567, FaxNumber: 555-123-4568, EmailAddress: john.smith@abcconstruction.com, WebsiteUrl: 'https://www.abcconstruction.com' }] } } } }, Insurances: { Insurance: [{ '@attributes': { Id: 9001, Provider: 'ABC Insurance Company' }, VendorId: '1234', PolicyTypes: { PolicyType: [{ Type: 'General Liability', PolicyNumber: GL-12345678, Expiration: 12/31/2024, Coverages: { Coverage: [{ '@attributes': { Item: 'Per Occurrence', Amount: '1000000.00' } }] } }] } }] } } } } }, getVendorPickLists-r1-response-example: { summary: getVendorPickLists, value: { response: { requestId: '15', code: 200, result: { vendorCategoryTypes: { vendorCategoryType: [{ '@attributes': { id: 1, name: Construction } }, { '@attributes': { id: 2, name: Maintenance } }] }, ownerTypes: { ownerType: [{ '@attributes': { id: 1, name: Individual } }, { '@attributes': { id: 2, name: Corporation } }] }, apPayeeTerms: { apPayeeTerm: [{ '@attributes': { id: 1, name: 'Net 30', discount: '2% if paid within 10 days', dueDate: '30 Days after invoice date' } }] }, apPayeeTypes: { apPayeeType: [{ '@attributes': { id: 1, name: Standard } }, { '@attributes': { id: 2, name: Intercompany } }] }, apPayeeStatusTypes: { apPayeeStatusType: [{ '@attributes': { id: 1, name: Active } }, { '@attributes': { id: 2, name: Inactive } }] }, form1099Types: { form1099Type: [{ '@attributes': { id: 1, name: 1099-MISC } }, { '@attributes': { id: 2, name: 1099-NEC } }] }, form1099BoxTypes: { form1099BoxType: [{ '@attributes': { id: 1, name: 'Box 1 - Nonemployee compensation' } }] }, apRemittanceTypes: { apRemittanceType: [{ '@attributes': { id: 1, name: Check } }, { '@attributes': { id: 2, name: ACH } }] }, utilityBillReceiptTypes: { utilityBillReceiptType: [{ '@attributes': { id: 1, name: Electric } }, { '@attributes': { id: 2, name: Gas } }] }, bankAccountTypes: { bankAccountType: [{ '@attributes': { id: 1, name: Checking } }, { '@attributes': { id: 2, name: Savings } }] }, complianceStatuses: { complianceStatus: [{ '@attributes': { id: 1, name: Compliant } }, { '@attributes': { id: 2, name: Non-Compliant } }] }, routingTags: { routingTag: [{ '@attributes': { id: 1, name: Maintenance }, transactionTypes: [{ id: 1, name: Invoice }, { id: 2, name: 'Purchase Order' }] }] }, policies: { policy: [{ policyTypeId: 1, policyTypeName: 'General Liability', coverages: { coverage: [{ id: 1, name: 'Per Occurrence' }, { id: 2, name: Aggregate }] } }] }, purchaseOrderStatuses: { purchaseOrderStatus: [{ id: 1, name: Open }, { id: 2, name: Closed }] }, purchaseOrderTypes: { purchaseOrderType: [{ id: 1, name: 'Standard Purchase Order' }, { id: 2, name: 'Catalog Purchase Order' }] }, invoiceTypes: { invoiceType: [{ id: 1, name: 'Standard Invoice' }, { id: 2, name: 'Credit Memo' }] }, purchaseOrderApprovalTypes: { purchaseOrderApprovalType: [{ id: 1, name: Approved }, { id: 2, name: Pending }] }, unitsOfMeasure: { unitOfMeasure: [{ '@attributes': { id: 1, name: Each, type: Quantity } }, { '@attributes': { id: 2, name: Gallon, type: Volume } }] } } } } }, getVendors-r2-response-example: { summary: 'getVendors r2', value: { response: { requestId: '15', code: 200, result: { vendors: { vendor: [{ id: 1234, vendorName: 'ABC Construction Company', vendorTypeId: 1, vendorType: Standard, statusTypeId: 1, status: Active, termId: 1, term: 'Net 30', defaultGlAccountId: 2001, defaultGlAccount: 'Accounts Payable', isConsolidated: false, externalId: EXT-12345, isOnSite: false, vendorCategoryTypeId: [1, 3], vendorCategoryType: [Construction, Maintenance], website: 'https://www.abcconstruction.com', notes: 'Preferred contractor for HVAC work', legalEntities: { legalEntity: [{ id: 8001, name: 'ABC Construction Company LLC', taxIdNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., receives1099: true, form1099TypeId: 1, form1099Type: 1099-MISC, form1099BoxTypeId: 1, form1099BoxType: 'Box 1-Nonemployee compensation' }] }, apRemittances: { apRemittance: [{ id: 7001, name: 'ABC Construction Remittance', locationId: 3001, apPaymentTypeId: 1, apPaymentType: Check, checkAccountTypeId: 1, checkAccountType: Checking, checkNameOnAccount: 'ABC Construction Company LLC', checkRoutingNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., checkAccountNumber: eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0..., streetLine1: '123 Main Street', streetLine2: 'Suite 100', streetLine3: 'Floor 2', city: Anytown, stateCode: NY, postalCode: '12345', country: USA, isDefault: 1 }] }, contacts: { contact: [{ id: 6001, nameFirst: John, nameLast: Smith, email: john.smith@abcconstruction.com, phone: 555-123-4567, position: 'Project Manager', faxNumber: 555-123-4568 }] }, locations: { location: [{ id: 3001, name: 'Main Office', vendorCode: VND001, legalEntityId: '8001', apRemittanceId: 7001, isPrimary: t, note: 'Primary business address', streetLine1: '123 Main Street', streetLine2: 'Suite 100', country: USA, city: Anytown, stateCode: NY, postalCode: '12345', approvedForAllProperties: '0', propertyIds: '100,200,300' }] }, compliances: { compliance: [{ legalEntityId: '8001', legalEntity: 'ABC Construction Company LLC', propertyId: 100, statusId: 1, status: Compliant }] }, accounts: { account: [{ accountId: 5001, accountNumber: ACC-2023-001, description: 'General Services Account', remittanceId: 7001, remittanceName: 'ABC Construction Remittance', remittancePaymentTypeId: 1, glAccountId: 2001, locationName: 'Main Office', propertyId: 100, utilityBillReceiptTypeId: 1, isAuditInvoice: 0, isDisabled: 0, isCaptureInvoiceTotalOnly: 0, subAccounts: { subAccount: [{ subAccountNumber: SUB-001, description: 'Materials Sub-account', glAccountId: 2002 }] } }] } }, { id: 9012, vendorName: 'XYZ Supplies (out-of-scope, minimal record)', locations: { location: [{ id: 3050, name: Warehouse, vendorCode: VND050, legalEntityId: '8050', isPrimary: t, approvedForAllProperties: '0', propertyIds: '400,500' }] } }] } } } } }, markInvoicesExported-r1-response-example: { summary: markInvoicesExported, value: { response: { requestId: '15', code: 200, result: { success: 'Invoices marked as exported successfully.' } } } }, sendInvoices-r1-response-example: { summary: sendInvoices, value: { response: { requestId: '15', code: 200, result: { ApBatch: { '@attributes': { reference_id: 8001 }, ApHeaders: { ApHeader: [{ '@attributes': { reference_id: 9001, invoice_number: INV-2023-001, node: 1, status: Success, message: 'ApHeader inserted successfully.' } }, { '@attributes': { reference_id: 9002, invoice_number: INV-2023-002, node: 2, status: Success, message: 'ApHeader inserted successfully.' } }] } } } } } }, sendInvoices-r2-response-example: { summary: 'sendInvoices r2', value: { response: { requestId: '15', code: 200, result: { apBatch: { apBatchId: 8001, apHeaders: { apHeader: [{ node: 1, invoiceNumber: '2345454656', apHeaderId: 9001, status: Success, message: 'ApHeader inserted successfully.' }, { node: 2, invoiceNumber: '4343543534', apHeaderId: 9002, status: Success, message: 'ApHeader inserted successfully.' }] } } } } } }, sendPurchaseOrders-r1-response-example: { summary: sendPurchaseOrders, value: { response: { requestId: '15', code: 200, result: { apHeaders: { apHeader: [{ node: 1, status: Success, message: 'Purchase Order inserted successfully', apHeaderId: 789012, poNumber: 123456 }] } } } } }, sendVendors-r1-response-example: { summary: sendVendors, value: { response: { requestId: '15', code: 200, result: { vendors: { vendor: [{ '@attributes': { vendorId: 12345, status: Success, message: 'Vendor inserted successfully.' } }] } } } } }, updateInvoices-r1-response-example: { summary: updateInvoices, value: { response: { requestId: '15', code: 200, result: { apHeaders: { apHeader: [{ node: 1, reference_id: 12345, status: Success, message: 'Invoice updated successfully.' }, { node: 2, reference_id: 12346, status: Success, message: 'Invoice updated successfully.' }] } } } } }, updateVendors-r1-response-example: { summary: updateVendors, value: { response: { requestId: '15', code: 200, result: { vendors: { vendor: [{ '@attributes': { reference_id: 12345, status: Success, node: 0, message: 'Vendor updated successfully.' } }] } } } } }, voidApPayments-r1-response-example: { summary: voidApPayments, value: { response: { requestId: '15', code: 200, result: { apPayments: { apPayment: [{ node: 1, status: Success, message: 'Payment voided successfully.', paymentId: 12345, paymentNumber: PAY-2023-001 }] } } } } } } responses: { generalFailureResponse: { description: 'Error Response', content: { application/json: { schema: { type: object, required: [response], properties: { response: { type: object, required: [error], properties: { error: { type: object, required: [code, message], properties: { code: { type: integer, description: 'error code one of the [ 1xx, 3xx, 4xx, 5xx ]', example: 400 }, message: { type: string, description: 'error message', example: 'Bad Request' } } } } } } }, examples: { failure: { summary: failure, value: { response: { error: { code: 400, message: 'Bad Request' } } } } } } } } }