The Warehouse Setup module gives tenant administrators full control over the physical storage structure of their warehouse. From this single screen you can track the overall setup status of your tenant, create and manage named locations, and drill into each location to manage its bins. Every location and bin can be individually activated, deactivated, and flagged as the default — giving the rest of Dragon Guard WMS a reliable anchor point for automatic assignment.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/CodexaCP/DG_WEB/llms.txt
Use this file to discover all available pages before exploring further.
Access and Navigation
Navigate to Dashboard → Admin → Warehouse Setup (/dashboard/admin/warehouse-setup). The route is protected by adminGuard; users without the ADMIN role are redirected automatically.
Supreme (SUPERADMIN_SUPREMO) users can enter the Warehouse Setup module when the backend session resolves a usable company context — for example, when operating on behalf of a specific tenant. Without a resolved company context the module is inaccessible.
Setup Status
When the module loads it fetches a summary fromGET /api/warehouse/setup-status. The response reflects whether the tenant has completed the minimum warehouse configuration required by the rest of the WMS (at least one active default location and at least one active default bin inside that location).
Location Management
Locations represent named physical or logical zones inside the warehouse (e.g., Receiving Dock, Cold Storage A, Dispatch Bay).Creating a Location
Click New Location to open the location form. Both fields are required:| Field | Requirement |
|---|---|
| Code | Required. Unique short identifier (e.g., LOC-001). |
| Name | Required. Human-readable display label. |
POST /api/warehouse/locations. Backend errors are surfaced exactly as returned by the API — no client-side masking.
Editing a Location
Select a location row and choose Edit. The form pre-populates with existing values. On save, the frontend callsPUT /api/warehouse/locations/{id}.
Activating and Deactivating
Each location card carries an Active / Inactive toggle. The UI calls the dedicated activation endpoints so that status changes are intentional and auditable:- Activate →
PUT /api/warehouse/locations/{id}/activate - Deactivate →
PUT /api/warehouse/locations/{id}/deactivate
Setting the Default Location
Only one location can be the default at a time. Click Set as Default on a location card to callPUT /api/warehouse/locations/{id}/default. The backend enforces the single-default constraint.
Bin Management
Bins are storage subdivisions nested inside a location (e.g., Shelf A-1, Pallet Row 3). Select a location to expand its bin list.Creating a Bin
Click New Bin while a location is selected. The required fields mirror the location form:| Field | Requirement |
|---|---|
| Code | Required. Unique within the parent location. |
| Name | Optional label for display. |
POST /api/warehouse/locations/{locationId}/bins.
Editing a Bin
Choose Edit on any bin row. On save the frontend callsPUT /api/warehouse/bins/{id}.
Activating and Deactivating a Bin
Use the bin-level toggle to call:- Activate →
PUT /api/warehouse/bins/{id}/activate - Deactivate →
PUT /api/warehouse/bins/{id}/deactivate
Setting the Default Bin
Each location can have one default bin. Click Set as Default to callPUT /api/warehouse/bins/{id}/default. The backend enforces uniqueness of the default within each location.
API Endpoints Reference
| Method | Endpoint | Purpose |
|---|---|---|
GET | /api/warehouse/setup-status | Retrieve tenant warehouse setup summary |
GET | /api/warehouse/locations | List all tenant locations |
POST | /api/warehouse/locations | Create a new location |
PUT | /api/warehouse/locations/{id} | Update location details |
PUT | /api/warehouse/locations/{id}/activate | Activate a location |
PUT | /api/warehouse/locations/{id}/deactivate | Deactivate a location |
PUT | /api/warehouse/locations/{id}/default | Set location as tenant default |
GET | /api/warehouse/locations/{locationId}/bins | List bins for a location |
POST | /api/warehouse/locations/{locationId}/bins | Create a bin inside a location |
PUT | /api/warehouse/bins/{id} | Update bin details |
PUT | /api/warehouse/bins/{id}/activate | Activate a bin |
PUT | /api/warehouse/bins/{id}/deactivate | Deactivate a bin |
PUT | /api/warehouse/bins/{id}/default | Set bin as location default |
UI and Localization
All user-facing labels in Warehouse Setup are resolved through Dragon Guard’sTranslationService. If you observe untranslated keys in the UI, verify that the relevant translation keys exist in the active tenant language pack.