art’otele-concierge · 42a
art’otel × PPHE Hotel Group

The e-concierge,
as an agent.

art’otel already promises guests a “curated gateway into the art’otel world, here to help you explore, book, and elevate every moment of your stay.” This is that promise as something ChatGPT and Claude can actually call: 20 tools over the real collection — 7 properties, 44 room types and 26 live offers read from artotel.com — ending in a real booking link on Radisson’s own engine.

Connector URL →

The collection

art’otel Amsterdam
Amsterdam · NLPPAMSART

art’otel Amsterdam

Built around Atelier Van Lieshout
6 room types · 4 offers · dogs welcome
art’otel Berlin Mitte
Berlin · DEPPBERABM

art’otel Berlin Mitte

Built around Georg Baselitz
4 room types · 0 offers · dogs welcome
art’otel Cologne
Cologne · DEPPCGNACO

art’otel Cologne

Built around SEO
5 room types · 0 offers · dogs welcome
art’otel London Battersea Power Station
London · GBPPLONBAT

art’otel London Battersea Power Station

Built around Jaime Hayon
6 room types · 6 offers · dogs welcome
art’otel London Hoxton
London · GBPPLONHOX

art’otel London Hoxton

Built around D*Face
11 room types · 6 offers · dogs welcome
art’otel Rome Via Veneto
Roma · ITPPROMAAA

art’otel Rome Via Veneto

Built around Pietro Ruffo
7 room types · 6 offers · dogs welcome
art’otel Zagreb
Zagreb · HRPPZAGAAA

art’otel Zagreb

Luxury Hotel in the Heart of Croatia’s Capital
5 room types · 2 offers · dogs welcome

Every photograph, room dimension, offer and property code above was read from artotel.com by scripts/fetch-artotel.ts — the schema.org Hotel block on each hotel page, the room pages’ own “Sleeps 2 · King bed · approx 24 m²”, the offer grids, and the hotelCode options in art’otel’s own booking widget. Last read 2026-08-23. Photography is served from this origin, never hotlinked.

Connect it

https://artotel-concierge.demos.42a.ai/mcp                        # MCP — everything about the collection, no token
https://artotel-concierge.demos.42a.ai/mcp?token=artotel_user_demo # …plus the account, the composer and the concierge
https://artotel-concierge.demos.42a.ai/openapi.json               # ChatGPT Custom GPT Actions
https://artotel-concierge.demos.42a.ai/tools.json                 # the tool surface, as JSON

In ChatGPT: Settings → Connectors → Add, paste the MCP URL. In Claude: Settings → Connectors → Add custom connector. Header-less clients can pass ?token= instead of a bearer header.

What it can do

find_artotel
Find the art’otel that fits a trip. Describe the trip in `need` — a city, a neighbourhood, an artist, "somewhere with a pool", "bringing the dog" — and/or set `city`, `adults`, `children`, `purpose`. Returns the matching properties with WHY each one answered, what art’otel publishes about it, and a photograph. The collection is seven properties, so an honest empty answer names them rather than failing.
open
get_hotel
Everything art’otel publishes about one property: what it is, the signature artist the building is built around, the amenities, the restaurants and bars inside it, check-in and check-out, whether dogs are welcome, the address and the live offers on it. Call this before recommending a property.
open
browse_rooms
The room types one art’otel publishes — Art Room through Masterpiece Suite — each with what the property itself states: how many it sleeps, the bed configuration and the approximate size in square metres. Use this whenever party size is the question; it is the only place that answers "will four of us fit".
open
compare_hotels
Put two to four art’otels side by side on the things that actually decide it: the artist, the rooms and the biggest suite, what is in the building, dogs, check-in and check-out, and what is on offer. Use this when a guest is torn — especially between the two Londons, which are very different hotels.
open
list_destinations
Every city art’otel is open in, and which properties are in each. Seven properties across six cities — call this first when the guest has not settled on a destination, so the conversation starts from what exists rather than from a guess.
open
list_offers
The offers and packages art’otel is publishing right now — read from artotel.com, not from a stale list. Pass `hotel_id` for one property or omit it for the whole collection. An offer id can be attached to a stay with compose_stay so the booking link carries it.
open
explore_art
The reason to choose an art’otel over any other hotel: the signature artist whose work runs through the whole building, the gallery inside it, and what is on. Call this whenever a guest mentions art, galleries, design or an artist by name — and call it unprompted when recommending a property, because it is the thing a guest cannot get anywhere else.
open
find_dining
The restaurants, bars and spa inside the art’otels — ARCA in Amsterdam, Joia and Solaya in London, YEZI in Rome and the rest. Locals book these, so a guest planning dinner should be told to reserve when they book the room. Omit `hotel_id` to see everywhere in the collection.
open
get_local_area
Where a property actually sits — street address, coordinates, a map link, and what art’otel says about the neighbourhood around it. Location is the decision hardest to fix after arrival, so answer it before the booking rather than after.
open
explain_policies
Answer a practical question about one property from what art’otel actually publishes: dogs, check-in and check-out times, children, accessibility, and where the cancellation terms live. Says plainly when something is not published rather than guessing — cancellation terms in particular are set per rate on Radisson’s booking page, not by the brand.
open
check_availability
The honest answer to "how much" and "is it free". This concierge holds no rates — art’otel’s are live on Radisson’s booking engine and move by date — so instead it builds the REAL booking link for that property, those dates and that party, using the same property code artotel.com’s own booking widget posts. Give the guest the link: the real price and the cancellation terms are the first thing they see, before anything is charged. No payment is taken here.
open
plan_event
Start a meeting, private dinner or wedding enquiry at one property. art’otel’s event spaces sit inside the same buildings as the galleries, which is why people book them. Events are arranged by the property’s own team, so this ends with their page and their number — deliberately, because no assistant should be confirming a room hire.
open
get_my_account
The connected guest: their Radisson Rewards number, tier and points balance, and whether they are in an art’otel right now. art’otel stays earn and redeem in Radisson Rewards because Radisson Hotel Group distributes the brand — this is that account, not a separate one.
account
get_my_stays
The stays on the connected guest’s account — the one they are in right now first, then what is booked and what is behind them. Call this before any in-stay request, so the request goes to the right building.
account
compose_stay
Write the stay down before it goes anywhere: property, dates, party, room type, an offer to attach and anything the guest wants the hotel to know. Returns a draft the guest can check, and a draftId for start_booking. Nothing is held or charged by composing — this is the step that catches the wrong Saturday before it becomes a booking.
account
start_booking
Turn a composed stay into the real booking link — Radisson’s own secure page, opened on that property, those dates and that party, with any offer code attached. Call it only after the guest has confirmed the draft. This gateway takes no payment and holds no room: the booking exists when the guest completes it on that page.
account
concierge_request
Ask the property for something on the guest’s behalf — late check-out, a table downstairs, a treatment, a walk-through of the gallery, something for the room, a celebration. This is the art’otel e-concierge: anything a guest would walk to reception for. It goes to the property’s own team with the stay attached and comes back with a reference. It is a request, not a confirmation, until the property answers.
account
merchant_set_banner
OPERATOR TOOL — not for answering a guest. Sets the banner art’otel shows above every property search: a headline, a line of body copy, an optional property to spotlight and the CTA label. To surface an offer TO a guest, call list_offers instead.
open
merchant_get_banner
OPERATOR TOOL — not for answering a guest. The banner as currently set, with its impressions and how many guests opened the property it spotlights. For offers to show a guest, call list_offers.
open
merchant_clear_banner
OPERATOR TOOL — not for answering a guest. Switches the search banner off.
open

The components

Eleven rendered components, each self-contained and each rendering in ChatGPT (Apps SDK) and Claude (MCP Apps). Previews with real data:

art’otelsThe propertyRooms and suitesOffersThe artEat, drink, unwindSide by sideThe stayBookMy staysWith the hotel

What it does not do

No rates. art’otel publishes none — they are live on Radisson’s engine and move by date — so nothing here quotes one, and no schema has a field for a model to fill. What the concierge does instead is build the real booking link for the property, the dates and the party, using the same property code artotel.com’s own widget posts, so the first thing the guest sees is the actual price.

No payment, no held rooms, no cancellations. The booking becomes real on Radisson’s secure page, under the guest’s own eyes. The account, stays and concierge tickets in the demo are synthetic; connect a real Rewards account and everything downstream is unchanged.


Also here: /journeys — every conversation grouped by what the guest was actually trying to do, which is what the required stay_goal argument buys. /stats · /healthz