Cria um recurso reservável
POST/api/bookings/resources
- Auth
- Exige token
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Em space de Reservas (`bookings`): owner e admin. Em space de Agendamento (`scheduling`): quem a configuração `offerers` do space permite (`ADMINS` padrão, `TEAM` ou `MEMBERS`); quem não é owner/admin cria a **própria** agenda (`PERSON`), que só aparece para os outros depois de owner/admin aprovarem (`listed`) quando `requireListingApproval` está ligado. O módulo e o tipo não mudam depois. `imageUrl`, quando enviado, só aceita endereço `https://` (outro esquema: 400 em `imageUrl`).
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
spaceIdobrigatório | string (uuid) | |
nameobrigatório | string | max 120 |
kindobrigatório | ROOM | DESK | STATION | OTHER | PERSON | Em `scheduling`, quem não é owner/admin cria sempre `PERSON` (a própria agenda). |
descriptionopcional | string | |
imageUrlopcional | string | |
amenitiesopcional | string[] | |
capacityopcional | integer | |
unitsopcional | integer | |
bookableopcional | boolean | |
activeopcional | boolean | |
listedopcional | boolean | Só owner/admin. |
ownerProfileIdopcional | string (uuid) | Só owner/admin, em `PERSON`: de quem é a agenda. |
meetingUrlopcional | string | |
openingHoursopcional | object | |
slotMinutesopcional | integer | |
minDurationMinutesopcional | integer | |
maxDurationMinutesopcional | integer | |
bufferMinutesopcional | integer | |
minNoticeMinutesopcional | integer | |
maxAdvanceDaysopcional | integer | |
cancellationWindowHoursopcional | integer |
Respostas
| Código | Descrição |
|---|---|
201 | Criado. |
400 | Requisição inválida — falha de validação. |
401 | Token ausente, inválido ou expirado. |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/bookings/resources" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{"spaceId":"00000000-0000-0000-0000-000000000000","name":"Sala 1","kind":"ROOM"}'