> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Documentação das APIs da DeliveryVip, em português. Regras que mais quebram integrações: (1) Merchant API: faça polling em GET /merchant/v3/events:polling no máximo a cada 30 s por token; confirme todo evento recebido com POST /merchant/v3/events/acknowledgment e corpo [{"id": "<eventId>"}] (o campo lido é id, não eventId), inclusive eventos repetidos ou que o sistema não trata; deduplique por eventId; o evento é só um aviso, busque o pedido na orderURL. (2) Tokens client_credentials valem 24 h e não têm refresh_token: peça outro ao receber 401. (3) Webhooks: valide a assinatura HMAC sobre o corpo bruto e responda 2xx rápido; o polling é a reconciliação. (4) Open Delivery: host od.deliveryvip.com.br, um client_secret por loja, datas em UTC. (5) Fidelidade: o operador implementa 5 rotas assinadas com HMAC e chama o config push; o estorno precisa ser idempotente. (6) Partner API: scope dv.partner. Não invente endpoints: use a referência gerada das specs OpenAPI.

# Fechar um place para consumo

> Bloqueie novos pedidos numa mesa com QR Code ou tablet, por exemplo depois que a conta foi paga.

Fecha a mesa para consumo. O cliente que lê o QR Code ou usa o tablet dela vê o aviso de mesa fechada e não consegue finalizar pedidos. Na [listagem](/docs/guides/merchant/indoor/places-api/listar-places.md), o `status` passa a `CLOSED`.

Use quando a conta da mesa for paga ou quando a mesa sair de uso, e [reabra](/docs/guides/merchant/indoor/places-api/acoes-de-places/abrir-para-consumo-um-place.md) quando ela voltar a receber clientes.

## Requisição

**merchantId** `uuid` *required*

A loja.

**placeId** `string` *required*

O `id` completo do place, com o prefixo, como `indoor_tablet_b63d1110-bf0f-4d0e-82d9-e91609829655`.

```bash cURL theme={null}
curl --request POST 'https://api.deliveryvip.com.br/merchant/v3/{merchantId}/places/{placeId}/closed' \
  --header 'Authorization: Bearer {token}'
```

```js Node.js theme={null}
await fetch(`https://api.deliveryvip.com.br/merchant/v3/${merchantId}/places/${placeId}/closed`, {
  method: 'POST',
  headers: { Authorization: `Bearer ${token}` },
})
```

```python Python theme={null}
requests.post(
    f"https://api.deliveryvip.com.br/merchant/v3/{merchant_id}/places/{place_id}/closed",
    headers={"Authorization": f"Bearer {token}"},
)
```

## Resposta

```json 202 Accepted theme={null}
{ "id": "indoor_tablet_b63d1110-bf0f-4d0e-82d9-e91609829655" }
```

> [!NOTE]
>
> Fechar a mesa não cancela nem conclui os pedidos já feitos nela. Eles seguem o próprio [ciclo de vida](/docs/guides/merchant/order/definicoes.md).

## Erros

| Status | Quando |
| - | - |
| `404 Not Found` | O `merchantId` não autorizou o seu app, o place não existe, pertence a outra loja ou o `placeId` não começa com `indoor_qrcode_` ou `indoor_tablet_`. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.