Roam
How /allez/roam uses ML to pick the best provider for each user.
The /allez/roam endpoint uses a machine-learning model to pick the provider most likely to convert for each user, so you don't hard-code one. Stay22 supports a wide basket of OTAs — Booking.com, Expedia, Hotels.com, Vrbo, and more — and roam chooses among them per request.
The model is trained on billions of annual clicks across all providers and predicts the best-converting provider for the destination, time, and user context.
How it works
https://www.stay22.com/allez/roam?aid=<AID>&address=parisWhen a user clicks a roam link:
- Stay22 sees the destination, time of day, and other context
- The model scores each available provider for that specific user
- Country-specific weights adjust the scores (some providers convert better in certain regions)
- The highest-scoring provider wins, and the user is redirected there
Available providers in roam
For accommodation, roam chooses between:
- Booking.com
- Expedia
- Hotels.com
- Vrbo
- Agoda
- and more coming soon . .
The exact pool depends on availability - if a provider doesn't have inventory for the destination, it's excluded automatically.
Controlling roam behavior
Exclude providers
To exclude specific providers from roam's selection:
https://www.stay22.com/allez/roam?aid=<AID>&address=paris&excludeproviders=vrbo,expediaForce a specific provider (testing)
For debugging or A/B testing, override the AI selection while still using the roam endpoint:
https://www.stay22.com/allez/roam?aid=<AID>&address=paris&provider=bookingThis forces the redirect to Booking.com but still goes through all the roam middleware (geo-routing, TLD selection, etc.).
Two ways to enable roam
Roam activates when:
- The endpoint is
/allez/roam - OR the
roam=truequery parameter is set on any endpoint
Roam requires a resolvable destination - it works with address, lat-lng as location parameters. It does not work with the link parameter (since you're already specifying the destination provider).
Provider or roam?
| Use case | Recommendation |
|---|---|
| General accommodation links | /allez/roam - let the AI optimize |
| Affinity to a specific OTA | /allez/{provider} - hard-code the provider |
| Testing conversion by provider | /allez/roam?provider=X - force a provider through roam |
| Excluding underperforming OTAs | /allez/roam?excludeproviders=X,Y |
See also
- Providers - Per-provider details
- Allez Parameters - Full parameter reference