Ask one question that crosses every dataset
Every yield decision is a join across data that lives in different tools: your PMS knows the pace, a rate shopper knows the comp set, a reputation dashboard knows the score, and nobody owns the events calendar. Veetal puts them behind one token — which means an assistant can hold all of it at once and you can just ask.

What you'll build
A pricing recommendation you can argue with: for a date range, what the data says about demand, where you sit against your comp set, whether your score supports the premium you are charging, what is happening in the city those nights, and the specific move it suggests — with the reasoning visible so you can reject it.
Set this up first
RequiredThe endpoints don't take free text — they take your identifiers. This recipe assumes the things below already exist on your account; while one of them is missing the call answers empty, not with an error. Each point links to the recipe that walks it.
- 01
Register the hotel in your dashboard
Veetal resolves the property against Booking.com and assigns it a slug — and that slug, not the hotel name, is what every accommodation endpoint takes.
Guide: Add your hotel and the comp set you price against → - 02
Fill in its comp set
Up to ten competitors on the accommodation detail. Without them this recipe prints your own price list instead of a comparison, and the competitors block comes back empty.
- 03
Register the city as a location
The events feed answers by location id. The name is validated against the real destination, so pick the right one: four cities in four countries are called Barcelona.
Guide: Add a city and see the demand its events will create → - 04
Run one import on the hotel
A Feed dataset only contains what an import has written. Activate this API on the hotel, launch the first run by hand and read the credit estimate before you press — the cost grows with the comp set and with the OTAs.
Guide: Import a hotel's reputation from Booking →
To see whether an import has already finished, list them:
curl "https://api.veetal.app/v2/account/imports" \
-H "veetal-api-key: YOUR_API_KEY"Feed reads are not billed per request. The credits go on the imports that collect the data, which is why the estimate appears before you launch and not after.
How it works
- 01
Connect the MCP and make sure the feeds have run
This one only works if the data is there. Rates, reputation and events each need their import configured and executed — the assistant can only cross what your account actually holds.
- 02
Ask the decision, not the query
"Should I raise Friday?" is a better prompt than "give me the rates". Let the assistant work out which datasets answer it.
- 03
Make it show its work
Ask for the numbers behind each claim and the dates it used. A recommendation you cannot audit is a recommendation you cannot defend to your GM.
The call
There is no single endpoint for this one — the assistant picks among them. This is the rates call it will almost certainly start from.
curl "https://api.veetal.app/v2/feed/accommodation/YOUR_SLUG/rates?rate_year=2026&rate_month=10" \
-H "veetal-api-key: YOUR_API_KEY"Build it with AI
Connect the MCP →Paste this prompt into an assistant with the Veetal MCP connected and it builds the whole app against your data — no front-end work.
Using my Veetal Connect data, help me price the second week of October for my hotel.
Before you answer, tell me which of these you can actually read for my account and
which are missing — do not fill a gap with an assumption:
- my rates and my comp set's rates for those dates
- rate parity across my channels
- my reputation and my competitors', by OTA
- events in the city those nights, with their modelled hotel impact
- my PMS reservations, if they are imported
Then, night by night:
- where I sit against the comp set, in money and in position
- whether anything in the city those nights justifies moving
- whether my review score supports charging above the set, or argues against it
- the specific change you would make, and what would have to be true for it to be wrong
End with the single night you are least sure about and what data would settle it.
I would rather act on four confident nights than seven vague ones.Questions
Is this a revenue management system?
No, and it should not pretend to be. An RMS optimises continuously against your own booking curve. This answers a specific question with broader context than an RMS usually has — the city's events, your competitors' live prices, what guests are saying — and leaves the decision with you.
What if some data is missing?
Then say so and work with less. An assistant that quietly drops the reputation leg because the import never ran will still produce a confident answer, and it will be worse than useless. Ask it explicitly to name what it could not read.
Which datasets does it actually use?
Whatever your account has: accommodation rates and the comp set, parity, reputation and reviews, events with their modelled hotel impact, and PMS reservations if you import them. The point is that one key reaches all of them.
Can I schedule it?
Yes — this is a natural fit for a recurring task that lands a briefing in your inbox every Monday. The prompt is the same; only the cadence changes.
Build your own
Start free with 100 API credits. No credit card, no sales call.