Les dates i els imports segueixen regles fixes a tota l'API. Fixa-t'hi des del principi i t'estalviaràs els errors d'integració més típics.
Dates: ISO 8601 amb la diferència horària del club
Cada club té una zona horària (per exemple Europe/Madrid). Totes les dates i hores que retorna l'API són ISO 8601 amb la diferència horària (offset) d'aquella zona en l'instant concret:
2026-10-22T18:00:00+02:00 (horari d'estiu)
2026-12-15T18:00:00+01:00 (horari d'hivern)
Això inclou starts_at, ends_at, created_at, updated_at, canceled_at, expires_at i les franges de disponibilitat. La zona horària del club apareix també a la resposta de /availability (timezone).
Desa i compara instants, no hores locals soltes. Dos valors amb un offset diferent poden ser el mateix instant.
Dates que envies
Als paràmetres de consulta i als cossos (from, to, starts_at, ends_at) accepta ISO 8601 estricte:
YYYY-MM-DDTHH:MMoYYYY-MM-DDTHH:MM:SS- amb un offset opcional:
Zo+HH:MM/-HH:MM
Si no hi inclous offset, l'hora s'interpreta a la zona horària del club. Exemples vàlids, tots equivalents en un club de Madrid a l'octubre:
2026-10-22T18:00:00+02:00
2026-10-22T16:00:00Z
2026-10-22T18:00
A les URL, recorda codificar el + com a %2B (o fes servir curl --data-urlencode):
curl -s -G "$PRANARP_URL/api/v1/bookings" \
-H "Authorization: Bearer $PCK_TOKEN" \
--data-urlencode "from=2026-10-22T00:00:00+02:00" \
--data-urlencode "to=2026-10-23T00:00:00+02:00"
Els formats que no són ISO 8601 (per exemple 22/10/2026 18:00) retornen 422 validation_failed.
Canvis d'hora
Els dies que el club canvia d'horari, un dia no dura 24 hores. Fes servir sempre els offsets que et retorna l'API (per exemple, de availability) en comptes de sumar hores a mà.
Imports: cèntims i moneda
Els imports són nombres enters en la unitat menor de la moneda (cèntims), mai decimals, i van acompanyats de currency:
{
"price": {
"amount_cents": 2400,
"currency": "EUR",
"paid_externally": true
}
}
2400 són 24,00 EUR. Evita els errors d'arrodoniment treballant amb enters i convertint a decimal només en mostrar-los.
En una reserva:
price.amount_centsés el preu aplicat. Si no n'has enviat cap, és el preu que ha calculat Pranarp Club, onullsi no hi ha preu.price.paid_externallyindica que el cobrament s'ha fet fora de Pranarp Club. El cobrament el gestiona el teu sistema; Pranarp Club només en registra la informació.- En crear o modificar una reserva,
price.amount_centsha de ser un enter més gran o igual que 0.
Per conèixer el preu calculat abans de reservar, fes servir GET /quote.