-
Notifications
You must be signed in to change notification settings - Fork 114
Add generic rules for rider_categories #1979
Copy link
Copy link
Closed
Labels
new ruleNew rule to be addedNew rule to be addedstatus: ReadyAn issue that is ready to be worked on.An issue that is ready to be worked on.
Milestone
Description
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 checksIf 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
new ruleNew rule to be addedNew rule to be addedstatus: ReadyAn issue that is ready to be worked on.An issue that is ready to be worked on.