githubEdit

Server API

circle-exclamation
circle-info

Player Identifiers: Some exports accept an identifier parameter. This is the player's citizenid (QBCore/Qbox) or identifier (ESX), depending on your framework.

circle-info

Return Pattern: Mutation exports return boolean, string? — the boolean indicates success, and the optional string provides an error message on failure.

Stock Management

incrementStock

Increment a vehicle's stock at a specific dealership.

local success, err = exports['jg-dealerships']:incrementStock(dealership, spawnCode, amount)
Parameter
Type
Required
Description

dealership

string

Yes

Dealership ID

spawnCode

string

Yes

Vehicle spawn code (e.g. "adder")

amount

integer

No

Amount to increment by (default: 1)

Returns: boolean success, string? error


decrementStock

Decrement a vehicle's stock at a specific dealership. Blocked if stock would go below 0.

local success, err = exports['jg-dealerships']:decrementStock(dealership, spawnCode, amount)
Parameter
Type
Required
Description

dealership

string

Yes

Dealership ID

spawnCode

string

Yes

Vehicle spawn code

amount

integer

No

Amount to decrement by (default: 1)

Returns: boolean success, string? error


setStock

Set a vehicle's stock to an exact value at a specific dealership.

Parameter
Type
Required
Description

dealership

string

Yes

Dealership ID

spawnCode

string

Yes

Vehicle spawn code

stock

integer

Yes

New stock value (must be >= 0)

Returns: boolean success, string? error


getVehiclePrice

Get the price of a vehicle. If dealershipId is provided, returns the per-dealership price. Otherwise returns the base catalog price.

Parameter
Type
Required
Description

spawnCode

string

Yes

Vehicle spawn code

dealershipId

string

No

Dealership ID for per-dealership pricing

Returns: number price or false, string? error

Example:


getVehicleStock

Get the current stock level of a vehicle at a specific dealership.

Parameter
Type
Required
Description

spawnCode

string

Yes

Vehicle spawn code

dealershipId

string

Yes

Dealership ID

Returns: number stock or false, string? error


Finance

getPlayerFinancedVehicles

Get all financed vehicles for a player.

Parameter
Type
Required
Description

identifier

string

Yes

Player identifier (citizenid / identifier)

Returns: table[] — Array of financed vehicle records. Each record contains plate, financed, finance_data (JSON string), and all other columns from the vehicles table.

Example:


getFinanceByPlate

Get finance details for a specific vehicle by its plate.

Parameter
Type
Required
Description

plate

string

Yes

Vehicle plate

Returns: table? — The vehicle record if financed, or nil if not found/not financed.


makeFinancePayment

Programmatically make a finance payment for an online player. Deducts money from their account.

Parameter
Type
Required
Description

src

number

Yes

Player server ID (must be online)

plate

string

Yes

Vehicle plate

Returns: boolean success, string? error

Note: This deducts the recurring payment amount from the player's account using the currency configured for the finance. The player must be online.


getPlayerFinanceCount

Get the number of active financed vehicles a player has.

Parameter
Type
Required
Description

identifier

string

Yes

Player identifier (citizenid / identifier)

Returns: integer — Number of financed vehicles.


Dealership Balance

getDealershipBalance

Get the current balance of a dealership's account.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

Returns: number balance or false, string? error

Note: When using framework jobs, this returns the society/job account balance. Otherwise it returns the balance column from dealership_locations.


addDealershipBalance

Add funds to a dealership's account.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

amount

number

Yes

Amount to add (must be > 0)

Returns: boolean success, string? error


removeDealershipBalance

Remove funds from a dealership's account.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

amount

number

Yes

Amount to remove (must be > 0)

Returns: boolean success, string? error


Employees

isEmployee

Check if a player is an employee at a dealership.

Parameter
Type
Required
Description

src

number

Yes

Player server ID

dealershipId

string

Yes

Dealership ID

Returns: string role name (e.g. "manager", "salesman") or false if not an employee.

Note: When using framework jobs, this checks the player's current job/grade. When using the built-in employee system, this checks the dealership_employees table.

Example:


hasPermission

Check if a player has a specific permission at a dealership.

Parameter
Type
Required
Description

src

number

Yes

Player server ID

dealershipId

string

Yes

Dealership ID

permission

string

Yes

Permission to check

Returns: boolean

Available Permissions:

Permission
Description

ADMIN

Full access to everything

MANAGE_EMPLOYEES

Hire, fire, and change employee roles

MANAGE_INVENTORY

Order vehicles, manage stock, display vehicles, pricing

MANAGE_FINANCES

Access dealership bank and settings

SELL

Perform direct sales and test drives

DELIVER

Complete trucking delivery missions

VIEW_RECORDS

View sales and order history


getEmployees

Get all employees at a dealership.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

Returns: table[] — Array of employee records with id, identifier, dealership, role, joined.


Locations

getDealerships

Get all dealership locations.

Returns: Location[] — Array of all dealership location objects with their full configuration.

Example:


getDealership

Get a specific dealership by its ID.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID (UUID)

Returns: Location or false if not found.


Showroom

getShowroomVehicles

Get all vehicles available in a dealership's showroom (with current stock and per-dealership pricing).

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

Returns: Vehicle[] or false if dealership not found.

Each vehicle contains: spawn_code, brand, model, category, price (per-dealership), stock, unlimited_stock, global_stock_limit.

Example:


Coupons

createCoupon

Programmatically create a coupon for a dealership.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

data

table

Yes

Coupon configuration (see below)

Coupon Data:

Field
Type
Required
Description

code

string

No

Custom coupon code. Auto-generated if omitted (XXXX-XXXX format)

discount_type

string

Yes

"percent" or "fixed"

discount_value

number

Yes

Discount amount (percentage or fixed value)

max_uses

integer

No

Maximum total uses

per_player_limit

integer

No

Maximum uses per player

expiry_date

integer

No

Expiry timestamp in milliseconds

vehicle_restrictions

string[]

No

Array of spawn codes this coupon is valid for

category_restrictions

string[]

No

Array of categories this coupon is valid for

allow_finance

boolean

No

Whether coupon can be used with financed purchases (default: false)

Returns: table coupon object (with id, code, etc.) or false, string? error

Example:


validateCoupon

Validate a coupon code without consuming it. Useful for checking eligibility before a purchase.

Parameter
Type
Required
Description

code

string

Yes

Coupon code

dealershipId

string

Yes

Dealership ID

spawnCode

string

No

Vehicle spawn code (for vehicle restriction check)

category

string

No

Vehicle category (for category restriction check)

isFinanced

boolean

No

Whether the purchase is financed

Returns: table with:

Field
Type
Description

valid

boolean

Whether the coupon is valid

message

string?

Error message if invalid

discount

number?

Calculated discount amount (if spawnCode provided and vehicle has a price at this dealership)

discount_type

string?

"percent" or "fixed" (if valid)

discount_value

number?

Raw discount value (if valid)

Note: This does NOT consume the coupon or increment its usage count. It is a read-only check.


Sales History

getSalesHistory

Get recent sales records for a dealership.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

limit

integer

No

Max records to return (default: 50, max: 500)

Returns: table[] — Array of sale records ordered by most recent first. Each record contains id, dealership, vehicle, plate, player, seller, purchase_type, paid, owed.


getTotalSales

Get the total revenue (sum of all payments received) for a dealership.

Parameter
Type
Required
Description

dealershipId

string

Yes

Dealership ID

Returns: number — Total revenue amount.

Last updated

Was this helpful?