Hosty — система управління для менеджерів короткотермінової оренди нерухомості
![](https://storage.stfalcon.com/uploads/images/1888332f9b38377657b2bfd0bbd2e399.webp)
У Airbnb великою частиною нерухомості управляють спеціальні компанії, які допомагають власникам житла заробляти і при цьому не витрачати особистий час на оновлення календаря, прийом гостей і прибирання.
До нас звернувся клієнт з досвідом роботи у сфері здачі житла, з глибокими знаннями предметної області і розумінням проблем менеджерів нерухомості.
Завдання
На ринку вже існував ряд продуктів для управляючих компаній, але вони були або незручними, або мало функціональними. Наше головне завдання — спроєктувати інтерфейс, що дозволить просто і зручно управляти великою кількістю об'єктів нерухомості. Паралельно з проєктуванням інтерфейсу складним і важливим завданням було реалізувати інтеграцію з API Airbnb, для швидкої синхронізації великих масивів даних.
Рішення
Інтеграція з Airbnb
Процес інтеграції з Airbnb почався з проходження нами офіційної сертифікації компанії: виконання жорстких вимог Airbnb з безпеки, функціональності і технологічності нашого проєкту. Процес сертифікації зайняв 2 місяці. Тільки після цього у нас з'явився партнерський доступ до API. Складність роботи з подібними інтеграціями полягає в тому, що документація по API не є повною і постійні зміни на боці Airbnb змушували нас працювати в ритмі регулярних змін логіки роботи нашого продукту.
Інтеграція дозволила не тільки підключати вже раніше створені лістинги на Airbnb, але і створювати нові об'єкти нерухомості із зазначенням понад 100 полів інформації про житло (опис, правила заїзду, ціни, фото, та ін. налаштування).
![](https://storage.stfalcon.com/uploads/images/aa581e0b23a7fcc9971cc80e72788054.webp)
Календарі
Одна з найважливіших задач, які вирішує наш сервіс, це управління резервуванням житла. Однак перед тим як робити список бронювань, ми взялися за більш складну задачу: відображення бронювань у контексті дат — у форматі календаря. В системі існує кілька типів календарів:
- Календар для роботи з окремою квартирою, з можливістю редагування цін на кожен день і перегляду деталей бронювання.
- Мульті-календар для роботи з повним портфелем нерухомості, наприклад якщо у компанії 100 і більше лістингів.
- Календар певного бронювання з урахуванням сусідніх заїздів.
Щоб правильно реалізувати роботу з календарем, ми одразу відкинули готові рішення, оскільки жодне з них не могло задовольнити потреби проєкту. Ми розробили 3 власних компонента для календарів з можливістю надалі масштабувати і змінювати їх відповідно до потреб бізнесу.
![](https://storage.stfalcon.com/uploads/images/bc8e4200a08815451e983e61b96f719d.webp)
Резервування
Замовлення на бронювання, що надходять від Airbnb, обробляються з різною логікою залежно від статусу (відправка сповіщень, перевірка можливості переходу в інший статус). У системі виконуються асинхронні фонові завдання: автоматична відправка повідомлень при бронюванні (інструкції заселення), заїзді (правила проживання), виїзді (прохання залишити відгук). Постійна зміна статусів вимагає передачі оновлень від сервера до клієнта.
![](https://storage.stfalcon.com/uploads/images/535217d962ad09c303122b7f2424221b.webp)
Повідомлення
Відмінною рисою платформи Airbnb є активне використання чату між гостем і власником житла. Для нас було дуже важливо надати менеджерам зручний інструмент роботи з повідомленнями. Користувач нашої системи працює не з одним, а відразу з декількома акаунтами Airbnb, тому при спілкуванні з гостем менеджер завжди бачить деталі бронювання, об'єкта нерухомості та аккаунта, від імені якого він зараз спілкується.
У чаті є можливість відправляти збережені стандартні відповіді. Також можна підтверджувати або відхиляти резервації прямо з чату. Загалом все виконано для швидкої і ефективної роботи менеджера.
![](https://storage.stfalcon.com/uploads/images/bc18f710b1b1566a54254f697fc11b86.webp)
Автоматизація
З огляду на необхідність менеджерів виконувати повторювані дії, ми розробили кілька систем автоматизації їх роботи:
- Aвто-повідомлення, відправляються в певний час, або під час спрацювання тригера (момент бронювання, заселення, виїзду).
- Aвто-рев'ю, відправка рейтингу і відгуку з набору шаблонів.
- Aвто-завдання, наприклад прибирання призначається автоматично перед заїздом гостя.
![](https://storage.stfalcon.com/uploads/images/3a5855370736fc526c284023c2b6936c.webp)
Мобільний додаток
У другій версії продукту ми розробили додаток під Android та iOS. Мобільний додаток покликаний не повторювати функціонал веб-додатка, а використовувати переваги мобільного пристрою. Тому ми надали користувачам телефонів функціонал чату, роботи з завданнями і перегляд календаря.
Як і в більшості наших проєктів, ми використовували підхід Clean Architecture у поєднанні з Dagger2 для максимальної гнучкості. А за допомогою Android Architecture Components ми легко зв'язали весь UI додатка з даними без загрози витоків пам'яті. Для iOS додатка питання кастомізації календаря було вирішене за допомогою бібліотеки JTAppleCalendar.
![](https://storage.stfalcon.com/uploads/images/ccdeeffd6888c27d532fbf45e056b259.webp)
Результат
Завдяки продуманій і стабільній інфраструктурі проєкту, що дозволяє легко працювати з оновленнями, додавати новий функціонал і забезпечувати безперервну роботу вже існуючого сервісу, у майбутньому до нашого рішення будуть підключатися й інші платформи, крім Airbnb.
Над проєктом працювали:
- Maksym
Дизайнер
- Ruslan
Frontend Розробник
- Sergey Zheleznyak
Backend Розробник
- Олександр
Android Розробник
- Дмитро
IOS Розробник
- Євгеній Аронов
IOS Розробник