Skip to content

Remarca a reserva (outro horário do mesmo recurso)

POST/api/bookings/{bookingId}/reschedule

Auth
Requires a token
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

Dono da reserva, anfitrião da agenda e equipe (owner, admin, moderador, financeiro), enquanto a reserva está ativa e **ainda não começou** (400 `startsAt`). Informe `startsAt` e/ou `endsAt` ou `durationMinutes`; o que faltar fica como está (a duração se mantém). Valem as mesmas regras de criar: horário de funcionamento, bloco, antecedência, bloqueios e conflito (a própria reserva não conflita com ela mesma), com a mesma trava; 409 traz `data.nextSlots`. Os créditos são acertados na mesma transação pelo novo custo: mais caro debita a diferença (sem saldo, 409 com `required/balance/shortfall`), mais barato estorna a diferença; reserva em cortesia não mexe no livro. Sem mudança, 400. O convite de calendário é atualizado (mesmo `UID`, `SEQUENCE` maior), o lembrete de 1 hora volta a valer e o e-mail `changed` sai pela fila. Remarcar não é cancelar e não perde crédito, mas quando o próprio dono remarca uma reserva que já está dentro da janela de cancelamento, a reserva fica marcada `lateCancel: true` e um cancelamento posterior perde os créditos conforme `lateCancelLosesCredits`. Se o plano está em atraso ou pausado e a variável de plataforma `credits.useWhileSubscriptionInactive` está desligada, a diferença a debitar é recusada (409, `credits`). Anfitrião (que não é equipe) não pode fazer a remarcação que encarece a reserva do outro (403).

Parameters

NameInTypeDescription
bookingIdrequiredpathstring (uuid)

Headers

NameTypeDescription
X-CommunityIdoptionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Request body application/json

NameTypeDescription
startsAtoptionalstringHora local da comunidade sem sufixo, ou instante com fuso.
endsAtoptionalstring
durationMinutesoptionalinteger≥ 5, ≤ 10080
attendeeCountoptionalinteger≥ 1

Responses

StatusDescription
200Remarcada. `charged` e `refunded` trazem a diferença de créditos; `balanceAfter` só quando houve acerto.
400Requisição inválida — falha de validação.
401Token ausente, inválido ou expirado.
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409Conflito com o estado atual do recurso.
500Erro interno do servidor.

curl example

curl -X POST "https://api.memberfy.net/api/bookings/<bookingId>/reschedule" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'