Common Workflows
Step-by-step guides for common tasks in Lager Guru.
Create a New Tenant
Prerequisites
- Super admin access
- Tenant information (name, company details)
Steps
Navigate to Tenant Management
- Go to Admin → Tenants
- Click Create Tenant
Enter Tenant Information
- Tenant name
- Company details (address, contact info)
- Initial settings
Configure Tenant
- Set active status
- Configure feature flags
- Set up billing (if applicable)
Create Initial Admin
- Create first tenant admin user
- Assign tenant admin role
- Send invitation email
Verify Setup
- Log in as tenant admin
- Verify tenant isolation
- Test basic operations
Example
// Via API
const { data, error } = await supabase
.from('tenants')
.insert({
name: 'Acme Corporation',
company: {
address: '123 Main St',
city: 'Berlin'
},
active: true
});See Multi-Tenant Overview for details.
Add First Admin
Prerequisites
- Super admin access or service role
- User account created
Steps
Create User Account
- Navigate to Admin → User Management
- Click Add User
- Enter user details (email, name)
Assign Admin Role
- Select user
- Assign role: Super Admin or Tenant Admin
- For tenant admin: Associate with tenant
Configure Permissions
- Set appropriate permissions
- Configure access levels
- Set up SSO (if applicable)
Send Invitation
- Send password reset email
- Or provide SSO login instructions
Example
// Create user
const { data: user } = await supabase.auth.admin.createUser({
email: 'admin@example.com',
email_confirm: true
});
// Assign admin role
await supabase
.from('user_roles')
.insert({
user_id: user.user.id,
role: 'admin'
});See Admin Guide for details.
Configure SSO
Prerequisites
- Tenant admin access
- SSO provider configured (OIDC or SAML)
- Provider credentials
Steps
Get Provider Information
- OIDC: Issuer URL, Client ID, Client Secret
- SAML: Entity ID, ACS endpoint, Certificate
Navigate to SSO Configuration
- Go to Settings → SSO Configuration
- Select provider type (OIDC or SAML)
Enter Provider Details
- Issuer/Entity ID
- Client ID
- Client Secret (encrypted)
- Metadata URL (if available)
Configure User Provisioning
- Set up user mapping
- Configure role assignment
- Set default tenant
Test SSO
- Use test login button
- Verify authentication flow
- Check user provisioning
Activate SSO
- Enable SSO provider
- Set as default (optional)
- Notify users
Example
// Create SSO provider
const { data, error } = await supabase
.from('tenant_sso_providers')
.insert({
tenant_id: tenantId,
type: 'oidc',
issuer: 'https://auth.example.com',
client_id: 'client-id',
client_secret: 'encrypted-secret',
active: true
});See SSO Setup for detailed instructions.
Create First Zone
Prerequisites
- Admin access
- Zone information (code, name, category)
Steps
Navigate to Zone Management
- Go to Admin → Zone Management
- Click Create Zone
Enter Zone Information
- Zone code (unique identifier)
- Zone name
- Zone category/type
- Optional coordinates (x, y, z)
Configure Zone Settings
- Set routing weight
- Configure zone permissions
- Set capacity limits (optional)
Save Zone
- Click Save
- Verify zone appears in list
- Test zone access
Example
// Create zone
const { data, error } = await supabase
.from('zones')
.insert({
code: 'A-01',
name: 'Zone A-01',
category: 'storage',
x: 10,
y: 20,
z: 0,
routing_weight: 1
});See Zone Management for details.
Add Inventory Item
Prerequisites
- Admin or inventory worker access
- Item information (SKU, name, description)
Steps
Navigate to Inventory
- Go to Inventory → Items
- Click Add Item
Enter Item Information
- SKU (unique identifier)
- Item name
- Description
- Unit of measure
Set Initial Stock
- Initial quantity
- Minimum quantity (for alerts)
- Zone location (optional)
Save Item
- Click Save
- Verify item appears in inventory
- Check stock levels
Example
// Create inventory item
const { data, error } = await supabase
.from('inventory_items')
.insert({
sku: 'SKU-001',
name: 'Product Name',
description: 'Product description',
quantity: 100,
min_quantity: 10,
unit: 'pcs',
zone_id: zoneId
});See Inventory Management for details.
Create Pick List
Prerequisites
- Admin or worker access
- Orders with items to pick
- Zones configured
Steps
Navigate to Pick Lists
- Go to Pick & Pack → Pick Lists
- Click Create Pick List
Select Orders
- Choose orders to include
- Review items to pick
- Verify quantities
Generate Pick List
- System calculates optimal route
- Assigns items to zones
- Sets pick sequence
Assign Worker (optional)
- Select worker for assignment
- Or enable auto-assignment
- Set priority
Start Picking
- Worker opens pick list
- Follows route sequence
- Scans items as picked
Example
// Create pick list
const { data, error } = await supabase
.from('pick_lists')
.insert({
created_by: userId,
assigned_to: workerId,
status: 'pending'
});
// Add items to pick list
await supabase
.from('pick_list_items')
.insert(items.map(item => ({
pick_list_id: pickListId,
item_id: item.id,
qty_required: item.quantity,
zone_id: item.zone_id,
sequence: item.sequence
})));See Pick & Pack for details.
Complete Pack Session
Prerequisites
- Pick list completed
- Items picked and ready to pack
- Packing station access
Steps
Navigate to Packing
- Go to Pick & Pack → Packing
- Select completed pick list
Start Pack Session
- Click Start Packing
- Select delivery units to create
- Scan or enter items
Pack Items
- Add items to delivery units
- Verify quantities
- Mark items as packed
Complete Session
- Review packed items
- Confirm quantities
- Complete pack session
Create Shipment (optional)
- Link delivery units to shipment
- Assign to driver
- Generate shipping labels
Example
// Create pack session
const { data, error } = await supabase
.from('pack_sessions')
.insert({
pick_list_id: pickListId,
packed_by: userId,
packed_at: new Date().toISOString()
});See Pick & Pack for details.
Assign Shipment to Driver
Prerequisites
- Shipment created
- Driver available
- Driver has zone permissions
Steps
Navigate to Shipments
- Go to Shipments → Active Shipments
- Select shipment to assign
Select Driver
- View available drivers
- Check driver status (must be online)
- Verify zone permissions
Assign Shipment
- Click Assign Driver
- Select driver
- Confirm assignment
Notify Driver
- Driver receives notification
- Shipment appears in driver dashboard
- Driver can start delivery
Example
// Assign shipment to driver
const { data, error } = await supabase
.from('shipments')
.update({
driver_id: driverId,
status: 'assigned',
assigned_at: new Date().toISOString()
})
.eq('id', shipmentId);See Shipment Management for details.
Track Equipment
Prerequisites
- Equipment registered
- Scanner or RFID reader
- Zone access
Steps
Scan Equipment
- Use scanner or RFID reader
- Scan equipment QR/RFID code
- System identifies equipment
Record Position
- Select current zone
- Confirm position
- System records timestamp
View Equipment Status
- Check equipment location
- View last seen time
- Check maintenance status
Example
// Record equipment position
const { data, error } = await supabase
.from('equipment_positions')
.insert({
equipment_id: equipmentId,
zone_id: zoneId,
via: 'qr',
created_by: userId,
last_seen_at: new Date().toISOString()
});See Equipment Tracking for details.
Run Slotting Optimization
Prerequisites
- Admin access
- Inventory items in system
- Zones configured
- AI optimization enabled
Steps
Navigate to Slotting
- Go to Optimization → Slotting AI
- Click Run Optimization
Configure Parameters
- Select items to optimize
- Set optimization criteria
- Choose zones to consider
Run Analysis
- System analyzes:
- Item velocity (pick frequency)
- Zone utilization
- Distance optimization
- Space constraints
- System analyzes:
Review Recommendations
- View suggested slot assignments
- Review optimization score
- Check impact analysis
Apply Recommendations
- Select recommendations to apply
- Confirm changes
- System updates item locations
Example
// Run slotting optimization
const { data, error } = await supabase.rpc('run_slotting_optimization', {
tenant_id: tenantId,
zone_ids: zoneIds,
optimization_criteria: {
prioritize_velocity: true,
minimize_distance: true
}
});See Slotting AI for details.
Related Documentation
- Getting Started - Introduction guide
- Admin Guide - Administrative workflows
- User Guides - User-specific guides
- Features - Feature documentation