Park4Travels Operator API
List your UK car park on Park4Travels directly from your booking system. Push live rates, capacity and availability with a simple REST API. Your listing appears in customer searches within 5 minutes of the call.
Getting started
- 1. Apply. Create an operator account. Approval is usually within 24 hours.
- 2. Generate an API key. Sign in, open API access in your dashboard, click Generate. Save the key — we only show it once.
- 3. POST your first listing. Use the curl example below. The listing appears in customer searches within 5 minutes.
- 4. Get paid. When a customer books, we email you the booking details immediately. We settle commission monthly on the 15th.
Authentication
Send your API key in the Authorization header on every request.
Authorization: Bearer p4t_op_a3f4b8e2c9d10567f4e3a2b1c0d9e8f7Lose a key? Rotate it from your dashboard. The old key is revoked immediately.
Endpoints
| Method | Path | Purpose |
|---|---|---|
| GET | /api/operators/listings | List your listings |
| POST | /api/operators/listings | Create a new listing |
| GET | /api/operators/listings/{id} | Fetch one of your listings |
| PATCH | /api/operators/listings/{id} | Update fields (price, availability, etc.) |
| DELETE | /api/operators/listings/{id} | Soft-delete (sets active=false) |
Create a listing
Adds a car park to the search index. Returns the created listing with its id — store this for future updates.
curl -X POST https://www.park4travels.co.uk/api/operators/listings \
-H "Authorization: Bearer p4t_op_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"airportCode": "STN",
"name": "Acme Park & Ride Stansted",
"serviceType": "park-ride",
"pricePerDay": 6.50,
"bookingFee": 0,
"distanceMin": 10,
"shuttleMin": 8,
"parkMark": true,
"cctv": true,
"fenced": true,
"ev": false,
"undercover": false,
"description": "Secure off-airport Park & Ride 10 min from STN by free 24/7 shuttle.",
"imageUrl": "https://example.com/lot.jpg",
"active": true
}'Response
{
"ok": true,
"listing": {
"id": "clx9k2…",
"airportCode": "STN",
"name": "Acme Park & Ride Stansted",
"pricePerDay": 6.50,
"active": true,
"createdAt": "2026-06-02T10:14:00.000Z"
/* …all fields */
}
}Update a listing's price
Common case: nightly rate update. Partial body — only include the fields you're changing.
curl -X PATCH https://www.park4travels.co.uk/api/operators/listings/clx9k2… \
-H "Authorization: Bearer p4t_op_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "pricePerDay": 7.25 }'Pause a listing temporarily
Hide from search without deleting — useful for capacity blackouts (e.g. fully booked for half-term week).
curl -X PATCH https://www.park4travels.co.uk/api/operators/listings/clx9k2… \
-H "Authorization: Bearer p4t_op_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "active": false }'To restore: same PATCH with { "active": true }.
List all your listings
curl https://www.park4travels.co.uk/api/operators/listings \
-H "Authorization: Bearer p4t_op_YOUR_KEY"Listing fields
| Field | Type | Required | Notes |
|---|---|---|---|
| airportCode | string | yes | IATA, 3 letters. E.g. LHR, STN, MAN. |
| name | string | yes | What customers see (2–120 chars). |
| serviceType | enum | yes | park-ride | meet-greet | on-airport |
| pricePerDay | number | yes | £ per day, pre-VAT not stripped — what the customer pays. |
| bookingFee | number | no | Optional flat fee on top. Default 0. |
| distanceMin | int | yes | Minutes from terminal (drive or walk). |
| shuttleMin | int | no | Shuttle interval in min. Null = no shuttle. |
| parkMark | bool | no | Park Mark accredited. Default false. |
| cctv | bool | no | Default true. |
| fenced | bool | no | Default true. |
| ev | bool | no | EV charging available. Default false. |
| undercover | bool | no | Covered parking. Default false. |
| description | string | yes | 10–2,000 chars, plain text. |
| imageUrl | url | no | HTTPS only, used in listing card. |
| active | bool | no | Default true. Set false to hide from search. |
Errors & limits
Missing, malformed or invalid API key. Check the Authorization header.
The listing id doesn't exist or isn't yours.
Field validation failed. Response includes which field.
Retry with exponential backoff. Email support if persistent.
Rate limit: 60 requests/minute per key. If you need more, email hello@park4travels.co.uk.
Frequently asked
What does it cost to list?▾
Nothing. We charge commission only when a customer books your car park — typically 8–15% depending on volume. No setup fee, no monthly fee, no listing fee.
How fast does a new listing appear?▾
Within 5 minutes of the POST. Search-result caches refresh on the hour so the longest tail is 60 minutes.
How do I receive bookings?▾
We email the booking details (customer name, phone, car reg, drop-off and pick-up times) to your operator email immediately on payment. Booking webhooks coming soon for direct system-to-system.
Can I list multiple car parks?▾
Yes — one POST per listing. There's no cap on listings per operator.
How do I update availability?▾
PATCH active=false to remove a listing temporarily (e.g. fully booked half-term). PATCH active=true to bring it back. We're building richer availability-window endpoints next.
Do you support test mode?▾
Yes — set name to start with [TEST] to mark a listing as test inventory. It's hidden from public search but you can practice the API against it.