Hosty — система управління для менеджерів короткотермінової оренди нерухомості
У Airbnb великою частиною нерухомості управляють спеціальні компанії, які допомагають власникам житла заробляти і при цьому не витрачати особистий час на оновлення календаря, прийом гостей і прибирання.
До нас звернувся клієнт з досвідом роботи у сфері здачі житла, з глибокими знаннями предметної області і розумінням проблем менеджерів нерухомості.
Завдання
На ринку вже існував ряд продуктів для управляючих компаній, але вони були або незручними, або мало функціональними. Наше головне завдання — спроєктувати інтерфейс, що дозволить просто і зручно управляти великою кількістю об'єктів нерухомості. Паралельно з проєктуванням інтерфейсу складним і важливим завданням було реалізувати інтеграцію з API Airbnb, для швидкої синхронізації великих масивів даних.
Рішення
Інтеграція з Airbnb
Процес інтеграції з Airbnb почався з проходження нами офіційної сертифікації компанії: виконання жорстких вимог Airbnb з безпеки, функціональності і технологічності нашого проєкту. Процес сертифікації зайняв 2 місяці. Тільки після цього у нас з'явився партнерський доступ до API. Складність роботи з подібними інтеграціями полягає в тому, що документація по API не є повною і постійні зміни на боці Airbnb змушували нас працювати в ритмі регулярних змін логіки роботи нашого продукту.
Інтеграція дозволила не тільки підключати вже раніше створені лістинги на Airbnb, але і створювати нові об'єкти нерухомості із зазначенням понад 100 полів інформації про житло (опис, правила заїзду, ціни, фото, та ін. налаштування).
Календарі
Одна з найважливіших задач, які вирішує наш сервіс, це управління резервуванням житла. Однак перед тим як робити список бронювань, ми взялися за більш складну задачу: відображення бронювань у контексті дат — у форматі календаря. В системі існує кілька типів календарів:
- Календар для роботи з окремою квартирою, з можливістю редагування цін на кожен день і перегляду деталей бронювання.
- Мульті-календар для роботи з повним портфелем нерухомості, наприклад якщо у компанії 100 і більше лістингів.
- Календар певного бронювання з урахуванням сусідніх заїздів.
Щоб правильно реалізувати роботу з календарем, ми одразу відкинули готові рішення, оскільки жодне з них не могло задовольнити потреби проєкту. Ми розробили 3 власних компонента для календарів з можливістю надалі масштабувати і змінювати їх відповідно до потреб бізнесу.
Резервування
Замовлення на бронювання, що надходять від Airbnb, обробляються з різною логікою залежно від статусу (відправка сповіщень, перевірка можливості переходу в інший статус). У системі виконуються асинхронні фонові завдання: автоматична відправка повідомлень при бронюванні (інструкції заселення), заїзді (правила проживання), виїзді (прохання залишити відгук). Постійна зміна статусів вимагає передачі оновлень від сервера до клієнта.
Повідомлення
Відмінною рисою платформи Airbnb є активне використання чату між гостем і власником житла. Для нас було дуже важливо надати менеджерам зручний інструмент роботи з повідомленнями. Користувач нашої системи працює не з одним, а відразу з декількома акаунтами Airbnb, тому при спілкуванні з гостем менеджер завжди бачить деталі бронювання, об'єкта нерухомості та аккаунта, від імені якого він зараз спілкується.
У чаті є можливість відправляти збережені стандартні відповіді. Також можна підтверджувати або відхиляти резервації прямо з чату. Загалом все виконано для швидкої і ефективної роботи менеджера.
Автоматизація
З огляду на необхідність менеджерів виконувати повторювані дії, ми розробили кілька систем автоматизації їх роботи:
- Aвто-повідомлення, відправляються в певний час, або під час спрацювання тригера (момент бронювання, заселення, виїзду).
- Aвто-рев'ю, відправка рейтингу і відгуку з набору шаблонів.
- Aвто-завдання, наприклад прибирання призначається автоматично перед заїздом гостя.
Мобільний додаток
У другій версії продукту ми розробили додаток під Android та iOS. Мобільний додаток покликаний не повторювати функціонал веб-додатка, а використовувати переваги мобільного пристрою. Тому ми надали користувачам телефонів функціонал чату, роботи з завданнями і перегляд календаря.
Як і в більшості наших проєктів, ми використовували підхід Clean Architecture у поєднанні з Dagger2 для максимальної гнучкості. А за допомогою Android Architecture Components ми легко зв'язали весь UI додатка з даними без загрози витоків пам'яті. Для iOS додатка питання кастомізації календаря було вирішене за допомогою бібліотеки JTAppleCalendar.
Результат
Завдяки продуманій і стабільній інфраструктурі проєкту, що дозволяє легко працювати з оновленнями, додавати новий функціонал і забезпечувати безперервну роботу вже існуючого сервісу, у майбутньому до нашого рішення будуть підключатися й інші платформи, крім Airbnb.
Команда проєкту:
- Maks
Дизайнер
- Руслан
Frontend Розробник
- Sergey Zheleznyak
Backend Розробник
- Олександр К.
Android Розробник
- Дмитро
IOS Розробник
- Євгеній Аронов
IOS Розробник