> ## Documentation Index
> Fetch the complete documentation index at: https://human-resource-docs.ha-consultancy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Object-ID Allocation

> The AL object ID ranges (70003100–70003500) reserved by BC Human Resource, the per-feature sub-range conventions for tables and pages, and naming rules.

The extension reserves AL object IDs in the range **70003100 – 70003500** (declared in `app.json`).

## Currently used ranges

| Object type     | Range used                                  | Range available                |
| --------------- | ------------------------------------------- | ------------------------------ |
| Tables          | 70003101 – 70003160                         | 70003161 – 70003200, 70003300+ |
| Page extensions | 70003100 – 70003110 (≈)                     | rest of the page range         |
| Pages           | 70003100 – 70003200                         | 70003201 – 70003300            |
| Codeunits       | 70003100 – 70003200                         | 70003201 – 70003300            |
| Reports         | 70003100+                                   | most                           |
| Enums           | 70003100, 70003128, 70003129                | most                           |
| Enum extensions | 70003100                                    | most                           |
| Control add-ins | declared in `src/controls/RosterGridHAC.al` | n/a (single add-in)            |
| Permission set  | 70003100 (single set)                       | n/a                            |

## Reserved sub-ranges (convention)

| Feature                      | Tables                                   | Pages                                                         |
| ---------------------------- | ---------------------------------------- | ------------------------------------------------------------- |
| Employee records / documents | 70003105 – 70003115                      | 70003100 – 70003106                                           |
| Air ticket                   | 70003109 – 70003114                      | 70003107 – 70003113                                           |
| Salary & payroll             | 70003115 – 70003117, 70003147            | 70003114 – 70003115, 70003140, 70003159                       |
| Shifts & roster              | 70003119 – 70003121, 70003158            | 70003116 – 70003120, 70003174 – 70003175                      |
| Leave                        | 70003123 – 70003130, 70003133 – 70003135 | 70003121 – 70003123, 70003125 – 70003127, 70003148 – 70003151 |
| Loans                        | 70003132, 70003140, 70003142             | 70003131 – 70003135, 70003160 – 70003163                      |
| Overtime                     | 70003136 – 70003138, 70003141            | 70003137, 70003139                                            |
| EOS & Social insurance       | 70003143 – 70003146                      | 70003142 – 70003147                                           |
| HR documents                 | 70003152, 70003153                       | 70003152 – 70003154                                           |
| Advance salary               | 70003155                                 | 70003164 – 70003165                                           |
| Announcements                | 70003156, 70003157                       | 70003166 – 70003169, 70003172                                 |
| Approvals                    | 70003137, 70003138                       | 70003128                                                      |
| Departments / orgs           | 70003101 – 70003103                      | 70003170 – 70003171                                           |
| Employee journal             | 70003160                                 | 70003176 – 70003177                                           |
| Demo data                    | n/a                                      | 70003200                                                      |
| Role center                  | n/a                                      | 70003173                                                      |

## Naming convention

* **Tables:** `<Domain> HAC` (e.g. `Employee Loan HAC`).
* **Pages:** same root, optionally with a suffix like `Card`, `List`, `Subform`.
* **Codeunits:** `<Feature> Mng HAC` for engine-style codeunits; `API<Feature> HAC` for the published web service codeunits.
* **All fields** added by this extension use the suffix `HAC` to avoid collisions.

## Source layout

```text theme={null}
BC-Human-Resource-AL/src/
├── codeunits/         business logic, install/upgrade, API endpoints
├── controls/          control add-in declaration for the Roster Board
├── enumExt/           extensions to standard BC enums
├── enums/             enums defined by this extension
├── layouts/           report layouts
├── page/              pages (cards, lists, subforms, role center, …)
├── pageExt/           page extensions (Employee Card, etc.)
├── permissionSet/     the single Human Resource HAC permission set
├── reports/           reports
├── table/             tables
└── tableExt/          table extensions (Employee, Employee Templ., …)
```
