Identificador único do serviço
Verifica se o identificador de serviço está preenchido e não se repete em calendar.txt.
Propriedades da regra
| Propriedade | Valor |
|---|---|
| Rule ID | calendar_service_id_unique_non_empty |
| Ficheiro | calendar.txt |
| Campo | service_id |
| Tipo | Identificador único |
| Severidade | Obrigatório |
Descrição do campo: identifica um conjunto de datas em que existe serviço para uma ou mais carreiras.
Mais informação em calendar.txt.
Como funciona
Quando a regra passa, service_id está presente quando exigido e aparece numa única linha de calendar.txt. A regra não verifica se o identificador é usado por viagens nem se aparece em calendar_dates.txt.
A regra avalia cada linha do calendar.txt, seguindo os passos abaixo por ordem, até um deles dar o resultado.
| # | Pergunta | Se sim | Se não |
|---|---|---|---|
| 1 | O campo está vazio? | Verifica se a configuração da regra exige ou recomenda este campo. Se sim, reporta o problema. Se não, aceita | Segue para o passo 2 |
| 2 | A configuração da regra define que este campo não deve ser preenchido? | ❌ Reporta o problema | Segue para o passo 3 |
| 3 | O mesmo service_id aparece em mais do que uma linha de calendar.txt? | ❌ Reporta o problema: identificador duplicado | ✅ Passa |
O valor é comparado tal como foi escrito. Os espaços e as maiúsculas não são normalizados.
Exemplos
| Valor | Resultado | Porquê |
|---|---|---|
DIAS_UTEIS numa única linha | ✅ Passa | Identificador único |
| campo vazio | ❌ Problema | Falta um valor obrigatório |
DIAS_UTEIS em duas linhas | ❌ Problema | Identificador duplicado |
DIAS_UTEIS quando o campo é proibido | ❌ Problema | Campo preenchido indevidamente |
Como corrigir
| Problema | Causa provável | O que fazer |
|---|---|---|
| Identificador duplicado | Duas ou mais linhas usam o mesmo valor | Alterar service_id em calendar.txt para que cada serviço tenha um identificador único |
| Campo em falta | A configuração da regra exige ou recomenda este campo | Preencher service_id em calendar.txt com o identificador do serviço |
| Campo preenchido quando não devia | A configuração da regra define que este campo não deve ter valor | Remover o valor de service_id em calendar.txt |