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

# Taxi

Installation

### Requirements

* **FiveM Server** with OneSync enabled
* **oxmysql** (required dependency)
* **ox\_lib** (required dependency)
* **Phone**: One of the following:
  * [lb-phone](https://lbscripts.com/)
  * [sd-phone](https://github.com/Samuels-Development/sd-phone)
  * [GKSPhone v2](https://gkshop.org/)
  * [ySeries / YFlip](https://yflip-phone.com/)
  * [17mov\_Phone](https://17movement.net/products/17mov_phone)
  * [lb-tablet](https://lbscripts.com/) (can run alongside a phone)
* **Framework** (optional): ESX, QBCore, or standalone

### Installation

{% stepper %}
{% step %}

#### Step 1 — Database

Run the `sql/install.sql` file in your database using [HeidiSQL](https://www.heidisql.com/) (or your preferred MySQL client).
{% endstep %}

{% step %}

#### Step 2 — Install Resource

1. Place the `portis-taxi` folder in your server's `resources/` directory.
2. Add to your `server.cfg` (start **after** your phone resource):

```cfg
ensure oxmysql
ensure ox_lib
ensure lb-phone
ensure portis-taxi
```

{% endstep %}

{% step %}

#### Step 3 — Configure

1. Edit `config/config.lua` — phone host (`"auto"` recommended), locale, currency.
2. Edit `config/taxi.lua` — fares, allowed vehicles, matching distances, NPC locations.
3. Restart the resource (or the server).
   {% endstep %}
   {% endstepper %}

### Configuration

| File                         | What to edit                                                                     |
| ---------------------------- | -------------------------------------------------------------------------------- |
| `config/config.lua`          | Phone host, locale, currency (`''` / `money` / `bank`), rate limits              |
| `config/taxi.lua`            | Matching, fares, allowed vehicles, NPC jobs & locations, map                     |
| `locales/*.json`             | UI + notification strings (copy `en.json` → e.g. `fr.json`, set `Config.Locale`) |
| `server/sv_main.lua`         | Framework / phone notify adapters if needed                                      |
| `client/cl_phone_bridge.lua` | Custom phone registration (`Config.Phone = "custom"`)                            |

#### Phone

```lua
Config.Phone = "auto" -- or "lb-phone" | "sd-phone" | "gksphone" | "yseries" | "17mov_phone" | "lb-tablet" | "custom"
```

#### Economy

```lua
Config.Currency = ''       -- free rides (no money checks)
-- Config.Currency = 'money'
-- Config.Currency = 'bank'
```

Set `money` or `bank` to charge passengers and pay drivers. Leave `''` for free rides / testing.

### Support

Questions or setup help → [Discord](https://discord.gg/gk9bPaASBt)

Product page → [Tebex](https://portis-store.tebex.io/package/7667316)
