Skip to main content

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.

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.

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 from GET /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:
FieldRequirement
CodeRequired. Unique short identifier (e.g., LOC-001).
NameRequired. Human-readable display label.
Submit calls 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 calls PUT /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:
  • ActivatePUT /api/warehouse/locations/{id}/activate
  • DeactivatePUT /api/warehouse/locations/{id}/deactivate
Deactivating a location does not automatically deactivate its bins. Review bin status independently after deactivating a parent location.

Setting the Default Location

Only one location can be the default at a time. Click Set as Default on a location card to call PUT /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:
FieldRequirement
CodeRequired. Unique within the parent location.
NameOptional label for display.
Submit calls POST /api/warehouse/locations/{locationId}/bins.

Editing a Bin

Choose Edit on any bin row. On save the frontend calls PUT /api/warehouse/bins/{id}.

Activating and Deactivating a Bin

Use the bin-level toggle to call:
  • ActivatePUT /api/warehouse/bins/{id}/activate
  • DeactivatePUT /api/warehouse/bins/{id}/deactivate

Setting the Default Bin

Each location can have one default bin. Click Set as Default to call PUT /api/warehouse/bins/{id}/default. The backend enforces uniqueness of the default within each location.

API Endpoints Reference

MethodEndpointPurpose
GET/api/warehouse/setup-statusRetrieve tenant warehouse setup summary
GET/api/warehouse/locationsList all tenant locations
POST/api/warehouse/locationsCreate a new location
PUT/api/warehouse/locations/{id}Update location details
PUT/api/warehouse/locations/{id}/activateActivate a location
PUT/api/warehouse/locations/{id}/deactivateDeactivate a location
PUT/api/warehouse/locations/{id}/defaultSet location as tenant default
GET/api/warehouse/locations/{locationId}/binsList bins for a location
POST/api/warehouse/locations/{locationId}/binsCreate a bin inside a location
PUT/api/warehouse/bins/{id}Update bin details
PUT/api/warehouse/bins/{id}/activateActivate a bin
PUT/api/warehouse/bins/{id}/deactivateDeactivate a bin
PUT/api/warehouse/bins/{id}/defaultSet bin as location default

UI and Localization

All user-facing labels in Warehouse Setup are resolved through Dragon Guard’s TranslationService. If you observe untranslated keys in the UI, verify that the relevant translation keys exist in the active tenant language pack.
Backend validation errors are passed through to the form without modification. If you receive an unexpected error message, check the API response body for the exact reason — it will match what is displayed in the UI.

Build docs developers (and LLMs) love