# Shops

## Features

* Multi-location shop modes with themed UI (General Store, Black Market) and distinct category icons/gradients per mode.
* Rotating inventory with per-item chance, guaranteed categories, min-per-category, and max-item caps; refreshes on restart or admin rotate.
* Config-driven items per mode: category, description, per-payment prices, limited/unlimited stock, and rotation chance.
* Flexible payments (money or item currencies) with mode restrictions and live balance retrieval before purchase.
* Server-side stock management for limited/unlimited items, plus queries/mutations via restock, rotate, and setstock commands.
* Client NUI storefront pulling fresh config/items/stock/balances; opens via command, keybind, or exports; manages focus cleanly.
* NPC or marker world interactions with configurable spawn distance, models, scenarios, markers, and target icons.
* Admin commands to restock all items, rotate inventory, and set specific item stock with permission checks.
* Webhook-ready logging (purchases, stock changes, rotations, admin actions) with Discord embed colors and toggles.
* Localization through ox\_lib locales and configurable item image base path (e.g., ox\_inventory) for consistent visuals.
* Exports on client (open/close/check UI) and server (get/set/add/restock stock) for easy integration with other resources.
* Integration-ready architecture using ox\_lib callbacks and oxmysql to validate purchases, deduct payments, and sync stock in real time.

## Preview

{% embed url="<https://www.youtube.com/watch?v=oCm7TuduWjc>" %}


---

# 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://vanishdev.gitbook.io/vanishdev/everyday-scripts/shops.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.
