# direct.guide > direct.guide hosts AI-native guest guides for brands, travel brands, and destinations. Every brand exposes a machine-readable guide an AI agent can read and act on: browse curated experiences and points of interest, read live prices and reviews, deep-link a guest to a specific card, and start a booking. This is the operations manual — how to reach a brand's guide, read it, fetch live data, deep-link a guest, and book. This published surface — the guide pages, this file, and the `/api/llm/*` read endpoints — is served over plain GET requests (JSON, except the `.txt` guides, which return Markdown); the knowledge base that powers the concierge is private. ## Reach a brand's guide Each brand has its own guide at the canonical URL. Two shapes, by entity kind: https://direct.guide/{country}/{destination}/{type}/{brand}/llms.txt — located businesses https://direct.guide/{vertical}/{brand}/llms.txt — brands and travel media where {type} is one of hotels | travel | destinations, {vertical} is one of brands | media, and {country}/{destination} are stable English slugs that do not localize (e.g. /sweden/stockholm, /denmark/mon). Shorter legacy forms still resolve and 308-redirect to the canonical URL: https://direct.guide/{brand}/llms.txt and https://direct.guide/{type}/{brand}/llms.txt. Prefer the exact URLs in the Brands index below — they are already canonical, so you skip a hop. Localized variants add a locale prefix before the rest of the path, e.g. https://direct.guide/sv/{country}/{destination}/{type}/{brand}/llms.txt Example: https://direct.guide/hotels/ellevildehotel/llms.txt ## Brands All 7 live guides on direct.guide. Pick one and fetch its llms.txt for the full machine-readable guide (experiences, points of interest, live prices): - **Ellevilde Boutique Hotel** — Hotel · Møn, Denmark → https://direct.guide/hotels/ellevildehotel/llms.txt - **FREEDOMTravel** — Stockholm, Sweden → https://direct.guide/hotels/freedomtravel-se/llms.txt - **Glamping Höga Kusten** — Hotel · Höga Kusten, Sweden → https://direct.guide/hotels/glampinghogakusten/llms.txt - **Peace & Quiet Nature Hotel** — Hotel · Jokkmokk, Sweden → https://direct.guide/hotels/peaceandquiethotel/llms.txt - **Sportextreme** — Travel brand · Stockholm, Sweden → https://direct.guide/travel/sportextremeadventures/llms.txt - **Sweden History Tours** — Travel brand · Stockholm, Sweden → https://direct.guide/travel/sweden-history-tours/llms.txt - **TwentySix Hotel** — Hotel · Malmö, Sweden → https://direct.guide/hotels/twentysix/llms.txt ## 1. Read a brand's slim guide GET {the brand's llms.txt URL from the Brands index above} It lists the brand, a few experiences per category, points of interest, and destinations. Each item is prefixed with a short id in brackets, e.g. `[a1b2c3d4]`. Use that id ("mini-id") wherever an id is required below. Full UUIDs also work. ## 2. Fetch fuller data on demand The slim guide is intentionally small. Fetch more only when you need it: - Full record for one item: GET https://direct.guide/api/llm/entry?brand={brand}&id={miniId} - More items (paginated), optionally filtered by category: GET https://direct.guide/api/llm/entries?brand={brand}&category={categorySlug}&limit=20&offset=0 Add `&full=1` for full records instead of slim ones. - Points of interest — the curated nearby-places layer (ranked best-first): GET https://direct.guide/api/llm/poi?brand={brand} (paginated list) GET https://direct.guide/api/llm/poi?brand={brand}&id={miniId} (one POI: reviews, hours, contact) - Live room availability & prices (accommodation brands): GET https://direct.guide/api/llm/rooms?brand={brand}&check_in=YYYY-MM-DD&check_out=YYYY-MM-DD - Reviews (brand-level, or for one place-based item via its id): GET https://direct.guide/api/llm/reviews?brand={brand}&id={miniId} - Topic pages this brand actually has, with item counts and whether each already carries an editorial article: GET https://direct.guide/api/llm/topics?brand={brand} - Marketplace experiences — bookable third-party inventory that complements a brand's own catalogue (each item carries its own booking link + an affiliate disclosure). Listed per brand only when available: GET https://direct.guide/api/llm/external?brand={brand} ## 3. Deep-link the guest Two shapes, pick by intent: Both build on the brand's canonical page URL — its llms.txt URL from the Brands index above, minus the trailing "/llms.txt". Written {brandUrl} below. a) One specific item — open the interactive guide with that card expanded: {brandUrl}?entry={miniId} (add a /{locale} prefix at the START of the path for a localized page) b) A category or destination the brand covers — the same guide with the relevant items boosted to the top: {brandUrl}/{category} e.g. .../spa, .../extras {brandUrl}/{place} e.g. .../poland, .../stockholm The valid segments for a brand are listed in its llms.txt under "Category & destination pages". Note: this trailing {place} is a filter WITHIN one brand's catalogue. It is not the site-level destination hub — that lives at https://direct.guide/{country}/{destination} and aggregates every brand in that place. ## 4. Booking - Accommodation (PMS brands): fetch `/api/llm/rooms` for live prices, then send the guest to the deep link for the room/experience card to complete the booking in the guide (guest details + confirmation happen there). - Experiences with a `bookingUrl`: link the guest straight to that URL. Prices and availability change — always fetch fresh values before quoting them. ## Cross-brand guides Editorial collections that mix places, experiences, and brands across the whole platform (e.g. a destination or a theme): https://direct.guide/guides/{guide} ## Discover all brands Every live brand is listed under "Brands" above. For a full machine-crawlable URL set (all pages, all locales): https://direct.guide/sitemap.xml ## Notes - Ids in brackets are mini-ids; they are stable per item. - Prices/reviews returned by the endpoints are the source of truth over anything cached in the slim guide.