AI for Real Estate Pakistan
0/15 complete

Module 02 · Zameen.pk Workflows

Bulk Listing Management With AI-Assisted Templates

Bulk listing work fails when a template makes different properties sound identical or copies one property’s facts into another. The safe pattern is structured inventory first, generated drafts second, and record-level approval before any manual platform submission or authorized import.

After this lesson, you can create a 10-property listing workbook with validation, duplicate checks, draft status, and an approval trail. This lesson does not teach scraping, browser automation, or bypassing Zameen’s current posting rules.

// concept

Design One Row Per Property

Create immutable property_id values and these column groups:

// prompt — copy me6 lines
IDENTITY: property_id, owner_ref, purpose, city, locality, block
FACTS: property_type, source_area, area_unit, price_pkr, beds, baths, floor
EVIDENCE: source_file, observed_at, owner_confirmed_at, authority_check
COPY: title_draft, body_draft, claims_to_verify
MEDIA: image_folder, floorplan_rights, staging_disclosure
WORKFLOW: assignee, draft_status, reviewer, approved_at, portal_status

Use dropdowns for purpose, city, property type, evidence state, and workflow status. Use formulas to flag missing IDs, invalid phone-free public data, duplicate combinations, zero or negative prices, and unsupported claims. Never let an AI choose the row’s property ID.

The misconception is that bulk means publish everything at once. Bulk means applying the same controls consistently while preserving separate facts and approvals.

// concept

Generate From a Locked Schema

Export only the fields needed for copy. Do not include owner names, phone numbers, CNICs, private addresses, commission notes, title documents, or tenant data.

Prompt one row at a time or require strict row IDs:

// prompt — copy me8 lines
For each input row, return JSON with exactly:
property_id, title_draft, body_draft, claims_to_verify.
Use only supplied facts. Never copy facts between rows. Do not infer approval,
ownership, safety, distance, demand, return, condition, urgency, or amenities.
If a required fact is absent, add it to claims_to_verify. Preserve source units.

INPUT ROWS:
[paste 3–5 redacted rows]

Reject output with a missing/duplicate ID or extra field. Paste drafts back by property_id, not row position, because sorting can change positions.

// concept

Add Three Review Gates

  1. Data gate: required structured fields and evidence states are valid.
  2. Claim gate: every title/body statement exists in that property’s row or source record.
  3. Platform gate: a human checks the current Zameen form, policy, media, availability, and final preview.

Set statuses such as INTAKE, NEEDS_EVIDENCE, DRAFTED, REVIEWED, OWNER_APPROVED, POSTED, UPDATED, and WITHDRAWN. Only OWNER_APPROVED records can move to posting.

Track portal listing ID and expiry/status after submission. When a property is sold, rented, withdrawn, or changed, update the public record and the workbook together.

// worked_example

Worked Example

The claim gate compares normalized draft statements with each source row and flags corner because P-009 has no such fact. The draft returns to NEEDS_EVIDENCE; the team does not ask AI to make the wording vague.

Another row has a duplicated owner reference but a different property ID. The duplicate rule asks whether it is a genuine second unit or a duplicate submission. The reviewer confirms it is the same flat entered twice and archives one row. The audit record preserves the decision.

// failure_cases

Failure Cases to Diagnose

7 cases to diagnose

  • Rows are joined by position after sorting

    join by immutable property_id.

  • AI sees private owner files

    export a redacted copy with only listing facts.

  • One template inserts the same feature everywhere

    require row-level claims and validation.

  • Duplicate listings are treated as more inventory

    flag identity/location/type/size overlaps for review.

  • No status blocks unapproved posting

    use controlled workflow values and reviewer fields.

  • A listing changes but the workbook does not

    make update/withdrawal part of the same record lifecycle.

  • Automation violates portal terms

    use only current authorized workflows and manual review.

// pakistan_angle

Pakistan Angle

Pakistani agency inventories often arrive through mixed WhatsApp messages, voice notes, and spreadsheets using lakh/crore wording, marla/kanal, square yards, and square feet. Normalize values for calculation but preserve the original wording and conversion basis. Do not let 2.5 crore become 2.5 million; store integer PKR and render a checked human-readable form.

Keep owner phone numbers and exact access instructions in a restricted contact table, not in the copy-generation export. During load-shedding, use local spreadsheet validation and queue uploads for later. Recheck availability before posting: a copied old listing wastes buyer time and damages trust.

// hands_on

Hands-On Exercise

6 steps

  1. Build the workbook columns and controlled status lists.

  2. Enter ten labelled sample properties with unique IDs and evidence states.

  3. Add validation for required fields, price, duplicates, and approval state.

  4. Export a redacted three-row batch and generate strict JSON drafts.

  5. Join output by property ID and run the three review gates.

  6. Simulate one correction, one withdrawal, and one duplicate resolution.

// completion_rubric

Completion Rubric

6 checks — tick as you verify

0/6

// sources

Sources

// check_yourself

Check yourself

4 questions · answers and options are taken word-for-word from this course

0/4
  1. 1 / 4 · diagnose

    Your work shows this failure mode: “AI sees private owner files.” What does the lesson tell you to do about it?