Shop rules reference

SOP SYS-01 · Technical systems manual

1 Purpose

Identify which rule stopped an action, from the rule code the system reports.

2 Applies to

The person responsible for the shop’s database.

3 How to use this reference

Every rule the database enforces has its own code, from GR001 up. When the system refuses an action, it reports the code of the rule that refused it. Find the code in the table below. The Added in column names the database file where the rule is defined.

This table is read from the database files in sql/ each time the manual is built. It always matches the system as it is.

42 rules.

Code What it refuses Added in
GR001 Remedial cut without a qualifying coat assessment grooming_platform_schema.sql
GR002 Approved remedial override with no coat level stated grooming_platform_schema.sql
GR003 Uniform-length template resolved to more than one length grooming_platform_schema.sql
GR004 Cut specification on a visit with no groom service grooming_platform_schema.sql
GR005 Email reminder to an owner who opted out grooming_platform_schema.sql
GR006 Template zone spec configured outside its clamp grooming_platform_schema.sql
GR007 Unknown style template grooming_platform_schema.sql
GR008 Remedial template saved as a standing style profile grooming_platform_schema.sql
GR009 Tiered template with no length tier grooming_platform_schema.sql
GR010 Length tier supplied to a non-tiered template grooming_platform_schema.sql
GR011 Haircut on a dog under the minimum grooming age, no approved reason grooming_platform_schema.sql
GR012 Regulatory vaccine rule changed without a stated reason grooming_platform_schema.sql
GR013 Shop_policy key missing or holding the wrong type grooming_platform_schema.sql
GR014 Attempt to delete a shop_policy row grooming_platform_schema.sql
GR015 The extraction is not awaiting review (already confirmed, rejected, or never loaded) 18_confirmation.sql
GR016 The review is unfinished: a tracked vaccine line with a field nobody has checked, or a term nobody has ruled on 18_confirmation.sql
GR017 The dog is not one this document is filed under 18_confirmation.sql
GR018 A reviewed date is not usable: not a real calendar date, a shot in the future, or an expiry that is not after the shot 18_confirmation.sql
GR019 An automated message to an owner who has not consented to that channel, or whose address for it is missing, or who opted out of email 19_outreach.sql
GR020 A groom started for a dog whose service-blocking vaccine is expired, missing, disputed, or still being chased 20_check_in.sql
GR021 A counter-entered shot whose dates cannot go on a vaccination record: no expiry, no date given, given in the future, or expiring before it was given 22_walk_in.sql
GR022 A counter-entered shot that disagrees with one already on file for that dog: the same vaccine given within a few days, with different dates. Choosing between them is a manager’s job. 22_walk_in.sql
GR023 A breed that is not on the list, without saying it is a new one 22_walk_in.sql
GR024 An allergen that is not on the list, without saying it is a new one 24_allergies_and_handling.sql
GR025 An allergy taken off, or made less severe, without a reason 24_allergies_and_handling.sql
GR026 A change marked reviewed by someone who is not a manager 24_allergies_and_handling.sql
GR027 A shot checked by hand against a copy that is not on file for this dog 26_counter_paperwork.sql
GR028 A second look given by someone who is not a manager 26_counter_paperwork.sql
GR029 Removing a copy that a vaccination record was checked against 26_counter_paperwork.sql
GR030 A shot verified or fixed by someone who is not a manager 28_manager_fixes.sql
GR031 A booking over one the groomer, or the dog, already has 30_appointments.sql
GR032 A regular client booked with another groomer, without saying why 30_appointments.sql
GR033 A pelted coat shaved without the groomer saying she told the owner 32_record_the_haircut.sql
GR034 A haircut that differs from the dog’s usual style, with no reason 32_record_the_haircut.sql
GR035 A haircut override OK’d by someone who is not a manager 32_record_the_haircut.sql
GR036 Admin opened by someone who isn’t a manager, with a wrong PIN, too many tries, or a passkey that isn’t theirs 33_admin_access.sql
GR037 A manager’s PIN or passkeys changed by anyone but that manager, verified, or the last way in removed 33_admin_access.sql
GR038 Staff changed by someone who isn’t a manager with Admin open 34_staff.sql
GR039 The shop left without an active manager 34_staff.sql
GR040 A staff member deleted instead of marked as no longer working here 34_staff.sql
GR041 Admin access reset for yourself, or for someone who isn’t a manager 34_staff.sql
GR042 Someone marked as gone while they still have grooms booked ahead 34_staff.sql