Salta al contingut

Desenvolupadors

Dates, zones horàries i imports

ISO 8601 amb la diferència horària del club, hores sense offset i imports en cèntims amb moneda.

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:MM o YYYY-MM-DDTHH:MM:SS
  • amb un offset opcional: Z o +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, o null si no hi ha preu.
  • price.paid_externally indica 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_cents ha de ser un enter més gran o igual que 0.

Per conèixer el preu calculat abans de reservar, fes servir GET /quote.