sass-imobiliaria/.specify/features/007-admin-panel/contracts/visitas.md

86 lines
1.4 KiB
Markdown

# Contract: Admin Visitas Endpoints
**Prefix:** `/api/v1/admin/visitas`
**Auth:** JWT Bearer (admin)
---
## GET /api/v1/admin/visitas
Lista todos os pedidos de visita.
### Response 200
```json
[
{
"id": "uuid",
"user_id": "uuid",
"property_id": "uuid",
"message": "Gostaria de agendar uma visita",
"status": "pending",
"scheduled_at": "2026-05-15T14:00:00"
}
]
```
---
## POST /api/v1/admin/visitas
Cria um novo pedido de visita.
### Request
```json
{
"user_id": "uuid",
"property_id": "uuid",
"message": "Gostaria de agendar uma visita",
"status": "pending",
"scheduled_at": "2026-05-15T14:00:00"
}
```
### Response 201
```json
{
"id": "uuid",
"user_id": "uuid",
"property_id": "uuid",
"message": "Gostaria de agendar uma visita",
"status": "pending",
"scheduled_at": "2026-05-15T14:00:00"
}
```
---
## PUT /api/v1/admin/visitas/:id
Atualiza um pedido de visita.
### Request
```json
{
"user_id": "uuid",
"property_id": "uuid",
"message": "Gostaria de agendar uma visita",
"status": "confirmed",
"scheduled_at": "2026-05-15T14:00:00"
}
```
### Response 200
```json
{
"id": "uuid",
"user_id": "uuid",
"property_id": "uuid",
"message": "Gostaria de agendar uma visita",
"status": "confirmed",
"scheduled_at": "2026-05-15T14:00:00"
}
```
---
## DELETE /api/v1/admin/visitas/:id
Remove um pedido de visita.
### Response 204