> ## 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.

# Mechanic Impound hooks

> Every hook exposed by apex-mechanic-impound/hooks.lua.

Source: `apex-mechanic-impound/hooks.lua` (unencrypted).

## Server hooks

<AccordionGroup>
  <Accordion title="Hooks.ImpoundVehicle(source, plate, vehicleCoords, damageData)" icon="warehouse">
    **Primary integration.** Forward the vehicle to your garage / impound. Return `true` on success. Default no-op (the entity is then deleted).

    ```lua theme={null}
    function Hooks.ImpoundVehicle(source, plate, vehicleCoords, damageData)
        return exports['ata-garage']:ImpoundVehicleByPlate(plate, vehicleCoords)
    end
    ```
  </Accordion>

  <Accordion title="Hooks.BeforeEntityDelete(entity)" icon="trash">
    Called just before `DeleteEntity`. Hook AdvancedParking / qbx\_parking cleanup.
  </Accordion>

  <Accordion title="Hooks.IsAuthorized(xPlayer)" icon="user-check">
    Default `xPlayer.getJob().name == Config.JobName`. Override for Zweitjob / duty checks.
  </Accordion>
</AccordionGroup>

## Client hooks

<AccordionGroup>
  <Accordion title="Hooks.IsAuthorizedClient()" icon="user-check">
    Default checks `ESX.GetPlayerData().job.name == Config.JobName`.
  </Accordion>

  <Accordion title="Hooks.ShowHelpText(key, text)" icon="comment">
    Default `lib.showTextUI`.
  </Accordion>

  <Accordion title="Hooks.HideHelpText(key)" icon="comment-slash">
    Default `lib.hideTextUI`.
  </Accordion>

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