Existing ReportingGroup_GetAll operation will automatically include Hierarchical Reporting Groups and Membership (if enabled)
The ID of a Hierarchical reporting group will be comprised using "Hi word, Lo word": (CompanyId * 2^16) + TerminalId This will produce result where:
Value does not complete with existing Custom Reporting Groups
Value is a positive integer (does not require any change to Vendor software)
Value is easily/accurately encoded and decoded to/from HiLo value
CompanyId has a ceiling of 32768 (set at 30k to provide a buffer if needed in the future)
TerminalId has a ceiling of 65535 (set at 60k to provide a buffer if needed in the future)
Examples:
A Company Level Hierarchical Reporting Group the combination of: CompanyId = 201 CompanyName = BurgerKing Would result in: HierarchicalReportingGroupId = 13172736 HierarchicalReportingGroupName = "BurgerKing" (Company Name Only) A Terminal Level Hierarchical Reporting Group the combination of: CompanyId = 201 CompanyName = BurgerKing TerminalId = 54 TerminalName = Denver102 Would result in: HierarchicalReportingGroupId = 13172790 HierarchicalReportingGroupName = "BurgerKing - Denver102"