Referência — serviço da viagem
A regra confirma que o identificador existe em `calendar.txt` ou `calendar_dates.txt`.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | trips_service_id_foreign |
| Ficheiros | trips.txt, calendar.txt, calendar_dates.txt |
| Campo | service_id |
| Tipo | Identificador de referência |
| Severidade | Obrigatório |
Descrição do campo: identifica o conjunto de datas em que o serviço está disponível.
Mais informação em trips.txt, calendar.txt, calendar_dates.txt.
Como funciona
A regra confirma que o identificador existe em calendar.txt ou calendar_dates.txt. Não verifica os restantes dados do registo referido.
A regra avalia cada linha do trips.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | ✅ Passa | Continua |
| 2 | Existe um registo com o mesmo service_id em calendar.txt ou calendar_dates.txt? | ✅ Passa | Assinala referência inexistente |
Os espaços não são removidos. As comparações de texto distinguem maiúsculas e minúsculas. Basta existir num dos dois ficheiros. Não verifica se o serviço está ativo numa data.
O resultado depende da configuração da regra: obrigatório reprova; recomendado passa com aviso; informativo passa com informação. O aviso antecipa uma futura exigência, mas só reprova quando a configuração passar a obrigatório. Os exemplos de reprovação pressupõem configuração obrigatória. As condições de execução e as dependências configuradas têm de estar cumpridas.
Como se relacionam
service_id em trips.txt corresponde ao mesmo campo em calendar.txt ou calendar_dates.txt.
Exemplos
| Valor | Resultado | Porquê |
|---|---|---|
S1 (existe) | ✅ Passa | Referência encontrada |
DESCONHECIDO (não existe) | ❌ Reprova | Referência inexistente |
S1 (só existe sem espaço) | ❌ Reprova | O espaço altera a referência |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Referência inexistente | O identificador não existe nos ficheiros de referência | Corrigir service_id em trips.txt ou criar o registo correspondente em calendar.txt ou calendar_dates.txt. |