PROCESS AND SERVICE DESIGN course project developed during the academic year 2025/2026 by Andrea Bellani.
Mark: 24/24
The real estate agency DigiRent intends to digitalize its summer apartment search and rental process. The process involves the following actors:
- DigiRent
- Customer (the individual intending to rent an apartment)
- Owner (the individual who owns the apartment and makes it available for rental)
- Commercial Partner (external partners engaged by DigiRent to increase apartment availability)
The process is initiated when a customer submits their rental requirements, including location, number of rooms, maximum budget, and rental period. In order to fulfill the request, DigiRent may either rely on its internal database of available apartments or engage local commercial partners to identify additional options.
If an apartment from DigiRent’s internal portfolio is selected, the agency fee remains entirely with DigiRent. Conversely, if the apartment is obtained through a commercial partner, DigiRent must allocate a percentage of the agency fee to the partner.
The rental payment must ultimately be transferred to the apartment owner. If the apartment is managed directly by DigiRent, DigiRent transfers the payment to the owner. If the apartment is managed by a commercial partner, DigiRent transfers the payment to the partner, who is then responsible for forwarding the payment to the owner.
In addition to the search and contracting phases, the process must support optional viewing requests. Customers may request to visit one or more apartments before signing the rental agreement.
The process design must explicitly address the following constraints and scenarios:
- After viewing the proposed apartments, the customer may decide not to proceed with any rental (applicable in all cases).
- The entire rental process must be completed within 20 days from the initial customer request (applicable in all cases).
- When more than one commercial partner is involved, they must be contacted simultaneously (mandatory for groups of two or three members; optional for individuals).
- DigiRent engages commercial partners only if negotiations regarding internally managed apartments are unsuccessful (mandatory for groups of two or three members; optional for individuals).
- The number of commercial partners to be contacted depends on the requested location (mandatory for groups of three members; optional for individuals and groups of two).
- Payment must be processed through a banking service acting as an intermediary between DigiRent and the apartment owner (mandatory for groups of three members; optional for individuals and groups of two).
-
🟢: the task was completed and currently not under revision;
-
🟡: the task was completed but it's currently on revision;
-
🔴: the task was not started;
-
🛠️: the task is currently under development;
| Task | Status | Notes |
|---|---|---|
| Choreography diagram | 🟢 | Final version is up and checked. |
| Abstract collaboration diagram | 🟢 | Final version is up and checked. |
| DigiRent process Workflow Net | 🟢 | Final version is up and checked. |
| Third-party services OpenAPI | 🟢 | Final version is up and checked. |
| Third-party services implementation | 🟢 | Final version is up and checked. |
| DigiRent executable business process | 🟢 | Final version is up and checked. |
- choreography and collaboration BPMN diagrams: Signavio
- workflow nets: WoPeD
- services APIs specifications: Swagger
- services and Camunda workers implementation: node.js
- Identity manager: Keycloak 26.6.1 (Quarkus distribution)
- executable process: Camunda 8.9 (self-managed)
The entire project was fully developed on Windows 11 Home.