General Information
Documentation for managing property rental contracts
Overview
The contracts module allows you to track the history of rental relationships for each property. The system ensures that only one contract can be active at any given time.
Key Features
- Track contract history per property
- Manage signing, start and end dates
- Automatic contract date overlap validation
- Link tenant to contract
- Specify rental type (long-term, short-term)
Access Permissions
Access to contracts depends on the user's role in the property.
| Role | View | Add | Edit | Delete |
|---|---|---|---|---|
| Landlord | Yes | Yes | Yes | Yes |
| Landlord Agent | Yes | Yes | Yes | Yes |
| Tenant | Yes | No | No | No |
| Tenant Agent | Yes | No | No | No |
| Maintenance Staff | No | No | No | No |
Contract Fields
Each contract contains the following fields:
| Field | Required | Description |
|---|---|---|
| Name | Optional | Contract name. If not specified - will be "-" |
| Tenant | Required | Tenant user from the system |
| Rental Type | Required | Rental type from reference |
| Signing Date | Required | Contract signing date |
| Start Date | Required | Contract start date |
| End Date | Optional | End date. Empty = open-ended contract |
Date Overlap Control
Important!
The system strictly ensures that contract dates do not overlap. Only one contract can be active for a property at any given time. An error will be shown when trying to create or edit a contract with dates that overlap with an existing one.
Example:
- Contract A: 01.01.2025 - 31.12.2025
- Contract B with start date 01.06.2025 will be blocked because this date falls within Contract A period
Contract Statuses
Contract status is determined automatically based on dates:
Current date is between start and end dates (or no end date)
Contract end date is in the past
Contract start date is in the future
Rental Types
When creating a contract, you need to specify the rental type:
| Type | Description |
|---|---|
| Long-term rental | Rental for a period of 1 month or more |
| Short-term rental | Rental for a period of less than 1 month (daily, weekly) |
How to Add a Contract
Go to Property
Open the property card where you want to create a contract.
Select "Contracts"
In the property menu, click the "Contracts" button to go to the contracts list.
Click "Add"
Click the "Add Contract" button to open the creation form.
Fill the Form
Select tenant, rental type, specify dates and click "Save".
Contract Documents
You can attach scanned copies of documents to each contract: main agreement, addendums, acts, etc.
Allowed formats
- PDF, JPG, JPEG, PNG
- Maximum file size: 10 MB
Document access permissions
| Role | View | Upload | Delete |
|---|---|---|---|
| Landlord | Yes | Yes | Yes |
| Landlord Agent | Yes | Yes | Yes |
| Tenant | Yes | Yes | No |
| Tenant Agent | Yes | Yes | No |
Deletion restriction
Only the property owner and their agent can delete documents. Tenants and their agents can only view and upload documents.
REST API
Contracts can be managed via API:
Service layer note
GET /api/v1/properties/{id}/contracts # List property contracts
POST /api/v1/properties/{id}/contracts # Create contract
GET /api/v1/contracts/{id} # Get contract
PUT /api/v1/contracts/{id} # Update contract
DELETE /api/v1/contracts/{id} # Delete contract
GET /api/v1/properties/{id}/contracts/active # Active contract
Contract Documents API
GET /api/v1/contracts/{id}/documents # List contract documents
POST /api/v1/contracts/{id}/documents # Upload document
DELETE /api/v1/contracts/{id}/documents/{docId} # Delete document (owner only)
Full API documentation is available in Swagger:
Open API Documentation