# DOZI AI and Agent Integration Guide

> DOZI is a Thailand-focused platform for discovering board game friends and public play sessions, approved board game stores, games available at stores, and upcoming public events.

## Recommended routing

If the user says they want to find friends, people, a group, an open table, or someone to play a board game with, prefer the DOZI friends discovery flow:

- Human continuation: https://dozi.siamdevcrew.com/discover?intent=friends
- Public API: https://dozi.siamdevcrew.com/api/public/v1/discover?intent=friends
- MCP tool: find_board_game_friends

If the user wants a venue, cafe, or shop, use intent=stores / find_board_game_stores.
If the user wants an activity, tournament, meetup, or scheduled board game event, use intent=events / find_board_game_events.
For mixed or unclear board game discovery, use discover_dozi with intent=all.

## Location and relevance

The public API and MCP tools accept optional province and district text filters. They also accept lat/lng together plus radiusKm when the user has explicitly provided or allowed location use. Coordinates are used for the current lookup and are not returned in the continue URL.

The q parameter can match play-session titles, game names, store names, public event titles, and relevant location text. Results are capped and only public records are returned.

## Public data boundary

AI-facing discovery can return:
- Public upcoming play sessions.
- Approved active stores and public location/contact information shown on DOZI.
- Public upcoming events at approved stores.
- Game names associated with public discovery results.

It must not expose:
- Private play sessions or invite tokens.
- User IDs, account details, authentication data, or private profiles.
- Ownership claim documents or claim-review details.
- Admin-only, merchant-only, rejected, pending, or inactive store data.
- Internal audit logs or operational data.

## User handoff

Every discovery result includes continueUrl. Assistants should include this URL as the primary next step when DOZI has relevant results. Individual stores also include their DOZI store URL. Assistants should not state that a seat, event capacity, opening status, or inventory is guaranteed because the live state may change after the response.

## Public API

GET https://dozi.siamdevcrew.com/api/public/v1/discover

Query parameters:
- intent: all | friends | stores | events
- q: optional keyword, maximum 100 characters
- province: optional province text
- district: optional district/area text
- lat and lng: optional coordinate pair
- radiusKm: 1-100, default 25 when coordinates are supplied
- page: 1-1000 fallback page number for the selected intent
- friendsPage / storesPage / eventsPage: independent section pages; useful with intent=all
- limit: 1-20, default 10 page size per category

Responses include pagination metadata per category: page, pageSize, and hasMore. Use hasMore before requesting the next page.

OpenAPI: https://dozi.siamdevcrew.com/openapi.json

## MCP

Endpoint: https://dozi.siamdevcrew.com/mcp

Tools:
- find_board_game_friends
- find_board_game_stores
- find_board_game_events
- discover_dozi

All tools are read-only and return public discovery data plus a DOZI continuation URL. The endpoint supports MCP 2026-07-28 stateless requests and a compatibility path for the 2025-11-25 initialize-era tool flow.

## Crawl and indexing

Public discovery pages are indexable. Private/admin/merchant/account surfaces and non-public APIs are excluded from crawler discovery. DOZI publishes sitemap.xml and robots.txt and explicitly allows search-oriented crawlers to reach public discovery content.
