Cria um recurso reservável
POST/api/bookings/resources
- Auth
- Requires a token
- X-CommunityId
X-CommunityIdSend 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.
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
| Name | Type | Description |
|---|---|---|
X-CommunityIdoptional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Request body application/json
| Name | Type | Description |
|---|---|---|
spaceIdrequired | string (uuid) | |
namerequired | string | max 120 |
kindrequired | ROOM | DESK | STATION | OTHER | PERSON | Em `scheduling`, quem não é owner/admin cria sempre `PERSON` (a própria agenda). |
descriptionoptional | string | |
imageUrloptional | string | |
amenitiesoptional | string[] | |
capacityoptional | integer | |
unitsoptional | integer | |
bookableoptional | boolean | |
activeoptional | boolean | |
listedoptional | boolean | Só owner/admin. |
ownerProfileIdoptional | string (uuid) | Só owner/admin, em `PERSON`: de quem é a agenda. |
meetingUrloptional | string | |
openingHoursoptional | object | |
slotMinutesoptional | integer | |
minDurationMinutesoptional | integer | |
maxDurationMinutesoptional | integer | |
bufferMinutesoptional | integer | |
minNoticeMinutesoptional | integer | |
maxAdvanceDaysoptional | integer | |
cancellationWindowHoursoptional | integer |
Responses
| Status | Description |
|---|---|
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. |
curl example
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"}'