This guide takes one vehicle from start to finish. It needs somewhere to wait between rides, and you will find it a spot.
Our vehicle is called rt-0417, and it is heading for Nørreport in Copenhagen. You will make four calls: find room, reserve a spot, check in, and check out.
You need a test key. If you do not have one yet, see Getting an API key.
Find room
First, find out where there is room. Give a point, near, and the time your vehicle will get there, arrive_at.
curl "https://api.golanoo.com/v1/availability?near=55.6812,12.5689&arrive_at=2026-11-02T14:02:00Z" \ -H "Authorization: Bearer lk_test_..."You get the staging areas with room, nearest first:
{ "object": "list", "has_more": false, "data": [ { "object": "availability", "staging_area": "sa_norreport", "name": "Nørreport", "distance_m": 420, "free_spots": 3, "chance_free": 0.92 }, { "object": "availability", "staging_area": "sa_israels_plads", "name": "Israels Plads", "distance_m": 780, "free_spots": 1, "chance_free": 0.61 } ]}What do the numbers mean?
free_spots is how many spots are free at that time.
chance_free is how likely it is that one is still free when your vehicle gets there. 0.92 means a 92% chance. It is a forecast, so it does not keep a spot for you. Only a reservation does.
More in Finding room.
Reserve a spot
Nørreport has room, so reserve a spot there. Say which vehicle, which staging area, and when it will arrive. vehicle_id is your own name for the vehicle.
curl https://api.golanoo.com/v1/reservations \ -H "Authorization: Bearer lk_test_..." \ -H "Idempotency-Key: 5f0e9a1c-2d7b-4b8e-9c3a-0e6f2a7d1b44" \ -H "Content-Type: application/json" \ -d '{ "vehicle_id": "rt-0417", "staging_area": "sa_norreport", "arrive_by": "2026-11-02T14:02:00Z" }'Why the Idempotency-Key?
If the call times out, you cannot tell whether it went through. Send it again with the same Idempotency-Key, and we make sure the spot is only reserved once. Use a new key, such as a UUID, for each new reservation.
You get the reservation back:
{ "id": "res_8f2c41", "object": "reservation", "vehicle_id": "rt-0417", "staging_area": "sa_norreport", "spot": "2", "location": { "lat": 55.6838, "lng": 12.5721 }, "status": "held", "arrive_by": "2026-11-02T14:02:00Z", "held_until": "2026-11-02T14:07:00Z", "checked_in_at": null, "leave_by": null, "checked_out_at": null, "cancellation_reason": null, "metadata": {}, "created_at": "2026-11-02T13:51:12Z"}Send the vehicle to location, and park it in spot 2.
How long is the spot kept?
Until held_until, a few minutes after the time you said the vehicle would arrive. At Nørreport, that is five minutes. If the vehicle has not checked in by then, the spot goes to someone else.
Running late, or not coming at all? See Holding a spot.
Check in
When the vehicle is parked in its spot, check it in. Early is fine.
curl -X POST https://api.golanoo.com/v1/reservations/res_8f2c41/check_in \ -H "Authorization: Bearer lk_test_..." \ -H "Idempotency-Key: 9b2d6e3f-7a41-4c0e-8f15-3d9a6c2b7e80"The status is now checked_in. leave_by says when the vehicle has to leave: at Nørreport, 45 minutes after it checked in.
{ "id": "res_8f2c41", "object": "reservation", "vehicle_id": "rt-0417", "staging_area": "sa_norreport", "spot": "2", "location": { "lat": 55.6838, "lng": 12.5721 }, "status": "checked_in", "arrive_by": "2026-11-02T14:02:00Z", "held_until": "2026-11-02T14:07:00Z", "checked_in_at": "2026-11-02T14:01:37Z", "leave_by": "2026-11-02T14:46:37Z", "checked_out_at": null, "cancellation_reason": null, "metadata": {}, "created_at": "2026-11-02T13:51:12Z"}Check out
When the vehicle drives off to its next ride, check it out. The spot is then free for the next vehicle.
curl -X POST https://api.golanoo.com/v1/reservations/res_8f2c41/check_out \ -H "Authorization: Bearer lk_test_..." \ -H "Idempotency-Key: 2c8f4a7e-1b3d-4e6a-9f05-7d2e8b1c6a39"The status is now checked_out. That is a whole stay: held, then checked_in, then checked_out.
Keep learning
- Going live: what to check before your vehicles use real staging areas.
- Finding room: searching near a point or at one staging area, and what
free_spotsandchance_freemean. - Holding a spot: running late, cancelling, holds that run out, and when you cannot get a spot.
- Checking in and out: the stay itself, and
leave_by. - When a staging area closes: planned closures, and sudden ones that send every vehicle away.
- Receiving webhooks: hear about changes you did not cause, such as a hold running out.
- The reference: Reservations, Availability, Staging areas and Webhooks.