Add template type, logic, and test
Return error on template with bad ordering char
Test more template scenarios
Extract prefix/suffix splitting
Extract check-digit logic