Skip to content

Add generic rules for rider_categories #1979

@skalexch

Description

@skalexch

Describe the problem

We adopted rider categories. The PR will be merged soon. These are the generic rules related to rider_categories.txt and its fields.

Describe the new validation rule

Related spec language Rationale for rule Notice name to update or add Pseudologic Notice table columns Severity Notice description
rider_categories.rider_category_id rider_category_id is required missing_required_field If rider_categories.txt does not exist: Ignore subsequent checks.
If rider_category_id column does not exist: Trigger Notice.
fieldName, filename, csvRowNumber ERROR A required column is missing in the input file.
rider_categories.rider_category_id Rider_category_id is unique duplicate_key If rider_categories.txt does not exist: Ignore subsequent checks.
If rider_category_id is not unique: Trigger Notice.
fieldName1, fieldName2, fieldValue1, fieldValue2, filename, newCsvRowNumber, oldCsvRowNumber ERROR The values of the given key and rows are duplicates.
rider_categories.rider_category_name rider_category_name is required missing_required_field If rider_categories.txt does not exist: Ignore subsequent checks.
If rider_category_name column does not exist: Trigger Notice.
fieldName, filename, csvRowNumber ERROR A required column is missing in the input file.
rider_categories.is_default_fare_category is_default_fare_category is required missing_required_field If rider_categories.txt does not exist: Ignore subsequent checks.
If is_default_fare_category column does not exist: Trigger Notice.
fieldName, filename, csvRowNumber ERROR A required column is missing in the input file.
rider_categories.is_default_fare_category is_default_fare_category is either 0 (or empty) or 1 unexpected_enum_value If rider_categories.txt does not exist: Ignore subsequent checks.
If is_default_fare_category is not in [0, empty, 1]: Trigger Notice.
csvRowNumber, fieldName, fieldValue, filename ERROR An enum has an unexpected value.
rider_categories.eligibility_url eligibility_url should be a valid URL invalid_url If rider_categories.txt does not exist: Ignore subsequent checks.
If eligibility_url does not exist: Ignore subsequent checks.
If eligibility_url is invalid: Trigger Notice.
csvRowNumber, fieldName, fieldValue, filename ERROR A field contains a malformed URL.
rider_categories.rider_category_id, fare_products.rider_category_id rider_categories_id should exist in rider_categories.txt foreign_key_violation if rider_categories.txt does not exist: Do not trigger a notice and ignore subsequent checks
If the value for rider_categories_id in fare_products.txt does not exist in rider_categories.txt: Trigger Notice
childFieldName,childFilename,csvRowNumber,fieldValue,parentFieldName,parentFilename ERROR The given field has no value in some input row, even though values are required.

Sample GTFS datasets

http://developer.trimet.org/schedule/gtfs.zip https://mobilitydatabase.org/feeds/mdb-247

Severity

ERROR

Additional context

Documentation link: google/transit#511

Metadata

Metadata

Assignees

Labels

new ruleNew rule to be addedstatus: ReadyAn issue that is ready to be worked on.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions