> ## 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.

# Point

> Catálogo global de localidades reutilizáveis (terminais, cidades, pontos de embarque) referenciadas por Routes

## Campos

| Campo         | Tipo        | Descrição                                              |
| ------------- | ----------- | ------------------------------------------------------ |
| `pointId`     | `UUID`      | Identificador único                                    |
| `name`        | `String`    | Nome do local                                          |
| `description` | `String?`   | Descrição complementar (opcional)                      |
| `lat`         | `Float?`    | Latitude (opcional, -90 a 90)                          |
| `lng`         | `Float?`    | Longitude (opcional, -180 a 180)                       |
| `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 múltiplos [Route](/data-modelling/operations/route) as origin (`Route.originId`)
* Relaciona-se com múltiplos [Route](/data-modelling/operations/route) as destination (`Route.destinationId`)

## Regras de Negócio

* Catálogo **global** compartilhado por todas as empresas.
* Gerenciado pelo BackOffice e consumido pelas operadoras (OPS) e demais superfícies.
* O mesmo Point pode ser referenciado como origem e/ou destino em múltiplas Routes.
* As coordenadas (`lat`/`lng`) são opcionais; quando ausentes, o route preview retorna `GAP` para os trechos consecutivos que dependem desse Point.
* O nome é único de forma case-insensitive.
* Padroniza o filtro de busca por origem/destino no app do passageiro entre todas as empresas operadoras.

## Example

```json theme={null}
{
  "pointId": "0197a80b-3f5c-7f5c-86e9-ff4f8a6ce1dc",
  "name": "Terminal Rodoviário Tietê",
  "description": "Terminal rodoviário em São Paulo",
  "lat": -23.5162,
  "lng": -46.6252,
  "createdBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "createdAt": "2026-07-03T15:00:00.000Z",
  "updatedBy": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "updatedAt": "2026-07-03T15:00:00.000Z",
  "deletedBy": null,
  "deletedAt": null
}
```
