API
PneuSwap booking API
Public JSON API for programmatic booking of tyre service with collection in central Prague. Suitable for fleet managers, leasing companies, service aggregators and internal integrations.
Endpoint
POSThttps://pneuswap.cz/api/booking
GEThttps://pneuswap.cz/api/booking (discovery, returns service catalogue)
Without authentication, rate limit 10 requests/hour/IPFor higher limits or a dedicated B2B contract, write to us at pneuswap.cz info@pneuswap.cz.
Input diagram
| Field | Type | Mandatory | Description |
|---|---|---|---|
name | string | yes | Customer name and surname (max 200 characters) |
phone | string | yes | Phone number in the format +420... (max 50) |
service | string | yes | Service code. See the services table. |
address | string | yes | Collection address in Prague (street, house number, district) |
email | string | no | E-mail. If provided, serves as reply-to. |
date | string | no | Preferred date in YYYY-MM-DD format |
time | string | no | Time window (e.g. 10-12, 14-16) |
tires | string | no | own | stored | buy |
addon_washing | boolean | no | Add car wash and interior cleaning (+290 Kč) |
message | string | no | Free text note (max 5000 characters) |
partner_ref | string | no | Your internal order ID for reconciliation |
Service codes
| Code | Service | Price |
|---|---|---|
combo | Package: car import + tyre change | 1 990 Kč |
shoe covers | Tyre change only | 1 490 Kč |
import | Car import only | from 990 Kč (depending on distance) |
washing | Car wash and interior cleaning | 290 Kč |
storage | Tyre storage | 890 Kč / season |
pneuswap.cz | Request for new tyres | individually |
Prices are indicative for central Prague (Prague 1, 2, 3, 7). For more distant addresses and special requirements, we calculate individually. Upon receiving an order, we will contact you within 30 minutes with a confirmed time and final quotation.
Example call
cURL
curl -X POST https://pneuswap.cz/api/booking \
-H "Content-Type: application/json" \
-d '{
"name": "Jan Novák",
"phone": "+420777123456",
"email": "jan@example.cz",
"service": "combo",
"address": "Vinohradská 14, Prague 2",
"date": "2026-05-15",
"time": "10-12",
"tires": "own",
"addon_myti": true,
"message": "Škoda Octavia, 17\" alu kola",
"partner_ref": "INV-2026-0042"
}'
Python
import requests
r = requests.post(
"https://pneuswap.cz/api/booking",
json={
"name": "Jan Novák",
"phone": "+420777123456",
"service": "combo",
"address": "Vinohradská 14, Prague 2",
"date": "2026-05-15",
"time": "10-12",
},
)
r.raise_for_status()
print(r.json())
JavaScript / Node
const res = await fetch("https://pneuswap.cz/api/booking", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: "Jan Novák",
phone: "+420777123456",
service: "combo",
address: "Vinohradská 14, Prague 2",
date: "2026-05-15",
}),
});
const data = await res.json();
console.log(data);
Reply
Success (200)
{
"ok": true,
"booking": {
"service": "combo",
"service_label": "Balíček: dovoz auta + přezutí (1 990 Kč)",
"address": "Vinohradská 14, Prague 2",
"date": "2026-05-15",
"time": "10-12",
"addon_myti": true,
"partner_ref": "INV-2026-0042",
"received_at": "2026-05-01T17:42:00.000Z"
},
"next_step": "Zavoláme do 30 minut s potvrzeným časem a kalkulací dle adresy."
}
Validation error (400)
{
"ok": false,
"error": "validation_failed",
"details": ["phone is required", "service \"foo\" is not valid"]
}
Rate limit (429)
{
"ok": false,
"error": "rate_limited",
"message": "Too many requests. Try again in an hour."
}
Recommended workflow for B2B
- Send a separate request for each order.
partner_ref- facilitates reconciliation - After creation, we will call the customer (field
phone) and confirm the date - Upon taking delivery of the vehicle, we sign. handover protocol (downloadable)
- Standard invoicing terms are 14 days; payment in advance available on request.
Contact
For B2B partnerships, higher rate limits, white-label solutions or integration support, write to pneuswap.cz info@pneuswap.cz or call +420 775 654 443.