# Configuration

```lua
Config = Config or {}

-- Framework setting: Can be set to "auto" to automatically detect, or manually set to "qb" or "esx"
Config.Framework = "auto"

-- Default language setting for the script
Config.DefaultLanguage = "en"

-- If you want to automatically run the SQL query, set this to true. If you want to manually run the SQL query, set this to false.
Config.AutoRunSQL = true

Config.Target = {
	Enabled = true, -- Target enabled or drawtext enabled
    NPCModel = "a_f_y_business_01",
    NPCPosition = vector4(-267.94, -964.43, 31.22, 296.0),
	TargetType = "qb-target", -- ox_target, qb-target
}

-- Icons used to represent different job difficulty levels
Config.DifficultyIcons = {
    ["Easy"] = "fa-star-half",
    ["Medium"] = "fa-star",
    ["Hard"] = "fa-star double-star"
}

-- Icons used to represent different job time types/schedules
Config.TimeTypeIcons = {
    ["Full-time"] = "fa-clock",
    ["Part-time"] = "fa-business-time",
    ["Flexible"] = "fa-hourglass-half",
    ["Seasonal"] = "fa-sun",
    ["Part-time"] = "fa-user-clock"
}

-- Document configuration section
-- Each document has properties including name, description, price, icons, and metadata handling
Config.Documents = {
    id_card = {
        name = "ID Card",
        description = "Your identity card represents your official identification. It is required for all official transactions.",
        price = 50,
        icon = "fa-id-card",
        image = "img/id_card.png",
        item = "id_card",
        button_text = "Buy",
        -- Metadata function that adapts to different frameworks (QB or ESX)
        metadata = function(player)
            if Core.Framework == "qb" then
                return {
                    firstname = player.PlayerData.charinfo.firstname,
                    lastname = player.PlayerData.charinfo.lastname,
                    birthdate = player.PlayerData.charinfo.birthdate,
                    gender = player.PlayerData.charinfo.gender,
                    citizenid = player.PlayerData.citizenid
                }
            elseif Core.Framework == "esx" then
                return {
                    firstname = player.name,
                    lastname = player.name,
                    birthdate = player.birthdate,
                    gender = player.gender
                }
            end
        end
    },

    driver_license = {
        name = "Driver License",
        description = "Driver license is a legal document required to use a vehicle. It can be checked by the police.",
        price = 500,
        icon = "fa-id-badge",
        image = "img/driver_license.png",
        item = "driver_license",
        button_text = "Buy",
        -- Metadata function that adapts to different frameworks (QB or ESX)
        metadata = function(player)
            if Core.Framework == "qb" then
                return {
                    firstname = player.PlayerData.charinfo.firstname,
                    lastname = player.PlayerData.charinfo.lastname,
                    birthdate = player.PlayerData.charinfo.birthdate,
                    type = "A1-A2-A | B | C1-C-CE"
                }
            elseif Core.Framework == "esx" then
                return {
                    firstname = player.name,
                    lastname = player.name,
                    birthdate = player.birthdate,
                }
            end
        end
    }
}

-- Jobs configuration section
-- Each job has properties including name, job identifier, salary, difficulty rating,
-- time type, description, and visual elements (icons and images)
Config.Jobs = {
    {
        name = "Taxi Driver",
        job = "taxi",
        salary = "$150",
        image = "img/taxi.png",
        difficulty = "Easy",
        timeType = "Full-time",
        description = "Taxi drivers transport passengers safely and quickly to their desired destination. City knowledge, good communication, and adherence to traffic rules are important in this job.",
        icon = "fa-taxi"
    },
    {
        name = "Bus Driver",
        job = "bus",
        salary = "$150",
        image = "img/bus.png",
        difficulty = "Medium",
        timeType = "Part-time",
        description = "Bus drivers transport passengers safely and quickly to their desired destination. City knowledge, good communication, and adherence to traffic rules are important in this job.",
        icon = "fa-bus"
    },
    {
        name = "Logistics Delivery",
        job = "trucker",
        salary = "$150",
        image = "img/lojistik.png",
        difficulty = "Hard",
        timeType = "Flexible",
        description = "Logistics delivery workers are responsible for safely and quickly delivering products and materials to the correct time and address. Time management, navigation skills, and customer satisfaction are important in this job.",
        icon = "fa-truck"
    },
    {
        name = "Farmer",
        job = "farmer",
        salary = "$150",
        image = "img/farmer.png",
        difficulty = "Medium",
        timeType = "Seasonal",
        description = "Farming is a job that involves growing crops and raising animals. This job requires a good understanding of nature, planning, and physical work.",
        icon = "fa-tractor"
    },
    {
        name = "Garbage Collector",
        job = "garbage",
        salary = "$150",
        image = "img/garbage.png",
        difficulty = "Easy",
        timeType = "Part-time",
        description = "Garbage collectors are responsible for collecting and recycling waste materials. This job requires physical strength, regular work, and environmental awareness.",
        icon = "fa-trash"
    },
    {
        name = "Pizza Delivery",
        job = "pizzajob",
        salary = "$150",
        image = "img/pizza.png",
        difficulty = "Easy",
        timeType = "Part-time",
        description = "Pizza delivery workers are responsible for delivering orders to customers quickly and hot. This job requires good time management, safe driving skills, and customer-focused work.",
        icon = "fa-motorcycle"
    }
}
```


---

# 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://bbstore.gitbook.io/docs/resources/bb-service-center/configuration.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.
