Skip to content

Rent

Full rent guide: list, accept, pay, terminate, and unpaid eviction. Payments use bank (prp-bridge) to the owner.

1. Configure rent defaults

lua
Config.RealEstate.rent = {
    graceDays = 7,
    checkMinutes = 30,
    defaultFrequency = "WEEKLY", -- DAILY | WEEKLY | MONTHLY
}
  1. Set graceDays (days after activeTill before auto-evict).
  2. Set checkMinutes (how often the server scans unpaid contracts).
  3. Restart prp-housing-v2.

2. Owner / realtor — create a rent offer

  1. Open Housing Central (owner) or the realtor property profile (staff with manageRent / listForSale).
  2. Set period price and frequency (DAILY / WEEKLY / MONTHLY).
  3. Save the offer (Housing Central rent UI or realtor List for rent).
  4. Toggle displaying so it appears on the market For Rent tab.

Optional: assign a tenant by State ID from Housing Central instead of waiting for a market accept.

3. Tenant — take the listing

  1. Open the MarketFor Rent.
  2. Open the property → Rent now.
  3. First period is charged from the tenant bank and deposited to the owner bank.
  4. Tenant receives access privileges from privilegesApplied.

4. Tenant — pay the next period

  1. Enter the property → open Housing Central → Rent.
  2. Confirm the due amount.
  3. Pay → bank charged → activeTill extended by one period → history updated.

5. End a contract

  1. Owner, tenant, or staff with manageRent opens Housing Central / market terminate.
  2. Confirm terminate → tenant access removed → contract cleared.
  3. Owner may list for rent again.

6. Auto-evict (unpaid)

  1. Tenant misses payment past activeTill.
  2. After graceDays, the server removes tenant access and clears the contract.
  3. Furniture is kept; listing can show again if price is still set.
  4. Tenant gets an eviction notify when online.

Data shape (reference)

Stored in world_housing_rent.rent_data:

lua
{
  periodPrice = 2500,
  periodFrequency = "WEEKLY",
  isDisplaying = os.time() or false,
  isActive = true,
  tenant = stateId,
  started = unix,
  activeTill = unix,
  privilegesApplied = {},
  paymentHistory = {},
}

Exports: GetRentData, SaveRentData — see Exports.