> For the complete documentation index, see [llms.txt](https://shredded.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shredded.gitbook.io/docs/paid-scripts/shr-bossmenu/exports.md).

# EXPORTS

Resource name: **`shr_bossmenu`**

{% tabs %}
{% tab title="Client" %}

```lua
exports['shr_bossmenu']:OpenBossMenu('police', false)  -- job, adminMode
exports['shr_bossmenu']:CloseBossMenu()

exports['shr_bossmenu']:StartHireSelection(function(serverId) end)
exports['shr_bossmenu']:GetClosestPlayer(5.0)
exports['shr_bossmenu']:GetClosestPlayersInDistance(5.0)
exports['shr_bossmenu']:ClosestPlayer(5.0, function(id) end)
exports['shr_bossmenu']:IsSelecting()
```

{% endtab %}

{% tab title="Server" %}

```lua
-- Access
exports['shr_bossmenu']:IsBoss(source, 'police')
exports['shr_bossmenu']:IsAdmin(source)
exports['shr_bossmenu']:HasPermission(source, 'police', 'deposit', false)
exports['shr_bossmenu']:GetPlayerPermissions(source, 'police', false)

-- Locations
exports['shr_bossmenu']:GetLocations()
exports['shr_bossmenu']:GetJobConfig('police')

-- Duty
exports['shr_bossmenu']:AddDutyMinutes(identifier, 'police', 15)
exports['shr_bossmenu']:AddDutySeconds(identifier, 'police', 900)
exports['shr_bossmenu']:GetWeeklyActivity('police')           -- optional: '2026-W23'

-- Analytics
exports['shr_bossmenu']:IncrementAnalytics('police', 'deposits', 1000)
exports['shr_bossmenu']:LogAnalytics('police', 'deposit', {
    amount = 1000,
    actorIdentifier = 'license:xxx',
    actorType = 'boss'
})

-- Invoices / external income
exports['shr_bossmenu']:RecordSocietyDeposit('society_police', 2500, {
    payerIdentifier = 'license:xxx',
    label = 'Invoice'
})
```

### Increment fields

`deposits`, `withdrawals`, `hires`, `fires`, `promotions`, `total_duty_minutes`, `transaction_count`

### Log action types

`deposit`, `withdraw`, `invoice`, `hire`, `fire`, `promote`, `admin_balance`
{% endtab %}
{% endtabs %}
