Connect your platform
to TicketMatch.ai
This page is for your tech team. It explains who we are, how our platform works, what we need from your API, and how we'll integrate — step by step.
About TicketMatch.ai
B2B city access platform for group travel.
TicketMatch.ai is a procurement platform where tour operators, DMCs and travel agencies book city experiences for their groups. We aggregate multiple suppliers into one dashboard — museums, attractions, cruises, transport and more.
Our operators build itineraries, manage guest lists, and book at exclusive B2B rates. By integrating with us, your products become instantly available to professional travel buyers across Europe.
75+
Venues live
2
Cities active
5 days
Integration time
Architecture
How integration works
We use an adapter pattern. Each supplier gets a dedicated adapter that translates their API into our universal product format. Your API stays exactly as it is — we adapt to you, not the other way around.
Tour Operators & DMCs
TicketMatch Dashboard
One unified catalog — search, compare, book
Catalog Service — Universal API Layer
Normalizes data from every supplier into one standard format. Handles caching, rate limiting, error recovery and fallbacks.
Supplier Adapters
Museums & Art
LiveAttractions
LiveExperiences
LiveRestaurants
Coming SoonYour API
REST, GraphQL, SOAP or custom — we adapt to your format
Integration timeline
From API docs to live in 5 days.
Once you share your API documentation and credentials, we handle the entire integration. Here's what the process looks like.
Day 1
Discovery
- You share your API documentation
- We review endpoints, auth method and data format
- We agree on scope: products, availability, bookings
Day 2–3
Development
- We build a dedicated adapter for your API
- We map your data model to our universal format
- We implement error handling and rate limiting
Day 4
Testing
- End-to-end testing on sandbox/staging
- We validate product sync, pricing, availability
- You verify bookings appear correctly on your side
Day 5
Go Live
- Switch to production credentials
- Your products appear in every operator's catalog
- Monitoring and alerts activated
Integration checklist
What we need from you
Send us the following and we can start building the integration immediately. Don't have everything? No problem — we can work iteratively.
✓Required
- ✓
API documentation
Swagger/OpenAPI spec, Postman collection, or written docs
- ✓
API credentials
API key, OAuth tokens, or other auth mechanism
- ✓
Sandbox / test environment
So we can develop without affecting live data
- ✓
Product endpoint
An endpoint that returns your product catalog
- ✓
Availability endpoint
Check if a product is available for a date + group size
+Nice to have
- +
Booking endpoint
Create, confirm and cancel reservations via API
- +
Webhook support
Push notifications for booking updates and changes
- +
Rate limits documentation
Max requests per minute/hour so we can optimize
- +
Image CDN / media assets
Product images we can display in the catalog
- +
Pricing tiers / group discounts
Volume-based pricing rules for group bookings
API Specification
Endpoints we integrate with
These are the endpoints we typically consume. Your API doesn't need to match this exactly — our adapter translates your format to ours.
| Method | Endpoint | Description | Priority |
|---|---|---|---|
| GET | /products | List all available products/venues | Required |
| GET | /products/{id} | Get details for a single product | Required |
| GET | /availability | Check availability for a date + group size | Required |
| POST | /bookings | Create a confirmed reservation | Required |
| GET | /bookings/{id} | Retrieve booking status and voucher | Required |
| DELETE | /bookings/{id} | Cancel a booking | Optional |
| GET | /categories | List product categories | Optional |
| POST | /webhooks | Receive real-time booking updates | Optional |
Product data model
This is the universal format we normalize all supplier data into. Your API can use different field names — the adapter handles the mapping.
| Field | Type | Description | Required |
|---|---|---|---|
id | string | Unique product identifier | Yes |
name | string | Product/venue name | Yes |
description | string | Short description | Yes |
category | string | e.g. "museum", "attraction", "cruise" | Yes |
city | string | City name | Yes |
price_retail | number | Public retail price (EUR) | Yes |
price_b2b | number | B2B/wholesale price (EUR) | Yes |
currency | string | ISO 4217 (default: "EUR") | No |
duration | string | e.g. "2 hours", "full day" | No |
max_group_size | number | Maximum guests per booking | No |
image_url | string | Product image URL | No |
includes | string[] | What's included in the ticket | No |
available_days | string[] | Days of the week available | No |
Example: Product response
This is what a normalized product looks like in our system after the adapter processes your API response.
{
"products": [
{
"id": "tm_001",
"supplier": "your-company",
"name": "Rijksmuseum — Group Visit",
"category": "museum",
"city": "Amsterdam",
"description": "Skip-the-line group entry to the Rijksmuseum",
"price_retail": 22.50,
"price_b2b": 17.95,
"currency": "EUR",
"duration": "2-3 hours",
"max_group_size": 25,
"image_url": "https://your-cdn.com/rijksmuseum.jpg",
"includes": ["Skip-the-line entry", "Group welcome"],
"available_days": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
}
],
"total": 45,
"supplier": "your-company",
"synced_at": "2026-04-06T12:00:00Z"
}Security & Compliance
Your data is safe with us
Encrypted at rest & in transit
All API communications use TLS 1.3. Database encrypted with AES-256.
Credentials in vault
API keys stored as encrypted environment variables, never in code.
GDPR compliant
EU-hosted infrastructure. No personal data shared without consent.
Rate limiting
We respect your API limits. Configurable request throttling per adapter.
Error isolation
If your API goes down, other suppliers keep working. Graceful fallbacks.
Audit logging
Every API call logged with timestamps. Full traceability for debugging.
Ready to integrate?
Send us your API documentation and credentials. We'll have your products live in our catalog within 5 business days.