PneuSwap Order CS
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

FieldTypeMandatoryDescription
namestringyesCustomer name and surname (max 200 characters)
phonestringyesPhone number in the format +420... (max 50)
servicestringyesService code. See the services table.
addressstringyesCollection address in Prague (street, house number, district)
emailstringnoE-mail. If provided, serves as reply-to.
datestringnoPreferred date in YYYY-MM-DD format
timestringnoTime window (e.g. 10-12, 14-16)
tiresstringnoown | stored | buy
addon_washingbooleannoAdd car wash and interior cleaning (+290 Kč)
messagestringnoFree text note (max 5000 characters)
partner_refstringnoYour internal order ID for reconciliation

Service codes

CodeServicePrice
comboPackage: car import + tyre change1 990 Kč
shoe coversTyre change only1 490 Kč
importCar import onlyfrom 990 Kč (depending on distance)
washingCar wash and interior cleaning290 Kč
storageTyre storage890 Kč / season
pneuswap.czRequest for new tyresindividually
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

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.