# `VoileLockerLuggage.Lockers`
[🔗](https://github.com/curatorian/voile_locker_luggage/blob/v0.2.2/lib/voile_locker_luggage/lockers.ex#L1)

Context module for locker management operations.

# `assign_locker`

Assign a locker to a visitor.
Automatically picks the first available locker if no locker_id given.

# `count_lockers_by_status`

Count lockers by status for a node.

# `count_lockers_by_status_for_location`

Count lockers by status for a location.

# `create_locker`

Create a new locker.

# `delete_locker`

Delete a locker. Only allowed if no active sessions.

# `get_active_session_for_locker`

Get the active session for a specific locker.

# `get_active_session_for_visitor`

Get the active session for a visitor (if any) in a node.

# `get_location_config`

Get location config for a specific location, returns nil if not found.

# `get_locker!`

Get a single locker by id.

# `get_locker_by_number`

Get a locker by node_id and locker_number.

# `get_node_config`

Get node config for a specific node, returns nil if not found.

# `get_session!`

Get a session by id with locker preloaded.

# `list_active_sessions`

List all active sessions for a node.

# `list_active_sessions`

List active sessions for a node with pagination.

# `list_active_sessions_for_location`

List all active sessions for a location (non-paginated).

# `list_active_sessions_for_location`

List active sessions for a location with pagination.

# `list_available_lockers`

Get available lockers for a node.

# `list_available_lockers_for_location`

Get available lockers for a location.

# `list_location_configs`

List all location configs for a node.

# `list_lockers`

List all lockers for a node.

# `list_lockers`

List lockers for a node filtered by status.

# `list_lockers_for_location`

List all lockers for a location.

# `list_node_configs`

List all node configs.

# `list_sessions`

List session history for a node with optional date filter.

# `list_sessions`

List session history for a node with optional date filter and pagination.

# `list_sessions_for_location`

List session history for a location with optional date filter and pagination.

# `location_enabled?`

Check if a location has locker system enabled.

# `node_enabled?`

Check if a node has locker system enabled.

# `release_locker`

Release a locker session.

# `release_locker_for_visitor`

Release a visitor's active locker session in a node.

# `sync_lockers_for_location`

Bulk-create lockers for a specific location.
Locker numbers are padded integers: "001", "002", ...
Only creates lockers that don't already exist for that location.

# `sync_lockers_for_node`

Bulk-create lockers for a node based on total count.
Locker numbers are generated as padded integers: "001", "002", ...
Only creates lockers that don't already exist.

# `update_locker`

Update a locker.

# `upsert_location_config`

Create or update location config.

# `upsert_node_config`

Create or update node config.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
