MCPサーバー

Elron Club Public Rentals

club.elron/public-rentals
不動産 公開・接続可能 MCP 2025-11-25

このMCPでできること

Searches furnished apartment rentals and supports availability checks, applications, viewings, quotes, contracts, payments, and reservations.

applications.complete_document_upload
Complete a signed application-document upload
Verify the uploaded object, content signature, session ownership, expiry, and exact application version before creating the protected document record.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'sessionToken', 'uploadSessionId', 'idempotencyKey'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'uploadSessionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'documentId', 'contextKey', 'fileName', 'mimeType', 'sizeBytes', 'version', 'message'], 'properties': {'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'sizeBytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'contextKey': {'type': 'string'}, 'documentId': {'type': 'string'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.create_document_upload
Create a signed application-document upload
Create a 15-minute, exact-size and exact-content-type signed upload form for one email-verified application at its exact current version.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'contextKey', 'fileName', 'mimeType', 'sizeBytes', 'sessionToken', 'idempotencyKey'], 'properties': {'fileName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'mimeType': {'enum': ['application/pdf', 'image/jpeg', 'image/png'], 'type': 'string'}, 'sizeBytes': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'contextKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'uploadSessionId', 'method', 'uploadUrl', 'fields', 'expiresAt', 'requiredMimeType', 'requiredSizeBytes', 'message'], 'properties': {'fields': {'type': 'object', 'properties': {}, 'additionalProperties': {'type': 'string'}}, 'method': {'type': 'string', 'const': 'POST'}, 'message': {'type': 'string'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'uploadUrl': {'type': 'string', 'format': 'uri'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}, 'uploadSessionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'requiredMimeType': {'type': 'string'}, 'requiredSizeBytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.get_status
Get public application status
Read the privacy-minimized status and next actions for one scoped application session token.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'journey', 'status', 'emailVerified', 'submittedAt', 'updatedAt', 'nextActions'], 'properties': {'status': {'enum': ['EMAIL_VERIFICATION_REQUIRED', 'DRAFT', 'SUBMITTED', 'IN_REVIEW', 'CLOSED'], 'type': 'string'}, 'journey': {'enum': ['INQUIRY', 'APPLICATION'], 'type': 'string'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'updatedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'nextActions': {'type': 'array', 'items': {'enum': ['OPEN_EMAIL_VERIFICATION_LINK', 'UPDATE_APPLICATION', 'UPLOAD_DOCUMENTS', 'SUBMIT_APPLICATION', 'WAIT_FOR_REVIEW', 'CREATE_QUOTE', 'GET_RESERVATION_STATUS'], 'type': 'string'}}, 'submittedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'emailVerified': {'type': 'boolean'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.start
Start an Elron Club inquiry or application
Create or reuse a duplicate-safe applicant workspace for one published rental. Requires explicit current privacy consent and an idempotency key. Email verification is sent to the applicant; the tool never returns the verification URL.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId', 'journey', 'firstName', 'lastName', 'email', 'phone', 'privacyConsentAccepted', 'privacyConsentVersion', 'idempotencyKey'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 320}, 'phone': {'type': 'string', 'maxLength': 100, 'minLength': 6}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'journey': {'enum': ['INQUIRY', 'APPLICATION'], 'type': 'string'}, 'lastName': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'rentalId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'firstName': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'desiredDurationMonths': {'anyOf': [{'type': 'integer', 'maximum': 120, 'minimum': 1}, {'type': 'null'}]}, 'privacyConsentVersion': {'type': 'string', 'const': '2026-07-13'}, 'requestedParkingCount': {'anyOf': [{'type': 'integer', 'maximum': 10, 'minimum': 0}, {'type': 'null'}]}, 'privacyConsentAccepted': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'journey', 'status', 'reusedExistingApplication', 'privacyConsentVersion', 'verificationDelivery', 'session'], 'properties': {'status': {'type': 'string', 'const': 'EMAIL_VERIFICATION_REQUIRED'}, 'journey': {'enum': ['INQUIRY', 'APPLICATION'], 'type': 'string'}, 'session': {'type': 'object', 'properties': {}, 'description': 'Scoped bearer session. It cannot progress until the applicant uses the separately emailed verification link.', 'additionalProperties': {}}, 'rentalId': {'type': 'string'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}, 'verificationDelivery': {'type': 'object', 'properties': {}, 'additionalProperties': {}}, 'privacyConsentVersion': {'type': 'string', 'const': '2026-07-13'}, 'reusedExistingApplication': {'type': 'boolean'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.submit
Submit a verified Elron Club application
Submit one complete email-verified application for review using its exact version, explicit current credit-check and truth-confirmation consent, and a durable idempotency key.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'creditCheckConsentAccepted', 'truthConfirmationAccepted', 'consentVersion', 'sessionToken', 'idempotencyKey'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'consentVersion': {'type': 'string', 'const': '2026-07-13'}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'truthConfirmationAccepted': {'type': 'boolean', 'const': True}, 'creditCheckConsentAccepted': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'status', 'version', 'submittedAt', 'message'], 'properties': {'status': {'enum': ['DRAFT', 'SUBMITTED', 'IN_REVIEW'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'submittedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.update
Update a verified Elron Club application
Update bounded applicant, tenancy, and billing data for one email-verified session using its exact current version and a durable idempotency key.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'sessionToken', 'idempotencyKey'], 'properties': {'minorCount': {'anyOf': [{'type': 'integer', 'maximum': 20, 'minimum': 0}, {'type': 'null'}]}, 'petSummary': {'type': 'string', 'maxLength': 2000}, 'billingCity': {'type': 'string', 'maxLength': 100}, 'billingEmail': {'anyOf': [{'type': 'string', 'const': ''}, {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 320}]}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'tenantProfiles': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'isMainTenant', 'firstName', 'lastName', 'birthDate', 'identityDocumentType', 'passportOrIdNumber', 'phone', 'email', 'nationalityCode', 'permitStatus', 'permitDetails', 'addressSameAsMainTenant', 'addressLine1', 'addressLine2', 'postalCode', 'city', 'countryCode', 'isBillingRecipient', 'isPrimaryTenancyContact'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'city': {'type': 'string', 'maxLength': 100}, 'email': {'anyOf': [{'type': 'string', 'const': ''}, {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 320}]}, 'phone': {'type': 'string', 'maxLength': 100}, 'lastName': {'type': 'string', 'maxLength': 100}, 'birthDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'firstName': {'type': 'string', 'maxLength': 100}, 'postalCode': {'type': 'string', 'maxLength': 30}, 'countryCode': {'type': 'string', 'maxLength': 10}, 'addressLine1': {'type': 'string', 'maxLength': 200}, 'addressLine2': {'type': 'string', 'maxLength': 200}, 'isMainTenant': {'type': 'boolean'}, 'permitStatus': {'enum': ['SWISS_CITIZEN', 'EU_EFTA_CITIZEN', 'PERMIT_B', 'PERMIT_C', 'PERMIT_L', 'PERMIT_G', 'PERMIT_CI', 'PERMIT_F', 'PERMIT_N', 'PERMIT_S', 'NO_PERMIT_YET', 'OTHER'], 'type': 'string'}, 'permitDetails': {'type': 'string', 'maxLength': 500}, 'nationalityCode': {'type': 'string', 'maxLength': 10}, 'isBillingRecipient': {'type': 'boolean'}, 'passportOrIdNumber': {'type': 'string', 'maxLength': 200}, 'identityDocumentType': {'enum': ['PASSPORT', 'EU_ID'], 'type': 'string'}, 'addressSameAsMainTenant': {'type': 'boolean'}, 'isPrimaryTenancyContact': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 10}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'tenantPartyMode': {'enum': ['PRIVATE', 'COMPANY'], 'type': 'string'}, 'applicantMessage': {'type': 'string', 'maxLength': 10000}, 'billingIntentType': {'enum': ['TENANT', 'COMPANY', 'OTHER_PRIVATE'], 'type': 'string'}, 'billingPostalCode': {'type': 'string', 'maxLength': 30}, 'companyTenantCity': {'type': 'string', 'maxLength': 100}, 'companyTenantName': {'type': 'string', 'maxLength': 500}, 'desiredMoveInDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'preferredLanguage': {'enum': ['de', 'en'], 'type': 'string'}, 'billingCountryCode': {'type': 'string', 'maxLength': 10}, 'billingStreetLine1': {'type': 'string', 'maxLength': 200}, 'billingStreetLine2': {'type': 'string', 'maxLength': 200}, 'companyBillingName': {'type': 'string', 'maxLength': 500}, 'desiredMoveOutDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'companyTenantSigners': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'firstName', 'lastName', 'roleTitle', 'email', 'phone'], 'properties': {'id': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'email': {'anyOf': [{'type': 'string', 'const': ''}, {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 320}]}, 'phone': {'type': 'string', 'maxLength': 100}, 'lastName': {'type': 'string', 'maxLength': 100}, 'firstName': {'type': 'string', 'maxLength': 100}, 'roleTitle': {'type': 'string', 'maxLength': 100}}, 'additionalProperties': False}, 'maxItems': 10}, 'contractLanguageCode': {'enum': ['DE', 'EN'], 'type': 'string'}, 'desiredDurationMonths': {'anyOf': [{'type': 'integer', 'maximum': 120, 'minimum': 1}, {'type': 'null'}]}, 'employerOrCompanyName': {'type': 'string', 'maxLength': 500}, 'requestedParkingCount': {'anyOf': [{'type': 'integer', 'maximum': 10, 'minimum': 0}, {'type': 'null'}]}, 'billingPrivateLastName': {'type': 'string', 'maxLength': 100}, 'billingPrivateFirstName': {'type': 'string', 'maxLength': 100}, 'companyTenantPostalCode': {'type': 'string', 'maxLength': 30}, 'employmentStatusSummary': {'type': 'string', 'maxLength': 2000}, 'companyTenantCountryCode': {'type': 'string', 'maxLength': 10}, 'companyTenantStreetLine1': {'type': 'string', 'maxLength': 200}, 'companyTenantStreetLine2': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'status', 'version', 'submittedAt', 'message'], 'properties': {'status': {'enum': ['DRAFT', 'SUBMITTED', 'IN_REVIEW'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'submittedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
applications.upload_document
Upload a verified application document
Upload one bounded PDF, JPEG, or PNG identity or company-registry document to an email-verified application using its exact version and a durable idempotency key.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'contextKey', 'fileName', 'mimeType', 'sizeBytes', 'contentBase64', 'sessionToken', 'idempotencyKey'], 'properties': {'fileName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'mimeType': {'enum': ['application/pdf', 'image/jpeg', 'image/png'], 'type': 'string'}, 'sizeBytes': {'type': 'integer', 'maximum': 10000000, 'minimum': 1}, 'contextKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'contentBase64': {'type': 'string', 'maxLength': 14000000, 'minLength': 4}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'documentId', 'contextKey', 'fileName', 'mimeType', 'sizeBytes', 'version', 'message'], 'properties': {'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'fileName': {'type': 'string'}, 'mimeType': {'type': 'string'}, 'sizeBytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'contextKey': {'type': 'string'}, 'documentId': {'type': 'string'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
bookings.get_confirmation
Get booking confirmation
Return a privacy-minimized booking confirmation only after the request has converted into the authoritative Stay workflow.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'status', 'version', 'confirmationReference', 'rentalId', 'moveInAt', 'moveOutAt', 'message'], 'properties': {'status': {'enum': ['NOT_CONFIRMED', 'CONFIRMED', 'ACTIVE', 'COMPLETED', 'CANCELLED'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'moveInAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'moveOutAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}, 'confirmationReference': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
contracts.get_signing_link
Get the verified applicant's contract signing link
Return a secure signing URL only when the active signer invitation email matches the email-verified application session. Human verification, review, and signature remain in the signing flow.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'status', 'version', 'signingUrl', 'signerStatus', 'message'], 'properties': {'status': {'enum': ['NOT_READY', 'READY_TO_SIGN', 'SIGNED', 'DECLINED', 'EXPIRED'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'signingUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}], 'x-sensitive': True}, 'signerStatus': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
payments.get_status
Get first-payment status
Return due and received payment truth for the scoped application. An approved human-action URL is returned only from an exact, unexpired provider session; no authorization URL is fabricated.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'status', 'version', 'dueAt', 'paidAt', 'authorizationUrl', 'authorizationExpiresAt', 'message'], 'properties': {'dueAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'paidAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'status': {'enum': ['NOT_READY', 'AWAITING_PAYMENT', 'OVERDUE', 'PAID'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}, 'authorizationUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}], 'x-sensitive': True}, 'authorizationExpiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
quotes.accept
Accept a quote and claim an expiry-bound availability hold
With explicit customer confirmation, accept one exact active quote and atomically claim a 30-minute request-owned availability hold. This does not create or sign a contract and does not authorize payment.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedQuoteVersion', 'acceptanceConfirmed', 'sessionToken', 'quoteId', 'idempotencyKey'], 'properties': {'quoteId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'acceptanceConfirmed': {'type': 'boolean', 'const': True}, 'expectedQuoteVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'quoteId', 'version', 'rentalId', 'status', 'issuedAt', 'expiresAt', 'terms', 'availability'], 'properties': {'terms': {'type': 'object', 'required': ['currency', 'monthlyRent', 'netMonthlyRent', 'deposit', 'billingPeriod', 'moveInDate', 'moveOutDate', 'parkingCount', 'parkingSummary', 'utilitySummary', 'ancillaryRoomsSummary', 'sharedRoomsSummary', 'noticePeriodMonths', 'firstTerminableAt', 'specialAgreementsSummary', 'contractLanguageCode'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'moveInDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, 'monthlyRent': {'type': 'string', 'pattern': '^[0-9]+\\.[0-9]{2}$'}, 'moveOutDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'parkingCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'billingPeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'netMonthlyRent': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'parkingSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'utilitySummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'firstTerminableAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'noticePeriodMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'sharedRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'contractLanguageCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'ancillaryRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialAgreementsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'enum': ['ACTIVE', 'ACCEPTED', 'EXPIRED', 'SUPERSEDED', 'CANCELLED'], 'type': 'string'}, 'quoteId': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'issuedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availability': {'type': 'object', 'required': ['status', 'checkedAt', 'holdExpiresAt'], 'properties': {'status': {'enum': ['AVAILABLE_FOR_HOLD', 'HOLD_ACTIVE', 'NO_LONGER_AVAILABLE'], 'type': 'string'}, 'checkedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'holdExpiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
quotes.create
Create an approved Elron Club rental quote
Snapshot customer-safe approved request terms into a 24-hour quote. The application must be submitted, internally approved, due-diligence positive, and solvency passed. This does not hold inventory.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedApplicationVersion', 'sessionToken', 'idempotencyKey'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedApplicationVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'quoteId', 'version', 'rentalId', 'status', 'issuedAt', 'expiresAt', 'terms', 'availability'], 'properties': {'terms': {'type': 'object', 'required': ['currency', 'monthlyRent', 'netMonthlyRent', 'deposit', 'billingPeriod', 'moveInDate', 'moveOutDate', 'parkingCount', 'parkingSummary', 'utilitySummary', 'ancillaryRoomsSummary', 'sharedRoomsSummary', 'noticePeriodMonths', 'firstTerminableAt', 'specialAgreementsSummary', 'contractLanguageCode'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'moveInDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, 'monthlyRent': {'type': 'string', 'pattern': '^[0-9]+\\.[0-9]{2}$'}, 'moveOutDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'parkingCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'billingPeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'netMonthlyRent': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'parkingSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'utilitySummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'firstTerminableAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'noticePeriodMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'sharedRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'contractLanguageCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'ancillaryRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialAgreementsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'enum': ['ACTIVE', 'ACCEPTED', 'EXPIRED', 'SUPERSEDED', 'CANCELLED'], 'type': 'string'}, 'quoteId': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'issuedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availability': {'type': 'object', 'required': ['status', 'checkedAt', 'holdExpiresAt'], 'properties': {'status': {'enum': ['AVAILABLE_FOR_HOLD', 'HOLD_ACTIVE', 'NO_LONGER_AVAILABLE'], 'type': 'string'}, 'checkedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'holdExpiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
quotes.get
Get a scoped Elron Club rental quote
Read one privacy-minimized quote and its live expiry/availability-hold state using the application session that owns it.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken', 'quoteId'], 'properties': {'quoteId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'quoteId', 'version', 'rentalId', 'status', 'issuedAt', 'expiresAt', 'terms', 'availability'], 'properties': {'terms': {'type': 'object', 'required': ['currency', 'monthlyRent', 'netMonthlyRent', 'deposit', 'billingPeriod', 'moveInDate', 'moveOutDate', 'parkingCount', 'parkingSummary', 'utilitySummary', 'ancillaryRoomsSummary', 'sharedRoomsSummary', 'noticePeriodMonths', 'firstTerminableAt', 'specialAgreementsSummary', 'contractLanguageCode'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'moveInDate': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, 'monthlyRent': {'type': 'string', 'pattern': '^[0-9]+\\.[0-9]{2}$'}, 'moveOutDate': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'parkingCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'billingPeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'netMonthlyRent': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'parkingSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'utilitySummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'firstTerminableAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'noticePeriodMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'sharedRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'contractLanguageCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'ancillaryRoomsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialAgreementsSummary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'status': {'enum': ['ACTIVE', 'ACCEPTED', 'EXPIRED', 'SUPERSEDED', 'CANCELLED'], 'type': 'string'}, 'quoteId': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'issuedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availability': {'type': 'object', 'required': ['status', 'checkedAt', 'holdExpiresAt'], 'properties': {'status': {'enum': ['AVAILABLE_FOR_HOLD', 'HOLD_ACTIVE', 'NO_LONGER_AVAILABLE'], 'type': 'string'}, 'checkedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'holdExpiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
rentals.check_availability
Check verified rental availability
Check the current published availability state and earliest date for one rental. This does not create a hold or reservation.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId'], 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'rentalId': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['rentalId', 'availability', 'canonicalUrl'], 'properties': {'rentalId': {'type': 'string'}, 'availability': {'type': 'object', 'required': ['status', 'availableFrom', 'verifiedAt', 'canStartInquiry'], 'properties': {'status': {'enum': ['AVAILABLE', 'UPCOMING', 'UNAVAILABLE'], 'type': 'string'}, 'verifiedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availableFrom': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'canStartInquiry': {'type': 'boolean'}}, 'additionalProperties': False}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
rentals.get
Get a published Elron Club rental
Return localized customer-safe apartment details, verified availability, duration pricing, deposit, included services, terms, eligibility, media, and inquiry/application links.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId'], 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'rentalId': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'canonicalUrl', 'locale', 'title', 'location', 'apartment', 'availability', 'pricing', 'terms', 'amenities', 'media', 'links'], 'properties': {'links': {'type': 'object', 'required': ['inquiry', 'application'], 'properties': {'inquiry': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'application': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'media': {'type': 'object', 'required': ['images', 'videoUrl', 'virtualTourUrl', 'floorPlanUrl'], 'properties': {'images': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}}, 'videoUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'floorPlanUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'virtualTourUrl': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'terms': {'type': 'object', 'required': ['minimumStayMonths', 'noticePeriod', 'contractType', 'registrationPossible', 'petsAllowed'], 'properties': {'petsAllowed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'contractType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'noticePeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minimumStayMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, {'type': 'null'}]}, 'registrationPossible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'locale': {'enum': ['de', 'en'], 'type': 'string'}, 'pricing': {'type': 'object', 'required': ['currency', 'monthlyByDuration', 'parkingMonthly', 'deposit', 'included', 'paymentMethod'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string', 'const': 'CHF'}, 'included': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'paymentMethod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'parkingMonthly': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}]}, 'monthlyByDuration': {'type': 'array', 'items': {'type': 'object', 'required': ['durationMonths', 'monthlyRent'], 'properties': {'monthlyRent': {'type': 'number', 'minimum': 0}, 'durationMonths': {'anyOf': [{'type': 'number', 'const': 3}, {'type': 'number', 'const': 6}, {'type': 'number', 'const': 12}]}}, 'additionalProperties': False}, 'maxItems': 3}}, 'additionalProperties': False}, 'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'location': {'type': 'object', 'required': ['propertyName', 'city', 'region', 'street', 'postalCode', 'countryCode', 'latitude', 'longitude'], 'properties': {'city': {'type': 'string'}, 'region': {'type': 'string'}, 'street': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latitude': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'longitude': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'postalCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'propertyName': {'type': 'string'}}, 'additionalProperties': False}, 'rentalId': {'type': 'string'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'apartment': {'type': 'object', 'required': ['label', 'rooms', 'areaSquareMeters', 'maximumOccupancy', 'floor', 'furnished'], 'properties': {'floor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'label': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rooms': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'furnished': {'type': 'boolean'}, 'areaSquareMeters': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'maximumOccupancy': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'availability': {'type': 'object', 'required': ['status', 'availableFrom', 'verifiedAt', 'canStartInquiry'], 'properties': {'status': {'enum': ['AVAILABLE', 'UPCOMING', 'UNAVAILABLE'], 'type': 'string'}, 'verifiedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availableFrom': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'canStartInquiry': {'type': 'boolean'}}, 'additionalProperties': False}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
rentals.get_pricing
Get duration pricing and fees
Return current published monthly pricing by supported duration, parking, deposit, inclusions, payment method, and minimum-stay terms. Pricing is informational until a quote or hold is issued.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId'], 'properties': {'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'rentalId': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['rentalId', 'pricing', 'terms', 'availability', 'canonicalUrl'], 'properties': {'terms': {'type': 'object', 'required': ['minimumStayMonths', 'noticePeriod', 'contractType', 'registrationPossible', 'petsAllowed'], 'properties': {'petsAllowed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'contractType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'noticePeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minimumStayMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, {'type': 'null'}]}, 'registrationPossible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'pricing': {'type': 'object', 'required': ['currency', 'monthlyByDuration', 'parkingMonthly', 'deposit', 'included', 'paymentMethod'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string', 'const': 'CHF'}, 'included': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'paymentMethod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'parkingMonthly': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}]}, 'monthlyByDuration': {'type': 'array', 'items': {'type': 'object', 'required': ['durationMonths', 'monthlyRent'], 'properties': {'monthlyRent': {'type': 'number', 'minimum': 0}, 'durationMonths': {'anyOf': [{'type': 'number', 'const': 3}, {'type': 'number', 'const': 6}, {'type': 'number', 'const': 12}]}}, 'additionalProperties': False}, 'maxItems': 3}}, 'additionalProperties': False}, 'rentalId': {'type': 'string'}, 'availability': {'type': 'object', 'required': ['status', 'availableFrom', 'verifiedAt', 'canStartInquiry'], 'properties': {'status': {'enum': ['AVAILABLE', 'UPCOMING', 'UNAVAILABLE'], 'type': 'string'}, 'verifiedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availableFrom': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'canStartInquiry': {'type': 'boolean'}}, 'additionalProperties': False}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
rentals.search
Search published Elron Club rentals
Return a compact, actionable shortlist of published furnished apartments by location, availability, capacity, rooms, duration, and monthly rent. Defaults to 10 available or upcoming rentals; call rentals.get for complete details.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'City name; matching is case- and accent-insensitive.'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum shortlist size; inspect total and hasMore.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Free text across rental, property, city, and region names.'}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'region': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Region name; common English, German, and unaccented forms are accepted.'}, 'minimumRooms': {'type': 'number', 'maximum': 20, 'minimum': 0.5, 'description': 'Minimum room count.'}, 'availableFrom': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'Latest acceptable move-in date in ISO YYYY-MM-DD; later or unverified upcoming availability is excluded.'}, 'durationMonths': {'anyOf': [{'type': 'number', 'const': 3}, {'type': 'number', 'const': 6}, {'type': 'number', 'const': 12}], 'description': 'Minimum rental duration used for price filtering.'}, 'minimumOccupancy': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Minimum supported resident count.'}, 'availabilityStatus': {'enum': ['AVAILABLE_OR_UPCOMING', 'AVAILABLE', 'UPCOMING', 'UNAVAILABLE', 'ANY'], 'type': 'string', 'default': 'AVAILABLE_OR_UPCOMING', 'description': 'Availability scope. The default excludes unavailable inventory.'}, 'maximumMonthlyRent': {'type': 'number', 'maximum': 100000, 'description': 'Maximum monthly rent in CHF for the selected duration.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'generatedAt', 'count', 'total', 'hasMore', 'rentals'], 'properties': {'count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'rentals': {'type': 'array', 'items': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'canonicalUrl', 'locale', 'title', 'summary', 'location', 'apartment', 'availability', 'pricing', 'terms', 'amenities', 'links'], 'properties': {'links': {'type': 'object', 'required': ['inquiry', 'application'], 'properties': {'inquiry': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'application': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'terms': {'type': 'object', 'required': ['minimumStayMonths', 'noticePeriod', 'registrationPossible', 'petsAllowed'], 'properties': {'petsAllowed': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'noticePeriod': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minimumStayMonths': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, {'type': 'null'}]}, 'registrationPossible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'title': {'type': 'string'}, 'locale': {'enum': ['de', 'en'], 'type': 'string'}, 'pricing': {'type': 'object', 'required': ['currency', 'monthlyByDuration', 'parkingMonthly', 'deposit'], 'properties': {'deposit': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string', 'const': 'CHF'}, 'parkingMonthly': {'anyOf': [{'type': 'number', 'minimum': 0}, {'type': 'null'}]}, 'monthlyByDuration': {'type': 'array', 'items': {'type': 'object', 'required': ['durationMonths', 'monthlyRent'], 'properties': {'monthlyRent': {'type': 'number', 'minimum': 0}, 'durationMonths': {'anyOf': [{'type': 'number', 'const': 3}, {'type': 'number', 'const': 6}, {'type': 'number', 'const': 12}]}}, 'additionalProperties': False}, 'maxItems': 3}}, 'additionalProperties': False}, 'summary': {'anyOf': [{'type': 'string', 'maxLength': 280}, {'type': 'null'}]}, 'location': {'type': 'object', 'required': ['propertyName', 'city', 'region', 'postalCode', 'countryCode'], 'properties': {'city': {'type': 'string'}, 'region': {'type': 'string'}, 'postalCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'countryCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'propertyName': {'type': 'string'}}, 'additionalProperties': False}, 'rentalId': {'type': 'string'}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'apartment': {'type': 'object', 'required': ['label', 'rooms', 'areaSquareMeters', 'maximumOccupancy', 'floor', 'furnished'], 'properties': {'floor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'label': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rooms': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'furnished': {'type': 'boolean'}, 'areaSquareMeters': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'maximumOccupancy': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}, 'availability': {'type': 'object', 'required': ['status', 'availableFrom', 'verifiedAt', 'canStartInquiry'], 'properties': {'status': {'enum': ['AVAILABLE', 'UPCOMING', 'UNAVAILABLE'], 'type': 'string'}, 'verifiedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'availableFrom': {'anyOf': [{'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}, {'type': 'null'}]}, 'canStartInquiry': {'type': 'boolean'}}, 'additionalProperties': False}, 'canonicalUrl': {'type': 'string', 'format': 'uri'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'maxItems': 50}, 'generatedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
reservations.get_status
Get scoped reservation progression status
Read privacy-minimized hold, contract, signature, payment, reservation, or confirmation state for one application session.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'rentalId', 'status', 'version', 'holdExpiresAt', 'nextActions'], 'properties': {'status': {'enum': ['NO_HOLD', 'HOLD_ACTIVE', 'HOLD_EXPIRED', 'CONTRACT_PREPARING', 'AWAITING_SIGNATURE', 'SIGNED_AWAITING_PAYMENT', 'PAYMENT_OVERDUE', 'RESERVED', 'CONFIRMED', 'CANCELLED'], 'type': 'string'}, 'version': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'rentalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nextActions': {'type': 'array', 'items': {'type': 'string'}}, 'holdExpiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
viewings.get_status
Get scoped viewing coordination status
Read customer-safe viewing proposals and confirmed viewing state for one email-verified application session.
読み取り専用 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionToken'], 'properties': {'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'applicationVersion', 'proposals', 'confirmedViewings'], 'properties': {'proposals': {'type': 'array', 'items': {'type': 'object', 'required': ['proposalId', 'proposedAt', 'proposedBy', 'status', 'relatedRentalLabel'], 'properties': {'status': {'enum': ['PROPOSED', 'ACCEPTED', 'DECLINED', 'WITHDRAWN', 'EXPIRED'], 'type': 'string'}, 'proposalId': {'type': 'string'}, 'proposedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'proposedBy': {'enum': ['ELRON', 'APPLICANT'], 'type': 'string'}, 'relatedRentalLabel': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}, 'confirmedViewings': {'type': 'array', 'items': {'type': 'object', 'required': ['scheduledAt', 'status', 'mode', 'location'], 'properties': {'mode': {'type': 'string'}, 'status': {'enum': ['CONFIRMED', 'COMPLETED', 'CANCELLED'], 'type': 'string'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'scheduledAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}}, 'applicationVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
viewings.propose_availability
Propose viewing availability
Propose one to five bounded future viewing slots from an email-verified application at its exact version using a durable idempotency key.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'slots', 'sessionToken', 'idempotencyKey'], 'properties': {'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['proposedAt'], 'properties': {'note': {'anyOf': [{'type': 'string', 'maxLength': 1000}, {'type': 'null'}]}, 'proposedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}, 'maxItems': 5, 'minItems': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'status', 'proposalId', 'version', 'message'], 'properties': {'status': {'enum': ['PROPOSED', 'ACCEPTED', 'DECLINED', 'WITHDRAWN', 'EXPIRED'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'proposalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
viewings.respond_to_proposal
Accept or decline a viewing proposal
Accept or decline one pending Elron Club proposal with explicit confirmation, an exact application version, and a durable idempotency key. Acceptance may send the existing viewing confirmation communication.
外部アクセスあり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['expectedVersion', 'action', 'responseConfirmed', 'sessionToken', 'proposalId', 'idempotencyKey'], 'properties': {'action': {'enum': ['ACCEPT', 'DECLINE'], 'type': 'string'}, 'proposalId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'expectedVersion': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'responseConfirmed': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['schemaVersion', 'status', 'proposalId', 'version', 'message'], 'properties': {'status': {'enum': ['PROPOSED', 'ACCEPTED', 'DECLINED', 'WITHDRAWN', 'EXPIRED'], 'type': 'string'}, 'message': {'type': 'string'}, 'version': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'proposalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'schemaVersion': {'type': 'string', 'const': '2026-07-13'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
waitlist.subscribe
Subscribe to regional apartment updates
Activate newsletter updates for one canonical Elron region immediately after the customer explicitly requests them. An explicit customer request may reverse a previous opt-out without a confirmation email; automated inquiry and staff flows cannot override customer opt-outs.
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['email', 'regionKey', 'consent'], 'properties': {'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 180}, 'locale': {'enum': ['de', 'en'], 'type': 'string', 'default': 'de'}, 'consent': {'type': 'boolean', 'const': True}, 'regionKey': {'enum': ['BASEL', 'ZURICH', 'LUZERN', 'BERN'], 'type': 'string'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['status', 'message'], 'properties': {'status': {'type': 'string', 'const': 'active'}, 'message': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
waitlist.unsubscribe
Unsubscribe from all apartment updates
Use an opaque unsubscribe token from an Elron marketing email to stop every waitlist marketing update.
破壊的操作あり 冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token'], 'properties': {'token': {'type': 'string', 'maxLength': 256, 'minLength': 32}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'result'], 'properties': {'result': {'type': 'object', 'required': ['status', 'message'], 'properties': {'status': {'type': 'string', 'const': 'unsubscribed'}, 'message': {'type': 'string'}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'completed'}}, 'additionalProperties': False}
追加
bookings.get_confirmation
2026年9月17日7:58
追加
payments.get_status
2026年9月17日7:58
追加
contracts.get_signing_link
2026年9月17日7:58
追加
reservations.get_status
2026年9月17日7:58
追加
quotes.accept
2026年9月17日7:58
追加
quotes.get
2026年9月17日7:58
追加
quotes.create
2026年9月17日7:58
追加
viewings.respond_to_proposal
2026年9月17日7:58
追加
viewings.propose_availability
2026年9月17日7:58
追加
viewings.get_status
2026年9月17日7:58
追加
applications.submit
2026年9月17日7:58
追加
applications.upload_document
2026年9月17日7:58
追加
applications.complete_document_upload
2026年9月17日7:58
追加
applications.create_document_upload
2026年9月17日7:58
追加
applications.update
2026年9月17日7:58
追加
applications.get_status
2026年9月17日7:58
追加
applications.start
2026年9月17日7:58
追加
rentals.get_pricing
2026年9月17日7:58
追加
rentals.check_availability
2026年9月17日7:58
追加
rentals.get
2026年9月17日7:58
追加
rentals.search
2026年9月17日7:58
追加
waitlist.unsubscribe
2026年9月17日7:58
追加
waitlist.subscribe
2026年9月17日7:58

Microburbs Australian Property Data

au.com.microburbs/property-data

Provides Australian property, suburb, valuation, sales, rental, zoning, school, risk, geospatial, and census statistics.

Superlógica Condomínios

io.github.mcp-dir/superlogica-mcp

Connects to a condominium ERP for billing, collections, agreements, expenses, bank movements, statements, files, communications, …

DFX Real Estate Intelligence

io.github.Capital-W-Holdings/us-property-parcel-real-estate-debt

Provides US commercial real estate, parcel, debt maturity, bank CRE exposure, private capital, investor, ownership, occupancy, an…

RateAPI — live US mortgage, auto, HELOC, personal & deposit rates

dev.rateapi/mcp

Supplies live US lending and deposit rates, financing comparisons, affordability and amortization calculations, eligibility check…

immobilier

fr.synergieloc/immobilier

Creates, validates, analyzes, and exports French building and property designs as DXF, IFC, BCF, PDFs, visualizations, quantities…

US Company Intelligence for AI Agents (SEC EDGAR, x402)

online.x-402/mcp

Offers pay-per-call web extraction, search and LLM tools plus French company, property, procurement, marketplace and security dat…

lilo Vacation Rentals

io.github.lilo-property/mcp-server

Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…

Rafid Intelligence Network

io.github.iabdullahm/rafid-agent-api

Analyzes Oman properties using rental comparables, yields, costs, and payback metrics, and supports Oman company search, profilin…