# Client Exports

### openCityHall

Opening the city hall menu.

{% code overflow="wrap" %}

```lua
---@param {restrictions: table or nil}
exports['vms_cityhall']:openCityHall(restrictions)
```

{% endcode %}

<details>

<summary>Explanation</summary>

For example, if you want to run custom menus and a large interior City Hall, you can separate the menu into different points.

#### Parameters:

* main: `boolean`
* jobs: `boolean`
* insurance: `boolean`
* licenses: `boolean`
* fines: `boolean`
* taxes: `boolean`

***

#### Example:

```lua
-- Menu with all sections
exports['vms_cityhall']:openCityHall()

-- Menus that will only have one section of jobs
exports['vms_cityhall']:openCityHall({
    jobs = true,
})
```

</details>

***

### openClerkMenu

Opening the clerk menu.

```lua
exports['vms_cityhall']:openClerkMenu()
```

***

### openBillingsMenu

Opening the company's billing menu.

```lua
exports['vms_cityhall']:openBillingsMenu()
```

***

### checkHealthInsurance

Opening the check helth insurance menu.

```lua
exports['vms_cityhall']:checkHealthInsurance()
```

***

### openEmptyInvoice

```lua
exports['vms_cityhall']:openEmptyInvoice()
```

***

### openEmptyTicket

```lua
exports['vms_cityhall']:openEmptyTicket()
```

***

### openAgreement

```lua
exports['vms_cityhall']:openAgreement()
```

***

### getTaxAmount

Calculates tax information on the specified amount.

```lua
---@param {amount: number}
---@param {tax: number or string}

---@return {totalAmount: number}
---@return {taxAmount: number}
---@return {taxPercentage: number}
local totalAmount, taxAmount, taxPercentage = exports['vms_cityhall']:getTaxAmount(amount, tax)
```

<details>

<summary>Explanation</summary>

#### Example of custom tax:

```lua
local amount = 50000
local tax = 33 -- custom value given as number

local totalAmount, taxAmount, taxPercentage = exports['vms_cityhall']:getTaxAmount(amount, tax)

---@return totalAmount: 66500.0   |  (amount + tax)
---@return taxAmount: 16500.0     |  (tax value alone)
---@return taxPercentage: 33      |  (tax percentage)
```

***

#### Example of tax from Config.Taxes:

```lua
local amount = 50000
local tax = 'products.food' -- By default it's 33 %

local totalAmount, taxAmount, taxPercentage = exports['vms_cityhall']:getTaxAmount(amount, tax)

---@return totalAmount: 66500.0   |  (amount + tax)
---@return taxAmount: 16500.0     |  (tax value alone)
---@return taxPercentage: 33      |  (tax percentage)
```

</details>

***

### checkVIN

Check the VIN number, it will be visible on the windshield or as a notification.

```lua
exports['vms_cityhall']:checkVIN()
```

***

### infoVIN

Menu to check vehicle information using VIN number

```lua
exports['vms_cityhall']:infoVIN()
```

***

### hideVIN

Covering the VIN number, other players will not be able to check it until it is discovered.

```lua
exports['vms_cityhall']:hideVIN()
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vames-store.com/assets/vms_cityhall/developer-api/client-exports.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
