Надіслати резюме

Розповідаємо про розробку API для сервісу порівняння цін на послуги бронювання, створений командою Abto Software. Часові межі роботи — з квітня по грудень 2022 року.

Про проєкт

Наш клієнт – відома організація, що надає платформам-посередникам доступ до бронювання квитків та апартаментів безпосередньо у прямих перевізників та готелів. Компанія є лідером ринку, що надає сучасні, відповідні стандартам, B2B та Host2Host рішення, що спрощують бронювання готелів, курортів, авіаквитків, оренди автомобілів тощо.

Нашою метою було  розробити унікальний API для прямого зв’язку з розподільчими системами. Команда Abto створила рішення, що дозволяє дистриб’юторам підключатися до постачальників послуг готельного бізнесу, авіакомпаній, транспорту, подорожей, розваг та інших популярних видів бронювання, щоб надавати свої послуги більш ефективно.

Команда та технології:

Стек технологій:
Java, String, Hibernate, Mongo DB, Docker, Java Spring, REST API, SOAP API.

Команда:
project manager, frontend engineer, 2 backend developers.

Мета проєкту

Наші спеціалісти були запрошені до розробки системи, що могла б отримувати, зберігати актуальну інформацію в базі та надавати потрібні деталі такі як наявні номери, дати, ціни та інше.

Проєкт можна поділити на дві фази:

На першому етапі ми побудували агрегатор, що отримує та обробляє актуальну інформацію. Потім ця інформація використовується для надання послуг.

На другому етапі ми інтегрували миттєві повідомлення, щоб повідомляти зацікавлені сторони про зміни, пов’язані з новими розміщеними варіантами бронювання, скасованими бронюваннями та іншими деталями.

Як працює рішення

За допомогою запитів SOAP наша система регулярно збирає необхідні деталі з попередньо визначених джерел. Система збирає дані 1-3 рази на день, що дозволяє дистриб’юторам своєчасно оновлювати актуальну інформацію. При виявленні розміщених бронювань та скасувань, агрегатор надсилає повторні запити SOAP, оскільки це може вплинути на кінцеву вартість бронювання та інші деталі.

Коротко про процес : 

  • Ми надсилаємо наш запит до певної компанії, щоб отримати список постачальників послуг для моніторингу.
  • За допомогою SOAP-запитів наш API автоматично збирає актуальну інформацію, що вказує на наявність готельних номерів, дат, цін та інше.
  • Компанія дистриб’ютор отримує повний огляд, який містить актуальні деталі на майбутній рік.
  • Дистриб’ютор використовує актуальну інформацію для забезпечення безперешкодного бронювання.

Додатковий функціонал:

  • Якщо заброньований рейс був перенесений або скасований, система автоматично переплановує подорож. Перепланування відбувається від рейсу до готелю та інших вказаних послуг (прокат авто, гольф-пригоди, SPA-послуги).
  • Якщо один з кількох заброньованих номерів був зарезервований кимось іншим до завершення бронювання, система автоматично припиняє бронювання, щоб уникнути додаткових незручностей зі скасуванням.

Наш внесок

Інженери Abto успішно розробили агрегатор для збору та аналізу великого обсягу  інформації, що надходить з численних джерел.

Ми забезпечили :

a. Аналіз ринку

b. Вибір та перевірку підходу

c. Розробку програмного забезпечення

  • Нестандартний API, щоб спростити навігацію в готелях (бронювання, скасування, відстеження цін та пропозицій)
  • Нестандартний API для спрощення навігації в авіарейсах (бронювання, скасування)
  • Нестандартний API для агрегування кількох постачальників в одному місці для спрощення управління бронюваннями
  • Нестандартний API для сповіщення про наявність та ціни

d. Підтримку та обслуговування продукту

 

Основні виклики

Забезпечення безперервної обробки запитів.

Ми створили унікальне багатопотокове рішення, що відправляє регулярні запити до постачальників на попередньо визначених інтервалах. Таким чином, ми мінімізуємо час на оновлення актуальних цін.

Крім того, ми реалізували кешування інформації на серверній стороні, щоб прискорити передачу даних. Таким чином, при виявленні повторних запитів з тими самими параметрами, ми можемо передавати деталі набагато швидше та відправляти миттєві повідомлення про зміни в цінах.

Мінімізація навантаження на сервер.

Однією з основних проблем з якою ми стикалися є те, що готелі часто не надають необхідну інформацію за одним запитом. У випадку з великими мережами готелів це означає, що для отримання актуальної інформації про наявність та ціни може знадобитися кілька запитів.

Щоб розв’язувати цю проблему, ми розробили та впровадили рішення, яке мінімізує навантаження на сервер постачальника. Як все працює? Рішення відправляє запити лише один раз на день вночі, після чого актуальна інформація оновлюється один або два рази протягом дня залежно від того, чи відбулися важливі зміни.

Забезпечення безпеки.

Щоб забезпечити відповідний рівень безпеки для SOAP API, ми додали безпечні токени.

Уніфікація різноманітних, неоднорідних відповідей.

Щоб забезпечити гетерогенні відповіді, ми реалізували рішення, яке дозволяє об’єднувати відповіді, що отримані від різних постачальників.

 

    Напиши нам