Hosty — a Short-Term Property Rent Management System
At Airbnb, the major part of the real estate property is managed by special companies that help homeowners earn money without spending their time on calendar updates, meeting guests, and cleaning after they leave.
Stfalcon was approached by a client who had experience in the sphere of real estate rent and consequently a good knowledge of the subject area and first-hand understanding of the problems the real estate managers face.
Task
There have already existed a number of solutions for property management companies on the market, but they were either inconvenient or not very functional. Stfalcon’s major task was to design the interface that will make managing numerous properties simple and convenient. Additionally, we had the challenge to integrate our solution with the Airbnb API so that large amounts of data were quickly synchronized.
Solution
Integration with Airbnb
The process of integration with Airbnb began with the official certification. We had to prove that our project meets the company’s strict requirements for security, functionality, and processability. The certification process took us 2 months, and only after that, we’ve got partner access to the API. The difficulty of working with such integrations is that the API documentation is not complete, and we had to continuously change the logic of our product due to the constant changes on the Airbnb site.
However, the integration allowed us not only to connect the previously created listings on Airbnb, but also to create new property objects with more than 100 fields of information (property description, check-in rules, prices, photos, and other settings).
Calendars
One of the most important tasks that the service solves is property reservation management. Before making a list of reservations, we took up a more complex task, to realize displaying of the reservations in the context of dates — in the form of a calendar.
There are several types of calendars in the system:
- A calendar for a separate apartment, with the ability to edit prices for each day and view the details of reservations.
- A multi-calendar allowing working with a complete portfolio of real estate property, for instance, if a company has 100 or more listings.
- A calendar of a specific reservation, that takes neighboring reservations into account.
To correctly implement the work of the calendars, we did not even consider the ready-made solutions, since none of them could satisfy the needs of the project. Therefore, we have developed 3 custom components for the calendars with the possibility to further scale and change them to suit business needs.
Reservations
The booking orders that come from Airbnb are processed in our solution with different logic depending on the status (sending notifications, checking the possibility of switching to another status). The system performs asynchronous background tasks: auto-sending messages when booking (check-in instructions), check-in (stay rules), check-out (please leave a review). The constant change of statuses requires updates transferring from the server to the client.
Messaging
A distinctive feature of the Airbnb platform is the active usage of chat between a guest and a property owner. It was very important for us to provide managers with a convenient tool for messaging. A user of our system works with several Airbnb accounts at a time, so when communicating with a guest, he should always see the details of the reservation, apartment, and account on whose behalf he is communicating.
In the chat, we implemented the possibility to send standard responses saved earlier. A user can also accept or decline reservations directly from the chat — in general, we did everything for the quick and efficient work of a manager.
Automation
With the managers’ routine tasks in mind we developed several systems for their work automation :
- Auto-messages are sent at a certain time, or when a trigger is activated (the moment of booking/check-in/check-out).
- Auto-review, sending a rating and feedback out of a set of templates.
- Auto-tasks, for example, the cleaning is scheduled automatically before the guest arrives.
Mobile app
In the second version of the product, we have developed an application for Android and iOS. The mobile app is intended not to duplicate the functionality of a web application, but to take advantage of the benefits of a mobile device. Therefore, we provided smartphone users with the functionality of a chat, tasks manager, and calendar review.
As with most of our projects, we used the Clean Architecture approach with Dagger2 for maximum flexibility. What is more, we easily connected the entire application UI with the necessary data without the threat of information leakages. Android Architecture Components helped us to implement that.
For the iOS application, we customized the calendar using the JTAppleCalendar library.
Result
Thanks to the well-thought-out and stable infrastructure of the project that ensures smooth operation of an existing service and makes working with the updates and adding new functionality easy, the other platforms will also be connected to the service in the future in addition to Airbnb.
Cast:
- Maks
Designer
- Ruslan
Frontend Developer
- Sergey Zheleznyak
Backend Developer
- Oleksandr K.
Android Developer
- Dmytro
iOS developer
- Yevhenii Aronov
iOS developer