Referência ao serviço do calendário

Verifica se o service_id de calendar_dates.txt existe em calendar.txt.

Propriedades da regra

PropriedadeValor
Rule IDcalendar_dates_service_id_foreign
Ficheiroscalendar_dates.txt, calendar.txt
Camposervice_id
TipoIdentificador ou referência a calendar.service_id
SeveridadeObrigatório

Descrição do campo: identifica um conjunto de datas com exceções de serviço para uma ou mais linhas de transporte. Quando os dois ficheiros de calendário são usados em conjunto, cada par service_id e date só deve aparecer uma vez. Se o identificador existir nos dois ficheiros, calendar_dates.txt altera o serviço definido em calendar.txt.

Mais informação em calendar_dates.txt e calendar.txt.

Como funciona

O resultado depende da severidade definida na configuração da regra: obrigatório (error) reprova; recomendado (warning) passa com aviso; informativo (info) passa com informação. O aviso antecipa uma futura exigência, mas só reprova quando a configuração passar a obrigatório. Nos casos sem severidade explícita abaixo, a indicação de reprovação pressupõe a configuração obrigatória.

O identificador tem de existir em calendar.txt quando esta regra é executada. A regra não verifica a unicidade do identificador nem a compatibilidade da data com o período de serviço.

A regra avalia cada linha do calendar_dates.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.

#PerguntaSe simSe não
1Existe uma linha de calendar.txt com o mesmo service_id?✅ Passa❌ Reprova: serviço não encontrado

A comparação é exata: espaços, maiúsculas e minúsculas contam. A ausência de calendar.txt também origina um problema quando esta regra é executada. Os exemplos pressupõem que a configuração da regra permite reportar problemas e que as condições para a sua execução estão cumpridas.

Como se relacionam

O campo service_id de calendar_dates.txt liga a exceção ao serviço com o mesmo identificador em calendar.txt. Se o conjunto de dados usar apenas calendar_dates.txt, o responsável pela configuração deve rever a aplicação desta regra.

Exemplos

ValorResultadoPorquê
S1 (existe em calendar.txt)✅ PassaReferência encontrada
S3 (só existem S1 e S2)❌ ReprovaReferência inexistente
s1 (só existe S1)❌ ReprovaMaiúsculas e minúsculas diferentes
S1 (calendar.txt ausente)❌ ReprovaFicheiro de referência ausente

Como corrigir

ProblemaCausa provávelO que fazer
Serviço não encontradoO identificador não existe no calendário ou o ficheiro de referência está ausenteCorrigir service_id em calendar_dates.txt para um identificador existente em calendar.txt. Se o serviço estiver em falta, acrescentar a sua definição em calendar.txt.

On this page