> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Immigration Tablet hooks

> Every hook exposed by apex-immigration-tablet/hooks.lua.

Source: `apex-immigration-tablet/hooks.lua` (unencrypted).

## Server hooks

<AccordionGroup>
  <Accordion title="Hooks.HasPermission(source)" icon="user-check">
    Default — true if the player's job equals `Config.ImmigrationJob` or their group is in `Config.AllowedGroups`.
  </Accordion>

  <Accordion title="Hooks.GetPlayerBirthyear(identifier)" icon="cake-candles">
    Default — `SELECT dateofbirth FROM users WHERE identifier = ?`, parses the year.
  </Accordion>

  <Accordion title="Hooks.ParseCharacterName(xPlayer)" icon="user">
    Default — splits `xPlayer.getName()` into first / rest.
  </Accordion>

  <Accordion title="Hooks.OnPlayerNotify(source, title, message, type)" icon="bell">
    Default `TriggerClientEvent('apex-immigration-tablet:client:notify', source, ...)`.
  </Accordion>

  <Accordion title="Hooks.OnBellNotify(source, ringerName)" icon="bell">
    Default `TriggerClientEvent('apex-immigration-tablet:client:bellNotify', source, ringerName)`.
  </Accordion>

  <Accordion title="Hooks.IsBellNotificationMuted(source)" icon="bell-slash">
    Default `false`. Override per-player.
  </Accordion>

  <Accordion title="Hooks.OnAuditLog(source, action, details)" icon="file-lines">
    Default `lib.logger`.
  </Accordion>
</AccordionGroup>

## Client hooks

<AccordionGroup>
  <Accordion title="Hooks.ShowClientNotify(title, message, type)" icon="bell">
    Default `lib.notify`.
  </Accordion>

  <Accordion title="Hooks.ShowHelpText / HideHelpText" icon="comment">
    Default `lib.showTextUI` / `lib.hideTextUI`.
  </Accordion>

  <Accordion title="Hooks.ShowBellAlert(title, message, durationMs)" icon="bell">
    Default `lib.notify` with `type = 'warning'`.
  </Accordion>
</AccordionGroup>
