# Admin/Seller Surface Study — Berenta.ph vs Carousell.ph (Property) > Clean-room, public-data-only competitive research into the ADMIN / SELLER surface of > two Philippine property portals, to inform the future admin/CMS roadmap for > `property-portal` (this repo's bilingual JP/EN PH real-estate demo). Admin/CMS is > explicitly **out of scope for the current MVP** (see `INSTRUCTIONS.md`, `DESIGN.md`) > but is the next logical extension once real client data/NDA lands. > > Methodology: `robots.txt`/`sitemap.xml`, homepage/marketing HTML, public JS bundles > (route strings, role/plan literals), help-center articles, press, and WebSearch only. > No login, account creation, credential submission, or Cloudflare Turnstile bypass was > attempted on either site. Facts are marked **(observed)**, **(inferred)**, or > **not observed**; source type (official / press / forum) is noted where relevant. > Research date: 2026-07-11. --- ## 1. Admin surface overview ### Berenta A classic **server-rendered Laravel/Blade CRUD monolith** (PHP 8.2.12, nginx, jQuery/Semantic UI/Bootstrap 4 — not an SPA). Three distinct tiers of admin-ish surface were identified from route strings and CSS namespaces in shipped JS (the pages themselves sit behind login and were not entered): 1. **Owner/agent self-service "MyPage"** — listing CRUD, publish/unpublish, inquiries, saved searches, plan/credit purchase, Feature/Premium boosts. 2. **Internal back-office admin panel** — distinct `re-admin-*` / `b-admin-*` CSS namespaces covering Users, Properties/Posts, Buildings (shared master-data registry), and Payments (manual bank-transfer approval queue). This is a genuine internal CMS for Berenta staff, not merely an owner dashboard — confirmed by role-gating logic in `v1/user.js`/`user-property-list.js` (`userType !== 0 && userType !== 3` bypasses free-post limits, with a code comment "User is admin"). 3. **Public marketing/help pages** describing seller onboarding and pricing (`/en/page/tips`, `/en/page/broker-guide`). ### Carousell Not a single admin panel but a **layered product structure** overlaid on the React/ Redux SPA marketplace: 1. **Personal account** (default/casual) — list, chat, promote. 2. **Professional account** — auto-triggered by selling-behavior heuristics or opt-in (Internet Transactions Act compliance); unlocks bulk tools, Search/ Competitor Insights, professional profile fields. 3. **CarouBiz** — a paid, app-store-billed subscription orthogonal to account type; adds storefront/media/automation tools (video listings, custom collections, Bump discounts, CoinsBack, monthly analytics report). 4. **Property B2B layer** — a signed **Client Services Agreement (CSA)** between "Carousell-PH, Inc." and a business client (agency/developer) for bulk ad packages, plus a Data Processing Addendum enabling a contracted "Carousell leads report" export — this is the real backbone behind the `ExportLeads` Redux slice found in earlier frontend research, and it is invoiced media-sales-contract territory, not a self-serve toggle. 5. Carousell's PH property vertical is partly powered by **Property24** (`property24.com.ph`, a South African company), named explicitly in the CSA as a distinct "P24 Platform" bundled under the same commercial agreement — i.e. PH property inventory may span two different underlying systems. --- ## 2. Discovered entry points ### Berenta (URL / path — status, all **observed**) | URL / path | Status | Notes | |---|---|---| | `https://berenta.ph/robots.txt` | 200 | `Disallow:` empty — nothing blocked | | `https://berenta.ph/sitemap.xml` | 200 | 500 URLs, mostly listing pages + locale variants | | `https://berenta.ph/en/page/tips` | 200 | "How to post a property" — owner-facing guide, incl. plan/pricing table | | `https://berenta.ph/en/page/broker-guide` | 200 | Broker/agent landing page — **not linked from nav or sitemap**, found via search; identical static plan content to `/tips` | | `https://berenta.ph/en/page/about` | 200 | Mentions sister brand Bed&Go | | `https://berenta.ph/en/page/contact` | 200 | Contact form posts to `/email/contact-send`; "Advertise" is a checkbox on this form, not a dedicated page | | `https://berenta.ph/plans`, `/en/plans`, `/credits`, `/en/credits` | 302 | Redirect to `/` — login-gated | | `https://berenta.ph/user/properties/view`, `/properties`, `/en/properties/create` | 302 | Login-gated owner "MyPage" | | `https://berenta.ph/en/register`, `/login` | **500** | Server error observed; not investigated further, no auth attempted | | `https://berenta.ph/oauth/facebook`, `/oauth/google` | — | OAuth entry points (link targets only, not followed) | | `https://berenta.ph/en/faq`, `/faq`, `/help`, `/how-it-works`, `/advertise` | 404 | Do not exist as standalone pages | | `/js/main.js`, `/js/user-profile.js`, `/js/user-property-list.js`, `/js/photo-admin.js`, `/js/properties-post.js`, `/js/overview.js`, `/js/properties/property_new.js`, `/js/v1/{building,property,user,credit,plan,bank-transfer-lists,post-list,find-owned,find-list,inquiries-owned,inquiries-property,save-search,favorite,help-me-find-place,tenant-notification,advance-search}.js` | 200 | All fetched and grepped for route/role/feature strings | ### Carousell (URL — official unless noted; live `carousell.ph` is Turnstile-gated and was not accessed) | URL | Notes | |---|---| | `support.carousell.com/hc/en-us` | Help Centre root (reachable, official) | | `.../articles/360026048134--Philippines-Listing-Fees-and-Quotas-for-Autos-Property-and-Jobs` | Listing fee/quota mechanics | | `.../articles/48031522752665--Philippines-Professional-accounts-on-Carousell` | Professional account criteria/benefits | | `.../articles/40570401916441--Philippines-Category-based-listing-quota-for-selected-categories` | New quota system (migration in progress) | | `.../articles/6087460495129-Lead-Gen-Terms-with-Property-Merchants` | DPA — "Carousell leads report" (ExportLeads corroboration) | | `.../articles/360026565173--Philippines-Client-Services-Standard-Terms-and-Conditions` | CSA terms (last updated 15 Jul 2019) | | `.../articles/115015967647-Purposes-of-Personal-Data-Collected-in-Property-Services-and-or-Lead-Forms` | Not PH-tagged; mentions SG-only "Rental+" — regional-generic, not PH-confirmed | | `.../articles/360048855794--Philippines-What-is-CarouBiz-Carousell-for-Business` | CarouBiz overview | | `.../articles/360047646673--Philippines-What-are-the-CarouBiz-tools-and-how-do-I-use-them` | CarouBiz tool list | | `.../articles/33044240222105-What-is-Account-Insights-dashboard` | Analytics dashboard, explicitly PH-inclusive | | `.../articles/115011752208-What-are-Carousell-Coins` | Coins mechanics, PH billing notes | | `.../articles/14694453734425-What-is-Bulk-Bump` | Bulk promotion tool | | `press.carousell.com/2024/12/13/carousell-property-awards-2024-...` | Press — agency/brokerage recognition program | | `business.inquirer.net/327325/carousell-property-reports-shift-in-property-buyers-preference` | Press, 2021, dated | | `sendbird.com/resources/carousell` | Vendor case study confirming Sendbird chat | | `blog.carousell.com/property/agents/` | **Blocked by Cloudflare bot-check** — only the tool name "Carousell Property Listing Importer" recovered via search snippet | | `carousell.ph/property-new-developments/h-2815/` | "New Developments" category exists for pre-selling projects (search-snippet only, not fetched — site itself gated) | | `carousell.ph/s/recommended-property-brokers-agents-15841/` | Curated broker/agent list (soft trust signal, press-sourced) | | `web.archive.org` | Unreachable by tooling in this session (hard error) — not used as a fallback despite being planned | --- ## 3. Role & account model ### Berenta - **Single unified registration form** — name/email/password only, **no role picker at signup** (observed in login/register modal HTML). Static copy inside the same modal markets to both audiences ("For Tenant User: All Free..." / "For Owner and Agent: Easy to manage properties"), but there is one signup path; role/`user_type` is presumably assigned post-registration or inferred from first listing action **(inferred)**. - Login: email+password (remember-me, forgot-password) or OAuth (`/oauth/facebook`, `/oauth/google`). No enterprise SSO/SAML observed. - `user_type` is a numeric field; values `0` and `3` bypass free-post limits (code comments: "Check if not admin" / "User is admin") — indicating **at least two privileged internal roles** beyond owner/agent/tenant **(inferred: likely superadmin=0 and staff/moderator=3, not confirmed)**. - Admin user-search supports filtering by name, nationality, location, and displays an `is_verified` flag per user — confirms a verification flag exists on user records, surfaced to admin staff. - **No team/brokerage/multi-seat account model observed** anywhere (JS or marketing copy), even on the broker-specific landing page — appears to be single-user accounts only. ### Carousell - **Personal vs Professional** is the primary self-serve axis: Professional is auto-assigned by selling-behavior heuristics (regular selling, resale, drop-shipping, multi-channel selling) or user-initiated via Settings → Account type; requires a business email under the Internet Transactions Act (ITA). Professional adds a badge, business-profile fields, Search/Competitor Insights, bulk manage/promote **(observed, official help center)**. - **CarouBiz** is an independent subscription axis — "anyone, casual or professional" can subscribe; billed via App Store/Play Store only, not Coins **(observed)**. - **Property "official partner"/verified-agency layer**: no public Carousell-branded certification page was found — the `is_official_partner` flag from earlier frontend reverse-engineering is **not observed** in public docs, only inferred. What *is* documented is the CSA — a formal contract (prepaid monthly bulk-ad packages, 1/3/6/12-month minimum commitment, invoiced in arrears, 12% VAT, 10%/month late fee, ₱1,000 early-termination + ₱100/bounced-cheque) — effectively Carousell's real "verified/enterprise agency" tier, gated by a sales contract rather than a self-serve badge **(observed)**. - From **31 Dec 2025**, Professional sellers are encouraged to display the government-issued **DTI E-Commerce Philippine Trustmark** (applied for on an external DTI portal, reference number pasted into the Carousell bio) — a PH-wide ITA compliance signal, not property-specific **(observed)**. - Soft trust signals: a curated "Recommended Property Brokers/Agents" list and an annual "Carousell Property Awards" (2024 winners named: Tycoons Global 8 Realty Corp, 27C Realty, KondoKo) — PR-driven, not an admin-console feature **(observed, press)**. - No public multi-seat/team/role-permission management was found for agency accounts — **not observed** (explicit gap, not ruled out). --- ## 4. Admin feature inventory ### Listing management - **Berenta (observed)**: create/edit property; publish/unpublish per listing (`/properties/publish/{id}`, `/properties/unpublish-selected`); bulk delete/publish/mark-sold (`/properties/delete-selected`, `/properties/publish-selected`, `/properties/sold-selected`). Admin side: `/post-list/search`, per-listing admin view/delete, and **admin can directly override a listing's tier** (`property_upgrade_type_id`: Free/Featured/Premium) and its duration — staff can grant boosts without payment. - **Carousell (observed)**: free quota model (Property for Sale: 2 free listings/30 days; Rentals count not confirmed) plus paid overflow via Coins listing fee; system is **actively migrating** from this legacy "listing fee" model to a newer rolling category-based quota model (per Sep 2025 help-center doc). Bulk/feed upload for property agents: a "Carousell Property Listing Importer" tool is confirmed to exist by name only — mechanics (CSV/XML feed vs. manual bulk form) **not observed** (source page Cloudflare-blocked). Non-property bulk actions (bulk status update, Bulk Bump top 5/10/25/50/100) exist for Professional accounts generally. ### Media - **Berenta (observed)**: drag/preview/remove photo upload widgets (`photo-admin.js`, `propform-photo.js`); a distinct admin-only upload variant (`#inputFileAdmin`) exists separate from the owner flow. - **Carousell (observed, CarouBiz-gated)**: Video Listings (6 videos/subscription period, marketed "3x more clicks, 50% more chats"), Custom Collections, Profile Cover Photo. ### Lead/inquiry management - **Berenta (observed)**: `/inquiries-property/*` (inbound inquiries, email-reply) and `/inquiries-owned/*` (outbound, as tenant). A separate **"Help Me Find a Place" reverse-lead system** (`/help-me-find-places/*`): tenants submit structured requirements (price, floor area, bed/bath, furnishing, occupants) and owners/agents receive matched-lead notifications showing the tenant's name, avatar, age, gender, nationality, email, and phone. **Currently hidden from live navigation** — its nav link is HTML-commented-out on `/en/page/tips` even though the backend routes still ship in JS (soft-launched or deprecated feature). - **Carousell (observed, official DPA)**: the "Lead-Gen Terms with Property Merchants" DPA describes a contracted "**Carousell leads report**" — a one-click download of buyer-inquiry details (date, message) as a paid Subscriber Service under the Property CSA. This strongly corroborates the `ExportLeads` Redux slice: a real, named, contractually-governed feature gated behind the B2B agreement, not self-serve. ### Analytics - **Berenta**: **not observed**. No dashboard/stats/analytics routes or terms in any fetched JS or marketing copy; `overview.js` (dashboard landing widget) only toggles empty-state visibility for inquiry/saved-search counts — no charts or metrics logic present. - **Carousell (observed)**: "Account Insights" dashboard, explicitly PH-available. Free tier: listing clicks + profile visits (7-day trend). Professional/CarouBiz tier adds an **AI-estimated Revenue-vs-Spend ROI** panel (falls back to Chats-vs-Spend for low-revenue sellers), 30-day trend, Search Insights (keyword demand), Competitor Insights (benchmarking vs. similar sellers). CarouBiz separately promises a monthly business analytics report. ### Promotion/boost management - **Berenta (observed)**: two upgrade tiers per listing — **Feature** and **Premium** — purchasable via PayPal, platform Credits, or bank transfer w/ uploaded deposit slip (manual admin approval). Live pricing fetched from `/properties/feature-detail` / `/properties/premium-detail` (values session-gated, not observed). - **Carousell (observed)**: Coins-based **Bump** (starts 49 Coins, demand-variable), **Spotlight** (PH min. 20 Coins), **Shoutout** (referenced in prior research, not independently re-confirmed this pass). Bulk Bump example: 6 Bumps at 167 Coins = 1,002 Coins, with a **pro-rated refund** if the item sells before all bumps are used — a genuinely non-trivial billing mechanic most marketplaces skip (they simply forfeit unused spend). CarouBiz gives up to 60% off Bumps + CoinsBack on Spotlight clicks. ### Billing - **Berenta (observed)**: - **Plans**: Silver (free, max 2 posts), Gold (₱850/mo or ₱5,000/yr, max 10 posts), Platinum (unlimited posts). **Pricing discrepancy found**: marketing pages (`/tips`, `/broker-guide`) state Platinum = ₱2,500/mo, ₱14,000/yr, while the authenticated in-app plan-selector JS (`main.js` lines 549–556, 641–648) hard-codes Platinum monthly at **₱5,000** (annual ₱14,000 matches). Reported as directly observed on both surfaces — the inconsistency itself is the finding. - **Credits**: generic top-up wallet (`/credits/free`, `/credits/price`, `/credits/user-credit`) via PayPal or bank transfer, usable for plan upgrades or boosts. A **currently commented-out** "Credit Info" block in the page source states "1 Credit = 50 php = 1 profile view" — credits appear designed to also gate viewing tenant/lead contact profiles, a mechanic presently disabled. - **PayPal recurring**: `/plans/paypal-recurring-payment` (subscribe) and `/plans/paypal-recurring-payment/cancel-agreement` (self-service cancel). - **Manual bank-transfer approval queue (admin)**: `/bank-transfer-lists/approve` and `/disapprove`, backing a `re-admin-payment-list` UI where staff review uploaded deposit-slip images for Credits/Plans/Property-upgrade purchases and approve/reject each — fully manual reconciliation, no automated bank-transfer verification. - **Carousell (observed)**: Coins purchasable via app IAP, web credit card, or a PH-specific "Direct to billing" mobile-carrier charge (+12% surcharge from Globe/Smart — web purchase avoids it); Coins are non-refundable, non-transferable, and **market-locked** (SG-bought Coins are not PH-usable). 12% VAT applied to Coins purchases in PH from 2 June 2025. CarouBiz billed separately via app-store subscription, not Coins. The Property CSA is billed in arrears monthly by invoice — a third, fully separate billing rail from either Coins or CarouBiz. ### Team/agency management - **Berenta**: **not observed** — no multi-seat, agency, or "add team member" routes/copy anywhere, including the broker-specific landing page. - **Carousell**: **not observed** as a self-serve UI. The CSA is drafted for a "Client" that may be a business entity, but is a single contracting relationship with no documented multi-seat/role-permission tooling **(gap, not ruled out)**. ### Verification - **Berenta (partially observed)**: `is_verified` boolean surfaced in the admin user table. Marketing copy: "You must identify yourself to be able to post properties on Berenta." Third-party press (Philippine Primer) states Berenta is "working to verify the identity of brokers." Mechanism itself (document upload, manual review) **not observed**. - **Carousell (observed, general not property-specific)**: DTI E-Commerce Philippine Trustmark rollout for Professional accounts, PH ITA-wide compliance measure. No property-specific agent-license verification (e.g. PRC broker license upload) found in public docs. ### Notifications - **Berenta (observed)**: email notification system named explicitly in broker-guide copy; `br-tenant-notification` UI component for lead alerts; email-resend/email-reply endpoints for inquiries. - **Carousell (observed, partial)**: "7 days before expiry" banner for auto-renewing listings; otherwise standard chat/offer notifications via the Sendbird-backed chat layer. No dedicated admin notification-center doc found. ### AI concierge admin (Berenta only) - **Observed** (buyer-facing widget, not an admin console): a chat widget named **"Tashamaru-kun"** (avatar `/images/tips/tashamaru.png`) on public pages, backed by `/test/chatgpt/res`, `/test/chatgpt/notice`, `/test/chatgpt/history`, session-tracked via a `chatgpt_id` cookie (7-day expiry). Fallback error string implies intended use: "please try to ask me about properties for example: Looking for condo for rent in makati within 30k budget." **No admin-side console for managing/training this bot was observed** (would require auth). Carousell has no equivalent AI-concierge signal found. --- ## 5. Implementation & tech ### Berenta - **Stack**: Laravel (CSRF meta tag, `_token` on every form, `_method` spoofing, `berenta_session` + `XSRF-TOKEN` cookies) + Blade server-rendered pages + jQuery/Semantic UI/Bootstrap 4 — a classic server-rendered CRUD admin, not an SPA. `X-Powered-By: PHP/8.2.12`, `nginx/1.27.0`. - No `Content-Security-Policy` header on the homepage response. - Third-party hosts: `cdnjs.cloudflare.com`, `code.jquery.com`, `stackpath.bootstrapcdn.com`, `cdn.jsdelivr.net` (Semantic UI), `use.fontawesome.com`, `fonts.googleapis.com`, `maps.googleapis.com` (Google Maps JS API key exposed client-side: `AIzaSyCQcLq02ijl4tIZB3UUu6tIFIDr3CHFM1o`), `connect.facebook.net`/`www.facebook.com` (Meta Pixel id `408841958054266`), `www.googletagmanager.com` (GTM-WPSJQSZ). - PayPal for one-off + recurring payments; a parallel manual bank-transfer path for credits/plans/boosts, each requiring uploaded proof-of-payment and human admin approval. - i18n: 4 URL-prefix locales (en/ja/zh/ko), confirmed in sitemap and in hard-coded JP alert strings inside `v1/plan.js` (e.g. `'プランを選択してください'`). - Sister/affiliated brand **Bed&Go** (`/images/bed_go.png`) offers "property management, rentals, and buying and selling" per the About page — suggests Berenta is the listings-portal front-end for a broader property-management operation. ### Carousell - **Chat**: confirmed via Sendbird's own published case study — Sendbird powers in-app real-time chat (presence, delivery/read receipts, typing), chosen to avoid building chat in-house and to hit near-100% uptime for transaction-critical messaging. - **Frontend**: a 2018 Carousell engineering post (dated, secondary/republished source) describes evolution to a mobile-first PWA on React + Redux — consistent with, but not current-state proof of, the `ExportLeads` Redux slice found in earlier frontend research. - **Property24 integration**: the CSA names a distinct "P24 Platform" at `property24.com.ph` (Property24, South Africa), contractually bundled with the core Carousell Platform — PH property inventory may span two underlying systems under one commercial agreement, a fact not captured in the original brief. - Live `carousell.ph` and `blog.carousell.com` sit behind **Cloudflare Turnstile** — confirmed via a visible challenge page, not bypassed. --- ## 6. Monetization-admin comparison: freemium-tier vs coin-economy | Dimension | Berenta (freemium tier) | Carousell (coin economy) | |---|---|---| | **Metering unit** | Monthly listing-count cap per plan (Silver 2 / Gold 10 / Platinum unlimited) | Per-category rolling quota (e.g. 2 free/30 days for Property) + per-action Coins spend for overflow/promotion | | **Upgrade path** | Subscribe to a higher plan (flat monthly/annual fee) | Buy Coins (spend on listing-fee overflow, Bump/Spotlight) **or** subscribe to CarouBiz (orthogonal, app-store billed) **or** sign a CSA (B2B, invoiced) | | **Promotion mechanic** | Per-listing tier override (Feature/Premium), staff-overridable | Per-action Coins spend (Bump/Spotlight/Shoutout), with sophisticated pro-rated refund logic on early sale | | **Payment rails** | PayPal (one-off + recurring subscription) **and** manual bank transfer w/ human-approved deposit slip | App-store IAP, web credit card, PH carrier "Direct to billing" (+12% surcharge); Coins non-refundable/non-transferable/market-locked | | **Admin billing ops** | A genuine manual back-office approval queue (`re-admin-payment-list`) for bank-transfer proof — non-trivial human-in-the-loop workflow | Fully self-serve/automated for Coins & CarouBiz; only the CSA layer is human/invoice-driven (minimum commitment, late fees, early-termination penalty) | | **Pricing integrity** | A live discrepancy exists between marketing-page and in-app Platinum pricing — a cautionary single-source-of-truth lesson | Explicitly described as **mid-migration** from listing-fee to category-quota model — monetization architecture openly in flux | | **Enterprise/agency tier** | Not observed — no agency pricing or contract structure found | The CSA is a real enterprise tier: contract terms, minimum commitment, VAT, late fees — closer to a media/ad-sales agreement than a subscription toggle | **Takeaway**: Berenta's model is simpler to reason about (three flat tiers, count-based) but relies on error-prone manual billing ops (bank-transfer approval, and a pricing-page/backend mismatch already observed in production). Carousell's model is more complex but layered cleanly by *who* is buying: casual seller (Coins), committed seller (CarouBiz subscription), and enterprise agency (CSA/invoice) — each with its own billing rail and its own feature unlock, which scales better as a seller base diversifies. --- ## 7. Takeaways for property-portal's future admin/CMS Prioritized, given `DESIGN.md`'s stated intent ("stub, note plug-in points" for auth/CMS) and the bilingual JP/EN PH-broker audience: 1. **Ship a "Buildings"-style master-data registry early, not listings-only.** Berenta's admin has a shared building/development record that all listings attach to, with admin search/edit/merge tooling to de-duplicate condo names. Given `property-portal`'s data model already has `city`/`area` as free strings per listing, a canonical building/project entity (with JP/EN name pairs) would prevent exactly the transliteration-duplicate mess a JP-facing PH portal is prone to, and gives a clean anchor for future developer/project bulk-upload tooling. 2. **Separate "who can post" from "how much they can post" as two independent axes from day one** — mirror Carousell's Personal/Professional × CarouBiz split rather than Berenta's single flat-tier model. A `role` (owner/agent/ tenant) and a `plan`/`quota` should be orthogonal fields on the account, so an eventual agency/brokerage tier (team seats, bulk feed import) can be added without a schema rewrite — Berenta's absence of any team/multi-seat model on either site is a real gap worth avoiding. 3. **Design lead management as first-class, not an inquiry inbox afterthought.** Both competitors treat leads as a monetizable, exportable asset — Berenta's (currently hidden) "Help Me Find a Place" reverse-lead matcher and Carousell's contracted "leads report" export. For property-portal's existing `SavedSearch` + notification-feed seam (`DESIGN.md`), plan the future admin CRM view (lead list, status, CSV export) now, even if it ships mocked, since it is the highest-perceived-value admin feature for brokers. 4. **Build a real analytics/insights panel — Berenta conspicuously has none.** Carousell's Account Insights (clicks, profile visits, AI-estimated revenue-vs-spend) is the single most differentiated seller-facing feature found in this study. Even a lightweight "views per listing, inquiries per listing, trend over 30 days" panel would leapfrog Berenta and give the JP client demo-able "we take your data seriously" polish. 5. **Treat billing as a pluggable, PH-payment-aware rail, and keep pricing in one place.** Berenta's manual bank-transfer approval queue reflects real PH payment habits (not everyone has a card/PayPal) and is worth emulating as a *pattern* (admin approval queue for offline payment proof) even though full payments are out of MVP scope. Simultaneously, Berenta's live marketing-vs-backend Platinum price mismatch is a concrete argument for driving all future plan/quota pricing from one config/CMS source rather than duplicating it in static marketing copy. 6. **An AI concierge is a viable differentiator but needs an admin console, which neither competitor visibly has.** Berenta ships a public GPT-backed chat widget ("Tashamaru-kun") with no observable admin management surface; Carousell has no equivalent at all. Given the client's JP+PH bilingual audience and an already-planned broker-matching seam, a lightweight admin panel to review/tune AI-concierge conversations (even mocked) would be a genuine "ahead of both competitors" capability for the roadmap pitch. --- ## Admin matrix row | Key | Berenta | Carousell (property) | |---|---|---| | Roles | Single signup form, no role picker; `user_type` numeric field with ≥2 privileged internal values (0, 3) beyond owner/agent/tenant (inferred); `is_verified` flag on user record (observed) | Personal vs Professional (auto-triggered or opt-in, observed); CarouBiz subscription orthogonal axis (observed); property "official partner"/verified-agency badge not observed publicly — real enterprise tier is a signed CSA (observed) | | Admin entry points | `/en/page/tips`, `/en/page/broker-guide` (marketing); `/plans`, `/credits`, `/user/properties/*` (login-gated, 302); internal `re-admin-*`/`b-admin-*` panel inferred from JS (not entered) | `support.carousell.com` help-center articles (Professional accounts, CarouBiz, Account Insights, Coins, Bulk Bump, Listing Fees/Quota, Lead-Gen DPA, CSA terms); live `carousell.ph` gated by Cloudflare Turnstile, not accessed | | Listing mgmt (bulk/feed?) | Per-listing publish/unpublish + bulk delete/publish/mark-sold (observed); admin can override any listing's tier/duration (observed); no feed/CSV import found | Free quota + Coins overflow, migrating to category-quota model (observed); "Carousell Property Listing Importer" bulk/feed tool confirmed by name only, mechanics not observed (source blocked) | | Lead CRM | `/inquiries-property/*`, `/inquiries-owned/*` inbox (observed); "Help Me Find a Place" reverse-lead matcher with rich tenant profile data, currently hidden from live nav (observed) | Contracted "Carousell leads report" export under Property CSA DPA (observed) — corroborates `ExportLeads` Redux slice; gated behind B2B agreement, not self-serve | | Analytics | Not observed — `overview.js` has no charts/metrics logic | "Account Insights" dashboard: clicks/profile visits (free), AI-estimated Revenue-vs-Spend ROI, Search/Competitor Insights (Professional/CarouBiz) — observed | | Promotion/boost admin | Feature & Premium per-listing tiers via PayPal/Credits/bank transfer; admin can grant free of charge (observed) | Coins-based Bump/Spotlight/Shoutout; Bulk Bump with pro-rated early-sale refund; CarouBiz Bump discounts + CoinsBack (observed) | | Billing/credits | Plans (Silver free / Gold ₱850-mo / Platinum ₱2,500–5,000-mo, marketing/backend mismatch observed) + Credits wallet (₱50/credit, partly unlaunched profile-view gate) + PayPal recurring + manual bank-transfer approval queue (all observed) | Coins wallet (IAP/web/carrier billing, non-refundable/market-locked, 12% VAT) + CarouBiz app-store subscription + CSA invoiced-in-arrears billing — three separate rails (observed) | | Team/brokerage mgmt | Not observed — no multi-seat/agency model found anywhere | Not observed as self-serve UI; CSA contracts with a "business entity" Client but no documented multi-seat tooling | | Developer/project mgmt | "Buildings" shared master-data registry with admin search/edit/merge (observed) — closest analog to project mgmt | "New Developments" category exists (search-snippet only, not fetched) — no dedicated developer/project admin tooling observed | | Verification/moderation | `is_verified` flag on admin user table; "must identify yourself to post" copy; mechanism not observed; press says Berenta is "working to verify" brokers | DTI E-Commerce Philippine Trustmark rollout (PH-wide, not property-specific), external gov't portal; no property-license verification found | | White-label CRM product | Not observed | Not observed (Property24 integration is a backend data-source bundling, not a white-label CRM offered to agents) | | Tech/implementation | Laravel/Blade + jQuery/Semantic UI/Bootstrap 4, server-rendered, no CSP header, PayPal + manual bank-transfer, GTM/Meta Pixel/Google Maps JS all client-exposed | React/Redux SPA (dated 2018 source, directionally consistent with current findings), Sendbird chat (vendor-confirmed), Cloudflare Turnstile-gated, Property24 backend integration | | Standout admin capability | Human-in-the-loop bank-transfer payment approval queue; admin-overridable listing tiers; shared Buildings master-data registry with merge tooling | AI-estimated Revenue-vs-Spend analytics panel; pro-rated Bulk Bump refund billing; contract-gated (CSA) enterprise leads-export product |