For the complete documentation index, see llms.txt. This page is also available as Markdown.

1️⃣Installation

Getting Started

Drag and Drop am-rentals to your resources folder

Add ensure am-rentals in your server.cfg file

(make sure ox_lib is started before it)

Database

Run the file database.sql or execute this code in your database

CREATE TABLE IF NOT EXISTS `am_rentals` (
    `id`              INT AUTO_INCREMENT PRIMARY KEY,
    `citizenid`       VARCHAR(255)  NOT NULL,
    `location_id`     VARCHAR(50)  NOT NULL,
    `model`           VARCHAR(50)  NOT NULL,
    `plate`           VARCHAR(8)   NOT NULL,
    `price_per_day`   INT          NOT NULL,
    `total_price`     INT          NOT NULL,
    `days`            INT          NOT NULL,
    `payment_method`  VARCHAR(10)  NOT NULL,
    `rented_at`       TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
    `expires_at`      TIMESTAMP    NOT NULL,
    `status`          ENUM('active', 'expired', 'returned') DEFAULT 'active',
    INDEX `idx_citizenid` (`citizenid`),
    INDEX `idx_status`    (`status`),
    INDEX `idx_expires`   (`expires_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `am_rental_lost_found` (
    `id`             INT AUTO_INCREMENT PRIMARY KEY,
    `citizenid`      VARCHAR(255)  NOT NULL,
    `rental_id`      INT          DEFAULT NULL,
    `model`          VARCHAR(50)  NOT NULL,
    `display_name`   VARCHAR(100) DEFAULT NULL,
    `plate`          VARCHAR(8)   NOT NULL,
    `items`          LONGTEXT     NOT NULL,
    `recovery_fee`   INT          NOT NULL,
    `returned_at`    TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
    `expires_at`     TIMESTAMP    NOT NULL,
    `recovered`      TINYINT(1)   DEFAULT 0,
    `notified`       TINYINT(1)   DEFAULT 0,
    INDEX `idx_citizenid`  (`citizenid`),
    INDEX `idx_recovered`  (`recovered`),
    INDEX `idx_expires`    (`expires_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


CREATE TABLE IF NOT EXISTS `am_own_rental_listings` (
    `id`                    INT AUTO_INCREMENT PRIMARY KEY,
    `owner_citizenid`       VARCHAR(255)  NOT NULL,
    `location_id`           VARCHAR(50)  NOT NULL,
    `model`                 VARCHAR(50)  NOT NULL,
    `plate`                 VARCHAR(8)   NOT NULL,
    `display_name`          VARCHAR(100) DEFAULT NULL,
    `vehicle_class`         VARCHAR(50)  DEFAULT NULL,
    `price_per_day`         INT          NOT NULL,
    `min_days`              INT          NOT NULL DEFAULT 1,
    `max_days`              INT          NOT NULL DEFAULT 30,
    `status`                ENUM('available', 'rented') DEFAULT 'available',
    `listed_at`             TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY `uk_plate` (`plate`),
    INDEX `idx_owner`       (`owner_citizenid`),
    INDEX `idx_location`    (`location_id`),
    INDEX `idx_status`      (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `am_own_rental_active` (
    `id`                INT AUTO_INCREMENT PRIMARY KEY,
    `listing_id`        INT          NOT NULL,
    `renter_citizenid`  VARCHAR(255)  NOT NULL,
    `model`             VARCHAR(50)  NOT NULL,
    `plate`             VARCHAR(8)   NOT NULL,
    `price_per_day`     INT          NOT NULL,
    `total_price`       INT          NOT NULL,
    `days`              INT          NOT NULL,
    `payment_method`    VARCHAR(10)  NOT NULL,
    `rented_at`         TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
    `expires_at`        TIMESTAMP    NOT NULL,
    `status`            ENUM('active', 'expired', 'returned') DEFAULT 'active',
    INDEX `idx_listing`  (`listing_id`),
    INDEX `idx_renter`   (`renter_citizenid`),
    INDEX `idx_status`   (`status`),
    INDEX `idx_expires`  (`expires_at`),
    FOREIGN KEY (`listing_id`) REFERENCES `am_own_rental_listings`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `am_own_rental_income` (
    `id`                INT AUTO_INCREMENT PRIMARY KEY,
    `owner_citizenid`   VARCHAR(255)  NOT NULL,
    `listing_id`        INT          NOT NULL,
    `amount`            INT          NOT NULL,
    `created_at`        TIMESTAMP    DEFAULT CURRENT_TIMESTAMP,
    INDEX `idx_owner`    (`owner_citizenid`),
    INDEX `idx_created`  (`created_at`),
    FOREIGN KEY (`listing_id`) REFERENCES `am_own_rental_listings`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `am_own_rental_wallet` (
    `citizenid`          VARCHAR(255)  PRIMARY KEY,
    `available_balance`  INT          NOT NULL DEFAULT 0,
    `total_income`       INT          NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Inventory

Add the item to your inventory

Ox_inventory

Qb-inventory

Last updated