# GARAGES

1. Creating new Garage (Example)

````lua
Config.Garage.Zones = {
    ['Mission_Row'] = {
        zoneType = 'box', -- box / poly (if poly you need to create points, https://overextended.dev/ox_lib/Modules/Zones/Shared)
        garageType = 'cars', -- cars / planes / boats
        coords = vector3(437.02, -1022.42, 28.66), -- coords of box
        size = vector3(15.2, 25, 10), -- size of box
        rotation = 7.0, -- rotation
        jobs = {['police'] = 0}, -- which job and from which grade
        canInteract = function() -- you can add this if you want to check anything other than job
           if ESX.PlayerData.org == 'org1' then
              return true
           end
           return false
        end,
        spawns = {
            vector4(445.9929, -1026.2607, 28.6509, 189.3484), -- spawn point vec4
        },
        blip = {sprite = 473, display = 2, color = 38, scale = 0.75, name = 'Garage'}
    },
}
```
````

2. Generate VIN

If you dont have VIN on your server, there is export to generate it. Use this in your vehicle shop.

{% tabs %}
{% tab title="Server Side" %}

```lua
exports['piotreq_phone']:GenerateVIN()

-- USAGE EXAMPLE
MySQL.Async.execute('INSERT INTO owned_vehicles (owner, plate, vehicle, stored, vin) VALUES (@owner, @plate, @vehicle, @stored, @vin)',
  {
      ['@owner'] = xPlayer.identifier,
      ['@plate'] = props.plate,
      ['@vehicle'] = json.encode(props),
      ['@stored'] = 0,
      ['@vin'] = exports['piotreq_phone']:GenerateVIN(),
  }, function(rowsChanged)
    cb('ok')
end)
```

{% endtab %}
{% endtabs %}

3. You can check if vehicle with vin already exist

{% tabs %}
{% tab title="Second Tab" %}

* vin `string`

<pre class="language-lua"><code class="lang-lua"><strong>exports['piotreq_phone']:VinExist(vin) -- return true | false
</strong></code></pre>

{% endtab %}
{% endtabs %}

4. **(NEW) You can set second owner of vehicle**

{% tabs %}
{% tab title="Server Side" %}

* plate `string`
* identifier `string`

```lua
exports['piotreq_phone']:SetSecondOwner(plate, identifier) -- true | false
```

{% endtab %}
{% endtabs %}

5. **(NEW) You can check if vehicle has second owner**

{% tabs %}
{% tab title="Server Side" %}

* plate `string`

```lua
exports['piotreq_phone']:hasSecondOwner(plate) -- identifier | false
```

{% endtab %}
{% endtabs %}


---

# 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://piotreq-scripts.gitbook.io/piotreq-scripts/assets-and-guides/phone/garages.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.
