Problem
Several hotel booking platforms exposed no API for reservation data.
Solution
Built headless Selenium (Firefox/geckodriver) scrapers, containerized with the app, to log in and export reservation data.
New Hotels Development (Arcadia Resorts Club)
Reservation, member, and finance aggregation API for a hospitality / timeshare resort membership portal.
New Hotels Development (Arcadia Resorts Club)
Portal V2 Backend (Arcadia)
Portal V2 is the backend that powers an internal management portal for a hospitality and timeshare membership business. It aggregates and normalizes data from many external systems — the Shiji PMS, SuiteCRM, TrackResults, Equiant loan servicing, RCI exchange feeds, and several hotel platforms — into a single PostgreSQL data model.
The Express API serves authenticated portal users data on members, reservations, finances, and more, while scheduled jobs keep everything in sync. Where booking platforms exposed no API, I built headless Selenium scrapers to extract reservation data. The service runs in Docker on AWS ECS Fargate behind a load balancer, backed by RDS PostgreSQL.
Problem
Several hotel booking platforms exposed no API for reservation data.
Solution
Built headless Selenium (Firefox/geckodriver) scrapers, containerized with the app, to log in and export reservation data.
Problem
Reconciling reservation, member, and finance records across many heterogeneous external systems.
Solution
Normalized all sources into a unified Sequelize/PostgreSQL schema with upsert-based sync and schema validation via Joi.
Problem
Third-party APIs required rate-limited, token-authenticated access at scale.
Solution
Added Redis-backed token caching with mutex-guarded refresh and Bluebird concurrency-limited batch requests.
Shiji (Enterprise Platform)
Cloud PMS reservation, profile, and configuration data sync
Microsoft Graph API / Azure MSAL
Outlook mailbox automation (report email ingestion)
Mailchimp Transactional (Mandrill)
Transactional email delivery
Equiant
Loan / finance servicing data (aging, due dates, loan status)
RCI Exchange
Timeshare exchange report ingestion
SuiteCRM
CRM owner/referral/document/history sync
TrackResults
Sales CRM customer and purchase data API
ChoiceAdvantage (Choice Hotels)
Reservation data scraping via Selenium
SkyTouch HOS
Reservation data scraping via Selenium
Little Hotelier / SiteMinder
Reservation CSV export scraping via Selenium
Previous project
Siligrams Operations Platform
Siligrams
View case studyNext project
Greenwood Aero Scraper Platform
Greenwood Aero
View case studyLet’s talk about what you’re building and how Montgomery Labs can help ship it.
Start a project