Hocuwa Marketplace — Functional & Technical Handover
A detailed, implementation-aligned reference for the delivered Hocuwa livestock and agriculture marketplace, including workflows, controls, architecture, operations, and current scope boundaries.
Document version
31 August 2026
Application
Hocuwa Marketplace
Review environment
staging.hocuwa.com
Production state
Coming Soon until approval
Repository access depends on the client's GitHub permissions. The browser report is a saved QA run snapshot; source-controlled tests remain the definitive executable specification.
Contents
1. Document purpose & status
This document describes the delivered Hocuwa application from a client, operational, and technical perspective. It is based on the current application routes, database models, business-rule services, administrator controls, and automated tests—not on a generic marketplace feature list.
Hocuwa is available in a separate staging environment for client review. The production domain is intentionally held on a Coming Soon page until business approval, production payment credentials, content, and launch operations are confirmed.
Source of truth
Where wording in an older proposal, screenshot, or historical note differs from this document, the current application and its admin-configured live values take precedence. Prices, fees, plan limits, currency, auction timing, and payout timing can all be changed by an administrator.
2. Product overview
Hocuwa is a responsive web marketplace for livestock and the wider agriculture sector. It brings discovery, seller profiles, structured listings, negotiations, auctions, checkout, delayed seller payouts, communication, verification, and administration into one application.
Marketplace discovery
- Public category browsing and keyword search
- Category, item, pricing, price, and country filters
- Newest, price, popularity, and auction-ending sorting
- Comparison for up to three listings
- Favourites, view tracking, sharing, and reports
Listings & media
- Five-step listing wizard with saved drafts
- Livestock, produce, feed, machinery, and agri-input categories
- Images, one video, and supporting PDF documents
- Fixed price, open-to-offers, and auction pricing
- Moderation, expiry, stock, archive, and boost controls
Trading
- Stripe-hosted fixed-price checkout
- Offers, counter-offers, and acceptance workflows
- Auctions with increments and optional Buy Now
- Winner payment windows and fallback bidders
- Receipts, collection confirmation, disputes, and reviews
Trust & communication
- Buyer-to-seller conversations with image sharing
- Identity and proof-of-address review
- Seller reviews, ratings, and public trust score
- In-app notifications and email alerts
- Listing, review, and conversation safety controls
Membership & teams
- Admin-configurable membership plans
- Enforced listing, auction, boost, messaging, and team limits
- One-time paid-plan checkout for a configured term
- Business team access under one seller identity
- Plan badges and operational support/marketing entitlements
Content & growth
- Editable company, legal, contact, and FAQ pages
- Blog publishing across five content types
- Eleven advertising positions with click/view tracking
- Newsletter and contact submission capture
- Admin-managed social links, categories, and regions
Public visitors can browse listings, seller information, membership plans, blog posts, help content, and company pages. Registration is required for personalised actions such as favouriting, offering, bidding, purchasing, messaging, publishing a listing, and using the dashboard.
3. Users, access & account model
Public account labels
Registration offers Private and Business account labels. These labels change how names and contact details are presented; they are not hard buyer-versus-seller permissions. Every registered account can both buy and sell, subject to its effective membership plan and account status. This allows a farm, company, or private individual to use one account for both sides of a trade.
Account owner
Controls profile, listings, purchases, selling activity, billing, payout setup, security, and eligible team access.
Team member
Signs in independently and works under the owner's seller identity. Billing and team management stay with the owner.
Administrator
Uses a separate protected admin portal for moderation, configuration, support, finance, content, and audit operations.
Account lifecycle and access controls
- Email/password registration with bot protection, terms acceptance, and optional email OTP verification.
- Optional Google sign-in when platform credentials are configured.
- Password recovery, password change, remember-me sessions, and optional authenticator-based MFA.
- Active, suspended, and deleted account states are enforced on protected routes.
- Users can manage notification preferences and request account deletion from settings.
- The marketplace session and administrator session are separate.
4. Functional scope
Listing creation and management
The five-step wizard covers category, product or animal details, media, price, and final review. A listing may include title, description, quantity and unit, age, weight, sex, condition, health and vaccination information, location, country, price, auction rules, up to ten images, one video, and up to five supporting PDF documents. Fields appear where relevant to the selected category.
Drafts do not consume an active-listing allowance. Publishing requires the mandatory structured data and at least one image. With manual moderation enabled, a submitted listing enters Pending Review; otherwise it becomes Active. The owner can edit it or remove it from active use, with protections when offers or bids may be affected. Removal archives the record so linked commerce history is preserved. Stock quantity decreases by one after each successful checkout, and a listing is marked Sold when no quantity remains.
Search, browse, and comparison
Search covers listing titles, descriptions, locations, item/subcategory details, and seller or farm names. Users can narrow results by category structure, pricing method, price, and country, then sort by newest, price, popularity, or auction end. Up to three listings can be compared side by side using category, type, age, weight, price, health, location, and seller-rating information.
Dashboard
Every account receives a unified dashboard because every account may buy and sell. It includes an overview, listings, messages, favourites, offers, auctions and bids, purchases, transactions, reviews, profile, verification, and settings. Team management appears only when the owner's plan enables it.
Trust, messaging, and notifications
- One reusable conversation is maintained for each buyer/seller pair, with text and image messages.
- Direct messaging is available only when the seller's effective plan includes it.
- Users may block conversations and report inappropriate listings or reviews.
- Verification accepts supported ID and address documents for administrator review.
- Paid purchases permit one buyer-to-seller review per transaction.
- The public trust score considers review activity, average rating, verification, and account age.
- Important events create in-app notifications; email is best effort and preference-aware where applicable.
5. Commerce workflows
Geographic rule
Hocuwa currently supports domestic transactions only. The buyer's profile country must match the listing country before an offer, bid, Buy Now action, or checkout can proceed.
Fixed-price purchase
- 1The buyer opens an active fixed-price listing and selects Buy Now for one unit at the displayed price.
- 2Hocuwa validates ownership, stock, account status, and country, then creates a secure Stripe Checkout session.
- 3Stripe confirms payment; Hocuwa marks the transaction paid and reduces the available quantity.
- 4The parties arrange handover or collection outside the platform. The buyer then confirms collection.
- 5After the configured delay and checks, the net amount transfers to the seller's connected Stripe account.
Offer and negotiation
- 1A buyer proposes a price on an eligible active listing. Only one pending offer per buyer/listing is allowed; if the seller supplied an asking price, the buyer may instead use Buy Now at that amount.
- 2The receiving party accepts, rejects, or counters. The proposer may withdraw a pending offer.
- 3Each pending offer has a 48-hour expiry and its activity is shown in the dashboard.
- 4Acceptance creates a pending transaction at the agreed amount; it does not automatically charge the buyer.
- 5The buyer pays from Transactions and follows the fixed-price collection and payout process.
Auction and bidding
- 1An eligible seller sets start/end time, starting amount, increment, and optional Buy Now within configured limits.
- 2Each live bid must meet the minimum next bid. The previous leader receives an outbid notification.
- 3If Buy Now remains available, a buyer can use it to end the auction immediately and move to payment.
- 4At scheduled close, the highest bidder receives the configured payment window and a pending transaction.
- 5If the winner does not pay, the opportunity can pass to the next distinct bidder; otherwise the listing expires.
Dispute and resolution
- 1A buyer or seller opens a dispute on a paid transaction before payout processing and provides details.
- 2Hocuwa places the transaction in Disputed status, preventing normal payout progression.
- 3An administrator records assignment, review status, and resolution.
- 4The transaction returns to its normal path or receives an eligible full Stripe refund, depending on the outcome.
6. Memberships & entitlements
Membership plans are database-driven and administered without a code deployment. The active default free plan applies when an account has no current paid membership. A paid plan is purchased through a one-time Stripe checkout and remains active for its configured term; it is not an automatically recurring subscription.
The table below records the seeded delivery baseline. Administrators can change plan prices, duration, limits, fees, badges, and activation state, so the live Membership page is the authority for customer-facing values.
| Enforced capability | Basic | Standard | Premium |
|---|---|---|---|
| Active listings | 6 | 10 | 15 |
| Listings containing video | 1 | 2 | 5 |
| Listing lifetime | 35 days | 70 days | Unlimited |
| Auctions | Not included | Up to 7 days | Unlimited duration |
| Listing boosts | 0 | 3 per term | Unlimited |
| Direct messaging | Not included | Included | Included |
| Team members | 0 | 0 | Up to 3 |
Automatically enforced
Active-listing and video limits, listing lifetime, auction availability and duration, boost credits, direct messaging, team availability and size, membership term, and plan badge display.
Operational entitlements
Priority support, advertising slots, logo placement, co-marketing, and related promotional benefits are displayed by plan but coordinated manually by the Hocuwa team; they are not a self-service campaign workflow.
Commission is plan-configurable. For each sale, Hocuwa calculates the percentage fee, fixed fee, and marketplace service fee against the seller's effective plan. Deductions reduce the seller's net payout rather than increasing the buyer's item total.
7. Payments, payouts & disputes
Payment architecture
Buyer payments use Stripe-hosted Checkout. Server-side quoting calculates quantity, gross amount, configured fees, and seller net amount. Signed Stripe webhooks are the authoritative payment signal, with idempotent reconciliation when a customer returns from checkout. Hocuwa uses one administrator-selected platform currency for listings, checkout, transactions, memberships, and reports.
Currency display
Visitors may see an approximate local-currency conversion when detection and exchange-rate data are available. This is display-only. Checkout and accounting remain in the configured Hocuwa platform currency.
Delayed seller settlement
The delivered workflow is escrow-style delayed payout, not a regulated legal escrow account. Payment is received by the platform and linked to a Stripe transfer group. When collection confirmation is required, payout remains Not Ready until the buyer confirms receipt. It is then scheduled after the configured delay. The background processor transfers the seller net amount only when the seller's Stripe Connect account is ready and no dispute is holding the transaction.
- Sellers complete Stripe Connect onboarding from dashboard settings before receiving payouts.
- Buyers can download a PDF receipt from an eligible transaction.
- A dispute can be opened before payout processing has started.
- Administrator refunds are full refunds; partial-refund tooling is not delivered.
- If a seller transfer has already been paid, the normal admin refund is blocked until handled externally.
8. Platform administration
The separate administration area centralises marketplace operations. Administrative changes and sensitive support actions are protected and logged where applicable.
Administrative access is role-based in both the interface and server API. Super Admins have full access and are the only accounts that can assign operational roles. Admins retain full operational access without role assignment; Product Managers manage listings and membership products; Content Managers manage blog, podcast, and advertising content; and Staff handle users, listing moderation, and disputes.
| Area | Delivered controls |
|---|---|
| Dashboard | User, listing, transaction, membership, dispute, and moderation summaries. |
| Users | Search/filter, account state and role changes, suspension reasons, verification review, support impersonation, and audit visibility. |
| Listings | Review pending listings; approve, reject with a reason, or remove content. |
| Memberships | Inspect and manage customer memberships and current status. |
| Membership plans | Configure price, duration, limits, auctions, boosts, messaging, teams, badges, entitlements, and three-part fees. |
| Transactions | Inspect payment/payout state and issue an eligible full refund. |
| Disputes | Review, assign, progress, resolve, or reject cases while payout is held. |
| Advertising | Manage creative, destination, schedule, order, rotation, and status across 11 positions; monitor views, clicks, and CTR. |
| Blog | Create, edit, publish, and remove Guide, Podcast, Safety, News, and Story content. |
| Commission & revenue | Review totals, fees, membership income, charts, date-filtered records, and CSV export. |
| Platform settings | Manage categories, regions, moderation/security, auctions, commerce, page content, and social links. |
| Admin profile | Manage administrator profile, avatar, password, and MFA. |
Configurable operating rules
The settings interface is organised into Categories, Regions, Moderation, Auction Rules, Commerce, Page Content, and Social Links. It includes listing moderation, email verification and reCAPTCHA switches, auction timing, winner-payment windows, automatic lifecycle control, currency, payout delay, collection confirmation, Connect countries, Stripe webhook setup, company/legal/help content, and social URLs.
9. Technical architecture
Application
Next.js 16 App Router and React 19 provide the public site, dashboard, admin portal, and server API in one responsive full-stack application.
Data
Prisma models accounts, profiles, listings/media, offers, auctions/bids, messages, transactions, reviews, verification, disputes, memberships, notifications, content, ads, and audits.
Authentication
NextAuth credential sessions serve users and administrators through separate protected flows. Passwords are hashed and optional TOTP MFA is available.
Payments
Stripe Checkout accepts buyer and membership payments; Stripe Connect onboards sellers and receives delayed marketplace transfers.
Communication
SMTP sends transactional email. In-app notifications remain available even when email is disabled or delivery fails.
Supporting services
reCAPTCHA protects selected public forms. Country and exchange-rate services support approximate local display currency when available.
Storage
Listing media, documents, avatars, blog covers, and advert images are validated and stored in persistent server storage.
Background work
Scheduled processing closes/advances auctions, expires offers/listings/memberships, and processes eligible seller payouts.
10. Security, privacy & audit
- Passwords are one-way hashed; password-reset links and email OTPs are time-limited.
- Registration, login, contact, recovery, and verification actions use validation and targeted rate limits.
- Uploads are restricted by file type, signature, size, and ownership checks.
- Server routes enforce authentication, account state, ownership, team ownership, plan rules, and transaction-party access.
- Stripe webhook signatures are verified and event handling is idempotent.
- MFA supports authenticator applications and one-time backup codes.
- Administrator support impersonation is time-limited, restricted, and audit logged.
- Verification documents are available only to the account and authorised administrators.
Operational security responsibility
Production credentials, SSH access, Stripe live keys, SMTP credentials, database backups, domain access, and administrator accounts must be handled through an approved secret-management process. They must never be placed in public documentation, source control, or support screenshots.
11. Environments & operations
| Environment | Purpose | Data & integrations |
|---|---|---|
| Local/test | Development and automated browser testing. | Resettable isolated test data and controlled fixtures. |
| Staging | Client review, acceptance testing, and test-mode payment checks. | Independent database, uploads, settings, and Stripe test configuration. |
| Production | Public marketplace after formal go-live approval. | Independent live data, integrations, backups, and secrets. |
The application is built as a standalone Next.js server suitable for the current hosted deployment, with persistent upload storage separated from replaceable application releases. A health endpoint checks application and database availability. Scheduled lifecycle and payout endpoints are designed for protected scheduler invocation.
Routine operating tasks
- Review pending listings, verification documents, disputes, and failed payouts.
- Monitor Stripe webhooks, seller onboarding, refunds, and scheduled payout processing.
- Maintain database/upload backups and periodically verify restoration.
- Review administrator access and audit logs; remove obsolete accounts promptly.
- Keep categories, regions, legal content, plans, fees, rules, and support details current.
- Run regression tests before release and verify key flows after deployment.
12. Quality assurance
The repository contains 57 Playwright end-to-end tests across nine browser-test files, executed against isolated test data. The configured browser matrix includes desktop Chromium and a Pixel 7-sized mobile project. A separate four-scenario Stripe test-mode suite exercises the real payment integration when approved test credentials and network access are available.
Browser workflow coverage
Registration/recovery, account types, profiles, MFA, verification, listings/uploads, moderation, favourites, search, offers, auctions, checkout records, collection, receipts, reviews, disputes, messages, plan gating, teams, admin APIs, public pages, and mobile rendering.
Stripe lifecycle coverage
Connect onboarding, fixed-price checkout and admin refund, paid membership activation, and auction-winner payment through collection confirmation and seller transfer.
Standard verification commands are npm run lint, npm run build, npm run test:e2e, and, in an authorised Stripe test environment, npm run test:payments.
13. Current product boundaries
These statements prevent business users and support staff from assuming adjacent capabilities that have not been implemented.
Domestic trade
Offers, bids, Buy Now, and checkout require the buyer and listing to be in the same country. No cross-border trade workflow is delivered.
One settlement currency
Hocuwa uses one platform currency. Local currency may be shown approximately, but there is no per-listing or multi-currency checkout.
Collection, not logistics
Hocuwa records collection confirmation but does not book couriers, calculate shipping, schedule transport, or manage delivery.
Delayed payout, not legal escrow
The platform delays a Stripe Connect transfer according to its rules; it is not a separately regulated escrow service.
Membership terms
Paid memberships use one-time payment for a configured term. Automatic recurring renewal, proration, and self-service mid-term switching are not delivered.
Promotional benefits
Plan advertising, logo, co-marketing, and some support benefits are fulfilled operationally rather than through a self-service campaign manager.
Reviews
A buyer can review a seller once per paid transaction. Seller-to-buyer reviews are not included.
Refunds
The admin tool performs eligible full refunds. Partial refunds and automated post-transfer reversals are not included.
Messaging
Dashboard messages include images, unread state, and notifications; the product does not promise socket-based live chat.
Web application
Hocuwa is mobile-responsive web software. Native iOS and Android applications are not part of the delivered codebase.
Tax and insurance
Hocuwa does not calculate tax, provide insurance, perform veterinary checks, or replace buyer due diligence.
External handover
Parties arrange inspection, collection, and off-platform documents themselves. Hocuwa records the marketplace payment lifecycle.
14. Handover checklist
Client acceptance
- Approve staging design, content, categories, regions, and legal pages.
- Confirm membership prices, limits, fees, currency, and wording.
- Confirm auction timing, payment window, collection policy, and payout delay.
- Complete representative Private, Business, team, purchase, offer, auction, dispute, and admin tests.
- Approve current boundaries and record roadmap requests separately.
Production readiness
- Install production-only secrets and live integration configuration.
- Register and verify the live Stripe webhook and Connect countries.
- Verify DNS, HTTPS, scheduler security, persistent storage, backups, and restore process.
- Create named administrator accounts with MFA and remove temporary access.
- Run regression tests, complete a production smoke test, and record launch approval.
Related user documentation
The Hocuwa Knowledge Base provides plain-English, task-by-task instructions for account holders, buyers, sellers, and business teams.
