RealtyPA — Dev Updates
Private · for shareholders
Week of 14 Apr → 5 May 2026 · 3 weeks
Shipping at full velocity.
Three weeks. 16 working days. Two flagship launches: in-house Setmore replacement with viewing-slot scheduling, and full calendar attendees + RSVP-by-email with two-way Google sync. Plus the May 4 sign-in fix and Cloud Build automation across all three apps.
275
Commits
49
PRs Merged
85
Features
82
Fixes
Builds shipped 5 product lines
CRM90 → 136
AdminPA35 → 41
API90 → 104
iOS TestFlight455 → 458
Android Code1099 → 1101
Shipping days16 / 21
What shipped 12 workstreams
Setmore replacement Flagship
Native in-app viewing-slot scheduling. Buyers/tenants book directly on a listing; bookings flow into the agent's CRM calendar. Replaces third-party Setmore dependency.
- Card-layout drawer + slot picker preview
- Recurring / one-off date toggle, past-date blocking
- Booking-server: date-pinned viewing windows
Calendar attendees + RSVP Flagship
Complete rewrite of how appointments invite people. First-class attendees, public RSVP page, two-way Google Calendar sync, ICS files in invite emails.
- Public
/rsvp/:tokenpage — no login required - SendAppointmentInviteCommand with on-behalf-of email + ICS
- Inbound Google sync reconciles attendees back to contacts
Google integrations
API builds 91 → 100 tightened up Calendar / Tasks / Contacts sync. CRM → Google outbound now covers all three.
- Removed time-window clamp — full history syncs
- Sync-status pill on appointment / task / contact drawers
- Fire-and-forget sync with timeouts (no UI hangs)
Mobile OTA via Appflow
Capacitor LiveUpdates via Ionic Appflow — web-bundle changes push over-the-air on every realty-pa deploy. Users no longer wait for App Store review.
- iOS TestFlight automation in
deploy-ios.sh - Update-available modal + release notes (web)
- iOS 455 → 458 · Android 1099 → 1101
Cloud Build automation
Retired the legacy
factory/api branch flow. All three apps now ship through standard CI/CD on main push.- API + AdminPA + agent-website pipelines mirror each other
- Preflight-deploy guard blocks prod-regressing releases
- Deploy drift monitor + WATI notifications
Deed auto-population
Adding a listing now auto-fills
property-type and zoning-type from deeds-office data. CoCT municipal zoning fallback when deeds are missing.- API Build 97-99: deed fill + Full-Title fallback + CoCT
- Backfill across existing kf-deed entities
Drawer performance
Most perceived CRM slowness came from drawers making 6–8 round-trips on open. Collapsed to one.
- Deduped concurrent
relations$calls (#138) - Batched
entities$into a single GetEntitiesByUuids - Listing media grid: thumb variant + direct URL
P24 stability + Mayfair
Five PRs closing out Property24 edge cases surfaced during Mayfair's onboarding. Backfill, status-rewrite, terminal-stage handling.
- P24-backfill: websiteId access + workspace prefix
- Inactive on terminal-stage = Hidden, not Error
- One-shot endpoint to reset stale errors (#163)
Private Property hardening
Long-standing 404 (since Oct 2024) on PP external links fixed. Auto-retry on duplicate-key publish errors.
- Bare-ref redirector at
/<REF-UPPERCASED> - Fresh
_pp-idon duplicate-key - Clear PP state on withdrawn-listing relist
Sign-in reliability fix May 4
Sign-in could hang silently when Firebase rejected credentials. Surfaced via support tickets, fixed yesterday.
- Show error instead of hanging (#164)
- Diagnose-user-signin CLI for triage (#165)
Website Builder
Multi-tenant agent-website tenant config that used to need a developer is now a self-serve drawer in AdminPA.
- Section toggles, theme switch, drag-reorder, iframe preview
- Autosave via SaveBatch
- Removed hardcoded tenants — pure data-driven
Sean's Team247 import
Five-phase pipeline (extract → parse → match → review → publish) to import Sean's Entegral history + Drive archive into RealtyPA.
- Tolerant address parser for Drive folder names
- Sean's listings now live in RealtyPA
Plus: tasks engine (server-side stages + reminder cron), multi-day appointments + All-day toggle, bulk-add listing rooms,
activity-tab filters, leads source icons, mobile polish, listings cover fallback, and dozens of QoL fixes.
Customers
| Agency | Status | Notes |
|---|---|---|
Team247 Sean Phillips |
Onboarded | Listings imported via Entegral + Drive pipeline. team247prop.co.za multi-tenant agent website live. |
Mayfair Group George Norris |
Active | Onboarding meeting 23 Apr. Setmore replacement shipped; unified calendar shipped; WhatsApp centralisation in flight; P24 backfill bugs all closed. |
The Storey Real Estate |
Awaiting OAuth | Repo + workspace prepared. Google OAuth verification needs a new video submission — Nick is producing it. sean@team247.co.za added as test user so dev/demo can proceed. |
Real Realty |
Awaiting OAuth | Same gate as Storey — blocked on Nick's new verification video. |
Byron Thomas Properties |
Off-boarded | SLA expired 28 Feb. Domain still mapped on agent-website infra (DNS cutover pending). |
Pipeline note. Storey + Real Realty are blocked on Google OAuth verification — a new video needs to be submitted (Nick is producing it).
sean@team247.co.za added as a test user so we can build and demo while verification is in flight.
Legal 3 matters
Bradley Fleming v RealtyPA Active
Brad escalated from a Section 345 demand to a summons physically served on Sean and Carl on 8 April 2026. The Company is defending the matter at Carl's formal instruction.
- 17 Apr — Peter Blanckenberg convened a Teams meeting with the directors
- 23 Apr — Carl formally instructed Peter to draft and file the plea
- 5 May (today, 3pm) — Peter + Advocate brief to prepare the plea
- 4 May — Tax Invoice 952 from Peter, billed directly to the Company
CMA Shareholders Agreement
Carl emailed Peter on 30 April with the amendments Thomas required. Peter's ETA was COB Mon 4 May → new draft expected this week. Brad still has to sign — no workaround. Once signed, Thomas's R170k unlocks.
Kalden Swart
Quiet since the November 2025 repudiation letter. Per Peter, no legal leverage. No new correspondence in the period.
Financials Carl's flag, 30 Apr
R71,896
Bank · 30 Apr
R170k
CMA outstanding
R90k
Ross owed
5.67%
Final CMA tranche
Bottom line (Carl, 30 Apr). "We need CMA money through, or clients paying, before May — otherwise we're short." Last month's spend (AI, subscriptions, salaries) exceeds the current bank balance. Ross's R90k is un-fundable until cashflow improves.
- CMA outstanding is the final tranche of the R3m investment — Thomas gating on the amended Shareholders Agreement Peter is now redoing.
- Peter Blanckenberg legal fees ongoing; Tax Invoice 952 just arrived (Brad matter).
- Ross Bentley's 2% sits outside the Shareholders Agreement, so his R90k must be paid separately.
- FY2026 in processing with Sadia.
Risks & blockers
1
Cash runway
Single biggest risk to the next 4 weeks. Need CMA money or new client revenue before mid-May.
2
Google OAuth verification
Gating Storey + Real Realty onboarding revenue. Blocked on Nick finishing a new verification video. Sean added as test user to unblock dev/demo work in the meantime.
3
Brad summons
Peter + Advocate handling. Defended at the Company's election. Ongoing legal cost; Peter's invoice 952 just arrived.
4
Mayfair feature requests
Half delivered (Setmore, calendar), half in flight (WhatsApp, escalation, follow-ups). Risk if delivery slips.
5
CMA agreement amendments
Bottleneck on Peter's side. Once signed, Thomas's R170k unlocks.
Roadmap · next 4 weeks
P1 · Revenue
Unblock onboardings
- Get Nick's OAuth verification video submitted
- Onboard Storey + Real Realty (Sean already test user)
- Close Mayfair Phase 2 (WhatsApp, escalation, follow-ups)
- Convert Sean's Team247 import into live agent usage
P2 · Product
Ship the next layer
- WhatsApp centralisation in CRM (WATI bidirectional)
- Setmore replacement Phase 3 (recurring, advanced rules)
- AdminPA build → 50; iOS TestFlight 460
- Bundle OTA + sign-in fix + attendees + viewing-slots
P3 · Business
Close legal & financial
- Sign new Shareholders Agreement (CMA + amendments)
- Release Thomas's R170k
- Pay Ross R90k once cashflow permits
- Brad: file plea, brief Advocate (today), defend matter
RealtyPA
Dev Updates · 5 May 2026
Next update: Friday 22 May — or earlier on material news.