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

# SeatType

> Categorias de assento com preço e cor para renderização

## Campos

| Campo        | Tipo        | Descrição                                              |
| ------------ | ----------- | ------------------------------------------------------ |
| `seatTypeId` | `UUID`      | Identificador único                                    |
| `vehicleId`  | `UUID`      | Referência ao veículo                                  |
| `name`       | `String`    | Nome da categoria (ex.: "Comum", "Executivo", "Leito") |
| `color`      | `String`    | Cor para renderização na interface (`#RRGGBB`)         |
| `price`      | `Int`       | Preço em centavos                                      |
| `createdBy`  | `UUID?`     | Usuário que criou o registro, quando aplicável         |
| `createdAt`  | `DateTime`  | Data de criação                                        |
| `updatedBy`  | `UUID?`     | Usuário que fez a última atualização, quando aplicável |
| `updatedAt`  | `DateTime`  | Data da última atualização                             |
| `deletedBy`  | `UUID?`     | Usuário que removeu o registro, quando aplicável       |
| `deletedAt`  | `DateTime?` | Data de remoção                                        |

## Relacionamentos

* Relaciona-se com [Vehicle](/data-modelling/fleet/vehicle)
* Relaciona-se com múltiplos [Seat](/data-modelling/fleet/seat)
* Relaciona-se com múltiplos [Ticket](/data-modelling/sales/ticket)

## Regras de Negócio

* Define a categoria de preço para os assentos de um veículo (ex.: "Comum", "Executivo", "Leito").
* O preço é armazenado em centavos (`Int`) — ex.: R\$ 15,50 = `1550`.
* O campo `color` é utilizado pela interface para diferenciar visualmente as categorias no mapa de assentos. Aceita somente hex `#RRGGBB`.
* Cada veículo possui seu próprio catálogo de SeatTypes. Categorias com mesmo nome em veículos diferentes são registros independentes.
* `SeatType` é mantido junto com o veículo, dentro do conteúdo hierárquico de [Vehicle Setup](/domain/fleet/vehicle-setup). A atualização do catálogo substitui o catálogo anterior.
* O cadastro pode usar sugestões que combinam um catálogo padrão (`Comum`, `Executivo`, `Leito`) com categorias já usadas pela própria organização. Nomes repetidos são consolidados de forma case-insensitive, com categorias da organização tendo precedência.

## Example

```json theme={null}
{
  "seatTypeId": "0197a80a-56f4-71cb-93a6-6e69d1506ef7",
  "vehicleId": "0197a809-3eb8-7eb8-9c4f-8a6c2e7e5b1a",
  "name": "Executivo",
  "color": "#2563EB",
  "price": 2500,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T14:25:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T14:25:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
