Appearance
Ponto de Venda (POS)
O POS do módulo de Tours gira em torno de três entidades encadeadas: a comanda (tab) é a conta aberta do cliente no salão, na praia ou no quarto; o pedido (order) é uma rodada lançada nessa comanda; e os itens (order items) são os produtos de cada rodada, já com nome e preço congelados no momento da venda. Completam o fluxo os modificadores do item (adicionais e opcionais) e a trilha de eventos de status que alimenta o KDS da cozinha e do bar.
Todo o fluxo é offline-first: comandas, pedidos e itens aceitam clientRef (UUID gerado no dispositivo) como chave de idempotência — reenviar o mesmo lançamento após uma queda de conexão não duplica a venda (ver Chaves de Idempotência).
Headers obrigatórios
Todas as requisições devem incluir o header X-Tour-Id (UUID) com o tokenHeader da instância e Authorization: Bearer {token} com o token de um usuário staff (guard toursUser). Mutações exigem a permissão pos.order — a API responde 403 com code: FORBIDDEN quando ela falta.
Comandas
A comanda ancora o consumo: o kind indica a quem ela pertence — resource (uma mesa, cama ou equipamento), reservation (uma reserva), customer (um cliente do CRM) ou walk_in (consumidor avulso, sem cadastro). O vínculo correspondente (tourResourceId, tourReservationId ou tourCustomerId) aponta para a entidade, e a comanda pode ainda referenciar o tourFolioId onde o consumo será consolidado e a tourCashSessionId do caixa em aberto.
Quem abriu a comanda é registrado automaticamente em openedByTourUserId (o usuário autenticado — não é enviado no payload); ao fechar ou cancelar, closedByTourUserId é injetado da mesma forma. O campo covers registra o número de lugares/pessoas atendidas.
Listar Comandas
Lista as comandas da instância, com paginação e filtros por tipo, status e vínculos.
http
GET /v1/tours/user/tabsParâmetros de Query
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página (mínimo: 1). |
perPage | number | Não | Itens por página (entre 1 e 100). |
search | string | Não | Busca por termo no número da comanda (máx. 150 caracteres). |
kind | enum | Não | resource, reservation, customer ou walk_in. |
status | enum | Não | open, locked, closed ou cancelled. |
tourResourceId | number | Não | Filtra por recurso vinculado. |
tourReservationId | number | Não | Filtra por reserva vinculada. |
tourCustomerId | number | Não | Filtra por cliente vinculado. |
tourCashSessionId | number | Não | Filtra por sessão de caixa. |
orderBy | enum | Não | id, number, openedAt, closedAt ou createdAt. |
orderDirection | enum | Não | asc ou desc. |
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/tabs?status=open&kind=customer" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna a página de comandas no formato meta/data.
json
{
"meta": {
"currentPage": 1,
"perPage": 10
},
"data": [
{
"id": 1,
"tourId": 1,
"tourResourceId": null,
"tourReservationId": null,
"tourCustomerId": 1,
"tourFolioId": 1,
"tourCashSessionId": null,
"openedByTourUserId": 1,
"closedByTourUserId": null,
"clientRef": null,
"number": "3219",
"kind": "customer",
"status": "open",
"covers": null,
"openedAt": "2026-10-07T11:56:15.243-03:00",
"closedAt": null,
"notes": null,
"createdAt": "2026-10-07T11:56:15.244-03:00",
"updatedAt": "2026-10-07T11:56:15.244-03:00"
}
]
}Abrir Comanda
Abre uma nova comanda (exige a permissão pos.order). O openedByTourUserId é preenchido com o usuário autenticado; se a comanda já nascer closed ou cancelled, closedByTourUserId também é injetado.
http
POST /v1/tours/user/tabsPayload (Body)
| Atributo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
number | string | Sim | Número/identificador da comanda (máx. 30 caracteres). |
kind | enum | Sim | resource, reservation, customer ou walk_in. |
clientRef | string | Não | UUID gerado no dispositivo — chave de idempotência offline. |
tourResourceId | number | Não | Recurso vinculado (quando kind é resource). |
tourReservationId | number | Não | Reserva vinculada (quando kind é reservation). |
tourCustomerId | number | Não | Cliente vinculado (quando kind é customer). |
tourFolioId | number | Não | Folio onde o consumo será consolidado. |
tourCashSessionId | number | Não | Sessão de caixa em aberto. |
status | enum | Não | open, locked, closed ou cancelled (padrão: open). |
covers | number | Não | Número de lugares/pessoas (mínimo: 0). |
openedAt | string | Não | Data/hora de abertura em ISO 8601 (padrão: agora). |
closedAt | string | Não | Data/hora de fechamento em ISO 8601. |
notes | string | Não | Observações da comanda. |
Exemplo de Requisição
bash
curl -X POST "https://api.us.basis.tavares.in/v1/tours/user/tabs" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"number": "DOC-101",
"kind": "customer",
"tourCustomerId": 1,
"tourFolioId": 1,
"status": "open",
"covers": 2,
"openedAt": "2026-10-20T14:00:00.000-03:00",
"notes": "Comanda doc"
}'Respostas
201 Created
Retorna o ID da comanda aberta.
json
{
"id": 4
}422 Unprocessable Entity
Ocorre quando o payload é inválido ou um vínculo informado não existe na instância.
json
{
"errors": [
{
"message": "The number field is required",
"rule": "required",
"field": "number"
}
]
}403 Forbidden
Ocorre quando o usuário autenticado não possui a permissão pos.order (code: FORBIDDEN).
Listar Comandas para Dropdown
Retorna as comandas em formato simplificado (value/label com o número), ideal para selects — como o vínculo de comanda ao criar um pedido.
http
GET /v1/tours/user/tabs/listAceita search, status e limit (1 a 1000) como parâmetros opcionais de query.
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/tabs/list?status=open" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna um array com as comandas.
json
[
{
"value": 1,
"label": "3219"
},
{
"value": 4,
"label": "DOC-101"
}
]Obter Comanda por ID
Recupera os detalhes de uma comanda, incluindo cliente, folio, usuários de abertura/fechamento e os pedidos lançados.
http
GET /v1/tours/user/tabs/:idParâmetros de Rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | Sim | O ID da comanda. |
Respostas
200 OK
Retorna a comanda com os relacionamentos.
json
{
"id": 4,
"tourId": 1,
"tourResourceId": null,
"tourReservationId": null,
"tourCustomerId": 1,
"tourFolioId": 1,
"tourCashSessionId": null,
"openedByTourUserId": 1,
"closedByTourUserId": null,
"clientRef": null,
"number": "DOC-101",
"kind": "customer",
"status": "open",
"covers": 2,
"openedAt": "2026-10-20T14:00:00.000-03:00",
"closedAt": null,
"notes": "Comanda doc",
"createdAt": "2026-10-07T15:11:14.675-03:00",
"updatedAt": "2026-10-07T15:11:14.675-03:00",
"toursResource": null,
"toursCustomer": {
"id": 1,
"fullName": "Mr. Rogelio Cummerata III"
},
"openedByTourUser": {
"id": 1,
"displayName": "Bruno Demo"
},
"toursFolio": {
"id": 1,
"code": "IZTYL5BY"
},
"closedByTourUser": null,
"toursReservation": null,
"toursOrders": []
}404 Not Found
Ocorre quando a comanda não existe na instância.
Atualizar Comanda
Atualiza dados, vínculos e status de uma comanda (exige a permissão pos.order). Ao mudar o status para closed ou cancelled, o closedByTourUserId é injetado com o usuário autenticado.
http
PUT /v1/tours/user/tabs/:idPayload (Body)
Aceita os mesmos campos da abertura, todos opcionais.
Exemplo de Requisição
bash
curl -X PUT "https://api.us.basis.tavares.in/v1/tours/user/tabs/4" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"number": "DOC-101",
"kind": "customer",
"tourCustomerId": 1,
"tourFolioId": 1,
"status": "open",
"covers": 3,
"openedAt": "2026-10-20T14:00:00.000-03:00",
"notes": "Comanda doc editada"
}'Respostas
204 No Content
Atualização concluída com sucesso.
404 Not Found
Ocorre quando a comanda não existe na instância.
Remover Comanda
Remove uma comanda via soft delete (exige a permissão pos.order).
http
DELETE /v1/tours/user/tabs/:idRespostas
204 No Content
Remoção concluída com sucesso.
Pedidos
Cada pedido é uma rodada dentro da comanda: o sequence ordena as rodadas (1, 2, 3…), e o orderedAt registra o horário do dispositivo que lançou o pedido — essencial no modo offline, quando o pedido chega ao servidor minutos depois de ter sido feito. O syncedAt marca quando o lote offline foi sincronizado, e o deviceId identifica o terminal de origem. O orderedByTourUserId é injetado com o usuário autenticado.
Listar Pedidos
Lista os pedidos da instância, com filtro por comanda.
http
GET /v1/tours/user/ordersParâmetros de Query
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página (mínimo: 1). |
perPage | number | Não | Itens por página (entre 1 e 100). |
tourTabId | number | Não | Filtra por comanda. |
orderBy | enum | Não | id, sequence, orderedAt ou createdAt. |
orderDirection | enum | Não | asc ou desc. |
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/orders?tourTabId=1" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna a página de pedidos no formato meta/data.
json
{
"meta": {
"currentPage": 1,
"perPage": 10
},
"data": [
{
"id": 1,
"tourId": 1,
"tourTabId": 1,
"orderedByTourUserId": 1,
"clientRef": null,
"sequence": 1,
"orderedAt": "2026-10-07T11:56:15.278-03:00",
"syncedAt": null,
"deviceId": null,
"notes": null,
"createdAt": "2026-10-07T11:56:15.278-03:00",
"updatedAt": "2026-10-07T11:56:15.278-03:00"
}
]
}Criar Pedido
Lança uma nova rodada em uma comanda (exige a permissão pos.order). O orderedByTourUserId é preenchido com o usuário autenticado.
http
POST /v1/tours/user/ordersPayload (Body)
| Atributo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tourTabId | number | Sim | Comanda à qual o pedido pertence. |
clientRef | string | Não | UUID gerado no dispositivo — chave de idempotência offline. |
sequence | number | Não | Número da rodada na comanda (mínimo: 1). |
orderedAt | string | Não | Horário do pedido no dispositivo, em ISO 8601 (padrão: agora). |
syncedAt | string | Não | Horário em que o lote offline foi sincronizado (ISO 8601). |
deviceId | string | Não | Identificador do terminal/dispositivo (máx. 100 caracteres). |
notes | string | Não | Observações do pedido. |
Exemplo de Requisição
bash
curl -X POST "https://api.us.basis.tavares.in/v1/tours/user/orders" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"tourTabId": 1,
"sequence": 1,
"orderedAt": "2026-10-20T14:00:00.000-03:00",
"notes": "Pedido doc"
}'Respostas
201 Created
Retorna o ID do pedido criado.
json
{
"id": 4
}422 Unprocessable Entity
Ocorre quando a comanda não existe na instância ou o payload é inválido.
403 Forbidden
Ocorre quando o usuário autenticado não possui a permissão pos.order (code: FORBIDDEN).
Obter Pedido por ID
Recupera os detalhes de um pedido, incluindo quem lançou e os itens da rodada.
http
GET /v1/tours/user/orders/:idRespostas
200 OK
Retorna o pedido com orderedByTourUser e toursOrderItems.
json
{
"id": 4,
"tourId": 1,
"tourTabId": 1,
"orderedByTourUserId": 1,
"clientRef": null,
"sequence": 1,
"orderedAt": "2026-10-20T14:00:00.000-03:00",
"syncedAt": null,
"deviceId": null,
"notes": "Pedido doc",
"createdAt": "2026-10-07T15:10:54.430-03:00",
"updatedAt": "2026-10-07T15:10:54.430-03:00",
"orderedByTourUser": {
"id": 1,
"displayName": "Bruno Demo"
},
"toursOrderItems": []
}404 Not Found
Ocorre quando o pedido não existe na instância.
Atualizar Pedido
Atualiza uma rodada (exige a permissão pos.order). Aceita os mesmos campos da criação, todos opcionais.
http
PUT /v1/tours/user/orders/:idRespostas
204 No Content
Atualização concluída com sucesso.
404 Not Found
Ocorre quando o pedido não existe na instância.
Remover Pedido
Remove um pedido via soft delete (exige a permissão pos.order).
http
DELETE /v1/tours/user/orders/:idRespostas
204 No Content
Remoção concluída com sucesso.
Itens do Pedido
O item é a linha de venda: nome e preço são congelados no lançamento (productNameSnapshot, unitPriceAmount) — a tabela de preços pode mudar amanhã, a conta de ontem não. O seatNumber (a partir de 0) identifica a pessoa na mesa e é a base do split por assento no fechamento da conta (ver Financeiro).
O status segue o fluxo do KDS: received → in_preparation → ready → delivered (ou cancelled), com os marcos firedAt, readyAt e deliveredAt. Cada transição gera um evento de status. Valores monetários são retornados como strings decimais.
Desconto: discountAmount com discountReason e discountApprovedByTourUserId (usuário staff que aprovou). Cancelamento (void): envie voidedAt + voidReason — o voidedByTourUserId é injetado com o usuário autenticado.
Listar Itens
Lista os itens de pedido da instância, com filtros por pedido, estação KDS, assento e status.
http
GET /v1/tours/user/order-itemsParâmetros de Query
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página (mínimo: 1). |
perPage | number | Não | Itens por página (entre 1 e 100). |
tourOrderId | number | Não | Filtra por pedido (rodada). |
status | enum | Não | received, in_preparation, ready, delivered ou cancelled. |
tourKdsStationId | number | Não | Filtra por estação KDS (cozinha, bar…). |
seatNumber | number | Não | Filtra por assento (mínimo: 0). |
tourProductId | number | Não | Filtra por produto. |
orderBy | enum | Não | id, createdAt ou updatedAt. |
orderDirection | enum | Não | asc ou desc. |
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/order-items?tourOrderId=1&status=received" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna a página de itens no formato meta/data.
json
{
"meta": {
"currentPage": 1,
"perPage": 10
},
"data": [
{
"id": 1,
"tourId": 1,
"tourOrderId": 1,
"tourProductId": 1,
"tourKdsStationId": 1,
"discountApprovedByTourUserId": null,
"voidedByTourUserId": null,
"clientRef": null,
"seatNumber": null,
"quantity": "1.0000",
"productNameSnapshot": "Luxurious Wooden Computer",
"unitPriceAmount": "10.00",
"modifiersAmount": "0.00",
"discountAmount": "0.00",
"discountReason": null,
"subtotalAmount": "10.00",
"taxAmount": "0.00",
"totalAmount": "10.00",
"status": "received",
"firedAt": null,
"readyAt": null,
"deliveredAt": null,
"voidedAt": null,
"voidReason": null,
"notes": null,
"createdAt": "2026-10-07T11:56:15.300-03:00",
"updatedAt": "2026-10-07T11:56:15.300-03:00"
}
]
}Adicionar Item
Lança um item em um pedido (exige a permissão pos.order).
http
POST /v1/tours/user/order-itemsPayload (Body)
| Atributo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
tourOrderId | number | Sim | Pedido (rodada) ao qual o item pertence. |
tourProductId | number | Sim | Produto vendido. |
quantity | number | Sim | Quantidade. |
productNameSnapshot | string | Sim | Nome do produto congelado no lançamento (máx. 200 caracteres). |
unitPriceAmount | number | Sim | Preço unitário congelado no lançamento. |
tourKdsStationId | number | Não | Estação KDS que prepara o item. |
clientRef | string | Não | UUID gerado no dispositivo — chave de idempotência offline. |
seatNumber | number | Não | Assento/pessoa na mesa (mínimo: 0) — base do split por assento. |
modifiersAmount | number | Não | Soma dos adicionais (modificadores). |
discountAmount | number | Não | Valor do desconto. |
discountReason | string | Não | Motivo do desconto. |
discountApprovedByTourUserId | number | Não | Usuário staff que aprovou o desconto. |
subtotalAmount | number | Não | Subtotal (quantidade × unitário + modificadores − desconto). |
taxAmount | number | Não | Total de impostos do item. |
totalAmount | number | Não | Total do item. |
status | enum | Não | Status inicial no KDS (padrão: received). |
firedAt | string | Não | Horário de envio para a produção (ISO 8601). |
readyAt | string | Não | Horário em que ficou pronto (ISO 8601). |
deliveredAt | string | Não | Horário da entrega (ISO 8601). |
voidedAt | string | Não | Marca o cancelamento — voidedByTourUserId é injetado. |
voidReason | string | Não | Motivo do cancelamento (void). |
notes | string | Não | Observações do item ("sem gelo", "ponto da carne"…). |
Exemplo de Requisição
bash
curl -X POST "https://api.us.basis.tavares.in/v1/tours/user/order-items" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"tourOrderId": 1,
"tourProductId": 1,
"quantity": 2,
"productNameSnapshot": "Caipirinha",
"unitPriceAmount": 28,
"subtotalAmount": 56,
"totalAmount": 56,
"status": "received",
"notes": "Item doc"
}'Respostas
201 Created
Retorna o ID do item lançado.
json
{
"id": 4
}422 Unprocessable Entity
Ocorre quando o pedido ou o produto não existem na instância, ou o payload é inválido.
403 Forbidden
Ocorre quando o usuário autenticado não possui a permissão pos.order (code: FORBIDDEN).
Obter Item por ID
Recupera os detalhes de um item, incluindo produto, estação KDS, aprovadores, modificadores e eventos de status.
http
GET /v1/tours/user/order-items/:idRespostas
200 OK
Retorna o item com os relacionamentos.
json
{
"id": 4,
"tourId": 1,
"tourOrderId": 1,
"tourProductId": 1,
"tourKdsStationId": null,
"discountApprovedByTourUserId": null,
"voidedByTourUserId": null,
"clientRef": null,
"seatNumber": null,
"quantity": "2.0000",
"productNameSnapshot": "Caipirinha",
"unitPriceAmount": "28.00",
"modifiersAmount": "0.00",
"discountAmount": "0.00",
"discountReason": null,
"subtotalAmount": "56.00",
"taxAmount": "0.00",
"totalAmount": "56.00",
"status": "received",
"firedAt": null,
"readyAt": null,
"deliveredAt": null,
"voidedAt": null,
"voidReason": null,
"notes": "Item doc",
"createdAt": "2026-10-07T15:10:53.640-03:00",
"updatedAt": "2026-10-07T15:10:53.640-03:00",
"discountApprovedByTourUser": null,
"voidedByTourUser": null,
"toursKdsStation": null,
"toursOrderItemModifiers": [],
"toursProduct": {
"id": 1,
"name": "Bespoke Concrete Fish",
"sku": "3XSHCPSMWH"
},
"toursOrderItemStatusEvents": []
}404 Not Found
Ocorre quando o item não existe na instância.
Atualizar Item
Atualiza quantidade, valores, status KDS, desconto ou void de um item (exige a permissão pos.order). Aceita os mesmos campos da criação, todos opcionais. Ao enviar voidedAt, o voidedByTourUserId é injetado com o usuário autenticado.
http
PUT /v1/tours/user/order-items/:idRespostas
204 No Content
Atualização concluída com sucesso.
404 Not Found
Ocorre quando o item não existe na instância.
Remover Item
Remove um item via soft delete (exige a permissão pos.order).
http
DELETE /v1/tours/user/order-items/:idRespostas
204 No Content
Remoção concluída com sucesso.
Modificadores do Item (somente leitura)
Os modificadores são os adicionais e opcionais aplicados a um item (extra de queijo, ponto da carne, troca de acompanhamento), com nome e delta de preço congelados (nameSnapshot, priceDelta). São criados junto com o item e expostos aqui apenas para consulta.
Listar Modificadores
http
GET /v1/tours/user/order-item-modifiersParâmetros de Query
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página (mínimo: 1). |
perPage | number | Não | Itens por página (entre 1 e 100). |
tourOrderItemId | number | Não | Filtra pelo item do pedido. |
orderBy | enum | Não | id ou nameSnapshot. |
orderDirection | enum | Não | asc ou desc. |
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/order-item-modifiers?tourOrderItemId=1" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna a página de modificadores no formato meta/data.
json
{
"meta": {
"currentPage": 1,
"perPage": 10
},
"data": [
{
"id": 1,
"tourId": 1,
"tourOrderItemId": 1,
"tourModifierOptionId": 1,
"nameSnapshot": "Generic",
"priceDelta": "2.00",
"quantity": "1.0000"
}
]
}Obter Modificador por ID
http
GET /v1/tours/user/order-item-modifiers/:idRespostas
200 OK
Retorna o modificador com a opção de origem (toursModifierOption).
json
{
"id": 1,
"tourId": 1,
"tourOrderItemId": 1,
"tourModifierOptionId": 1,
"nameSnapshot": "Generic",
"priceDelta": "2.00",
"quantity": "1.0000",
"toursModifierOption": {
"id": 1,
"code": "SMMOMOXX",
"name": "Small"
}
}404 Not Found
Ocorre quando o modificador não existe na instância.
Eventos de Status do Item (somente leitura)
Cada transição de status do item no KDS (received → in_preparation → ready → delivered/cancelled) grava um evento imutável com status de origem, status de destino, quem mudou e quando. É a trilha que alimenta os painéis da cozinha e as métricas de tempo de preparo.
Listar Eventos
http
GET /v1/tours/user/order-item-status-eventsParâmetros de Query
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
page | number | Não | O número da página (mínimo: 1). |
perPage | number | Não | Itens por página (entre 1 e 100). |
tourOrderItemId | number | Sim | Item do pedido dono dos eventos. |
orderBy | enum | Não | id ou occurredAt. |
orderDirection | enum | Não | asc ou desc. |
Exemplo de Requisição
bash
curl -X GET "https://api.us.basis.tavares.in/v1/tours/user/order-item-status-events?tourOrderItemId=1" \
-H "X-Tour-Id: 123e4567-e89b-12d3-a456-426614174000" \
-H "Authorization: Bearer {token}" \
-H "Accept: application/json"Respostas
200 OK
Retorna a página de eventos no formato meta/data.
json
{
"meta": {
"currentPage": 1,
"perPage": 10
},
"data": [
{
"id": 1,
"tourId": 1,
"tourOrderItemId": 1,
"changedByTourUserId": 1,
"fromStatus": "received",
"toStatus": "in_preparation",
"occurredAt": "2026-10-07T11:56:15.358-03:00",
"changedByTourUser": {
"id": 1,
"displayName": "Bruno Demo"
}
}
]
}422 Unprocessable Entity
Ocorre quando tourOrderItemId não é informado ou o item não existe na instância.
Obter Evento por ID
http
GET /v1/tours/user/order-item-status-events/:idRespostas
200 OK
Retorna o evento com o usuário que realizou a mudança.
json
{
"id": 1,
"tourId": 1,
"tourOrderItemId": 1,
"changedByTourUserId": 1,
"fromStatus": "received",
"toStatus": "in_preparation",
"occurredAt": "2026-10-07T11:56:15.358-03:00",
"changedByTourUser": {
"id": 1,
"displayName": "Bruno Demo"
}
}404 Not Found
Ocorre quando o evento não existe na instância.