Saltar al contenido

Cria uma reserva

POST/api/bookings

Auth
Requiere token
Quién puede:
owner
admin
X-CommunityId
X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.

Reserva `CONFIRMED` na hora. Valida horário de funcionamento, alinhamento ao slot, duração, antecedência, horizonte, bloqueios, capacidade, conflito (trava de banco: de duas requisições para o mesmo horário, uma vence e a outra recebe 409 com `data.nextSlots`) e a mesma pessoa não reserva em dobro. Em Agendamento, o anfitrião atende uma pessoa por vez, em todas as suas agendas. O custo (créditos, por bloco, cada trecho na sua faixa) é debitado na mesma transação e gravado na reserva; sem saldo: 409 com `data.required`, `balance`, `shortfall`. A equipe (owner, admin, moderador, financeiro) pode reservar em nome de alguém (`profileId`); de membro comum o `profileId` de outra pessoa é 403. Cortesia (`waiveCredits` + `waiveReason`) só owner e admin. Horário sem sufixo é a hora local da comunidade; com `Z` ou deslocamento, o instante dito. O e-mail de confirmação entra na fila. Em Agendamento, agenda cujo dono perdeu o papel exigido por `offerers` (ou o acesso ao space) não aceita reserva nova: 409; as reservas já feitas continuam valendo.

Headers

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

Cuerpo de la solicitud application/json

NombreTipoDescripción
resourceIdobligatoriostring (uuid)
startsAtobligatoriostring
endsAtopcionalstring
durationMinutesopcionalintegerAlternativa a `endsAt`; sem os dois vale a duração mínima.
attendeeCountopcionalinteger
titleopcionalstringmax 120
notesopcionalstring
profileIdopcionalstring (uuid)Só equipe: reserva em nome de.
waiveCreditsopcionalbooleanSó owner e admin.
waiveReasonopcionalstring

Respuestas

CódigoDescripción
201Criada.
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.

Ejemplo con curl

curl -X POST "https://api.memberfy.net/api/bookings" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"resourceId":"00000000-0000-0000-0000-000000000000","startsAt":"2026-11-03T14:00"}'