Operations Handbook¶
The playbook for Domain 10 (Operations): vendor verification, quality enforcement, support, disputes, moderation, fraud, billing recovery, and incidents. Every admin action referenced here is performed in the admin console and is audit-logged (who, what, when, why). Phase tags: MVP unless marked otherwise.
Vendor approval SOP¶
Target: decision within 2 business days of submission. Only approved vendors can publish profiles or receive RFQs. MVP
Checklist (all items must pass)¶
- Kuwait commercial license (الرخصة التجارية) uploaded, legible, and not expired. Verify the license number against the Ministry of Commerce & Industry (MOCI) online lookup; cross-check via the Kuwait Business Center portal where applicable.
- Legal name match: business name on the license matches the registered vendor name (Arabic legal name is authoritative; English trade name may differ but must be plausible).
- Activity match: licensed activity covers the selected marketplace category (e.g., a catering license cannot register as a photography studio). Mismatch → request changes, not rejection.
- Authorized signatory: submitted contact is the license owner/authorized signatory or provides an authorization letter. (Civil ID is not collected from customers; for vendors, signatory identity is confirmed via the license record and a verification call.)
- Verification call to the business phone: confirm ownership, category, service areas, and that they understand quotation/response expectations.
- Digital footprint sanity check: Instagram/website/Google Maps presence consistent with claimed portfolio. Stock/stolen portfolio images → request changes.
- Sanctions/duplicate check: not a previously banned entity, no duplicate account for the same license number.
- Profile minimums: at least 1 service listed, 3 gallery images, bilingual description present before first publish (enforced by product; spot-check quality).
Decisions¶
| Decision | When | Effect |
|---|---|---|
| Approve | All checks pass | Vendor notified; may subscribe and publish |
| Request changes | Fixable issues (blurry license, wrong category, thin profile) | Application returns to vendor with itemized list; re-enters queue on resubmit |
| Reject | Failed verification, misrepresentation, prohibited business | Reason code + text mandatory; license number flagged; appeal via support within 30 days |
License expiry is tracked; vendors get reminders at 30/14/3 days, and listings auto-suspend on expiry until a renewed license is uploaded (MVP reminder + manual suspend; auto-suspend Scale).
Vendor quality standards & strike policy¶
Standards every active vendor must maintain:
| Standard | Threshold | Measured over |
|---|---|---|
| RFQ response time | Reply (quote or decline) < 24 h | Rolling 30 days |
| Quote honor rate | Quoted price honored at booking ≥ 98% | Rolling 90 days |
| Booking fulfillment | No vendor-fault cancellations < 14 days before event | Per incident |
| Rating | Average ≥ 3.5 stars after 5+ reviews | Lifetime, rolling window at Scale |
| Conduct | No off-platform payment steering, harassment, or fake reviews | Per incident |
Strike policy (strikes expire after 12 months):
| Strike | Trigger examples | Consequence |
|---|---|---|
| 1st | Repeated slow responses; one honored-price violation | Written warning + coaching email; flagged in admin |
| 2nd | Vendor-fault late cancellation; soliciting off-platform payment | 7-day search suppression (hidden from search/featured; existing bookings unaffected) |
| 3rd | Repeat of any above; rating persistently < 3.5 | 30-day suspension; subscription paused, not refunded |
| Immediate ban (no strikes) | Fraud, fake license, safety incident, fake reviews at scale, discrimination/harassment | Account terminated; license number blacklisted; open bookings handled case-by-case with customer protection first |
Vendors may appeal any strike within 14 days; appeals are reviewed by a different admin than the issuer.
Customer support tiers & SLAs¶
Channels at launch: in-app help form, email, WhatsApp Business (business hours: Sun–Thu 9:00–18:00, Sat 12:00–18:00 Kuwait time). Arabic and English at every tier. MVP
| Tier | Who | Handles | First response SLA | Resolution target |
|---|---|---|---|---|
| T1 | Support agent | How-to, account issues, OTP problems, profile edits, basic vendor queries | 2 business hours | 1 business day |
| T2 | Senior agent / ops specialist | Disputes, refunds, payment mismatches, moderation escalations, vendor strikes | 4 business hours | 3 business days |
| T3 | Engineering on-call | Bugs, payment/webhook investigation, data corrections | Per bug severity (SLA matrix) | Per severity |
| VIP lane | Ops lead | Enterprise-plan vendors, live-event-day emergencies (event within 72 h) | 30 min during business hours | Same day |
Event-day rule: any ticket tagged with an event date within 72 hours jumps to the front of its tier's queue.
Dispute & refund resolution¶
Deposits are collected on-platform via the PSP; the platform captures its commission and settles the vendor's share (no escrow at MVP — automated escrow is Vision; see the commission model). Refunds are enforced through platform policy, PSP refund rails for subscription/deposit payments processed on-platform, and vendor compliance pressure (strikes, payout of goodwill credits at Scale); a refund reverses the related commission and vendor settlement.
flowchart TD
A[Customer taps 'Request refund' on booking] --> B[Booking → Refund Requested<br/>vendor notified, reason captured]
B --> C{Vendor responds within 48 h?}
C -- Accepts refund --> D[Admin processes PSP refund<br/>full/partial, KWD 3dp]
C -- Proposes partial / disputes --> E[T2 mediation:<br/>review chat thread, quote terms,<br/>cancellation policy, evidence]
C -- No response --> E
E --> F{Decision per policy matrix}
F -- Customer favored --> D
F -- Vendor favored --> G[Refund denied with written rationale<br/>customer may appeal once to ops lead]
F -- Split --> H[Partial refund processed<br/>remainder released to vendor]
D --> I[Booking → Cancelled<br/>both parties notified, case closed]
H --> I
G --> J[Booking returns to prior state<br/>case closed]
I --> K[Audit log + case notes archived]
J --> K
Policy matrix (defaults, vendor cancellation policy may be stricter in the customer's favor, never against):
| Situation | Outcome |
|---|---|
| Vendor cancels or fails to deliver | 100% deposit refund + vendor strike |
| Customer cancels ≥ 30 days before event | Full refund minus PSP fees |
| Customer cancels 7–29 days before | Per vendor's published cancellation policy |
| Customer cancels < 7 days before | Deposit retained unless vendor agrees otherwise |
| Service materially not as quoted | Mediated; evidence-based partial/full refund |
All refunds execute through the PSP against the original transaction; cash/off-platform "refunds" are never brokered by Yam3at. Timelines: mediation decision within 5 business days of escalation; PSP refunds typically settle in 5–10 banking days (KNET/card dependent) — set that expectation in the first reply.
Review & content moderation guidelines¶
Queue sources: auto-flags (profanity list AR/EN, phone/URL patterns), user reports, new-vendor first-content review. Target: flagged items reviewed within 24 h. MVP
Remove when content contains: hate speech or harassment; personal data (phone numbers, addresses) in public reviews; content unrelated to a real transaction; extortion ("pay me to remove this review"); competitor sabotage; sexually explicit or illegal content; fake or incentivized reviews.
Keep even when the vendor objects: harsh but genuine criticism tied to a Completed booking; low ratings without text; mentions of price paid; imperfect Arabic/English.
Rules of practice:
- Reviews are only editable/deletable by moderators — vendors can reply once, never edit customer content.
- Never edit review text; the decision is binary (keep/remove), with the reason logged.
- Vendor profile content: remove off-platform contact details (WhatsApp numbers, Instagram handles in descriptions) pre-booking — link exchange is allowed after a confirmed booking.
- Gallery images: must be the vendor's own work; watermarks of other studios → request changes + potential strike.
- Appeals: one appeal per item, decided by a second moderator.
Fraud red flags¶
Any two of these together → freeze the relevant action and escalate to T2 before proceeding:
- Vendor pushes to move payment off-platform ("pay by bank transfer/link and I'll discount") — the single most common pattern; automatic strike.
- New vendor account reusing a license number, phone, or IBAN of a previously banned vendor.
- Burst of 5-star reviews from freshly created customer accounts, or reviewer accounts that only ever review one vendor.
- Quote dramatically below market followed by pressure for urgent direct payment.
- Customer account creating many RFQs with disposable numbers and no event convergence (lead-scraping competitors).
- Card testing: repeated small failed subscription payments across cards on one account.
- Refund abuse: customer with repeated post-event "not as described" claims across unrelated vendors.
- Stolen portfolio: gallery images traceable to other studios (reverse-image spot check).
- Mismatch between license activity/holder and the person operating the account.
Actions available: soft-freeze (block new quotes/bookings, allow login), payment hold via PSP where applicable, ban + license blacklist, and PSP/authority reporting for confirmed payment fraud.
Subscription dunning (failed renewals)¶
Applies to auto-renewal failures of vendor plans. Goal: recover revenue without silently cutting off a vendor mid-negotiation. MVP
| Day | Action | Vendor state |
|---|---|---|
| D0 | Renewal charge fails → instant retry once (transient errors only) | Active (grace) |
| D0 | Email + push: "Payment failed, update your card / pay via KNET" with one-tap pay link | Active (grace) |
| D+3 | Retry #2; second notice | Active (grace) |
| D+7 | Retry #3; final notice, WhatsApp/phone touch for Professional/Enterprise by account ops | Active (grace, banner in dashboard) |
| D+10 | Downgrade to Free limits: no new quotes beyond Free quota, featured placement removed; existing bookings, messages, and profile remain live | Past-due |
| D+30 | Profile unpublished from search; data retained | Suspended |
| D+90 | Account archived; reactivation requires re-verification if the license has since expired | Archived |
Rules: never interrupt an in-flight booking or ongoing dispute because of dunning; KNET payments cannot be auto-retried like cards, so KNET-paying vendors get pay-link reminders instead of silent retries; all dunning transitions are reversible instantly on successful payment.
Incident response¶
For production incidents (payments down, data exposure, platform outage). Severity follows the bug matrix; S1 triggers this process. MVP
- Detect & declare — alert (Sentry/uptime/queue-depth) or report; on-call declares severity in the incident channel; one person becomes Incident Commander (IC).
- Stabilize — prefer kill switch/feature flag or rollback over live debugging. Payments-impacting incidents: pause the affected checkout entry points rather than risk double charges.
- Communicate — internal updates every 30 min; customer-facing status note (AR/EN) if user-visible for > 30 min; support gets a canned response immediately.
- Resolve & verify — fix deployed, smoke tests pass, webhook/queue backlog drained and reconciled (payments incidents require a PSP reconciliation to the fils).
- Post-mortem — blameless write-up within 3 business days for S1/S2: timeline, root cause, user/money impact, action items with owners. Payment incidents also produce a reconciliation report.
Special case — data breach involving PII: IC + founder assess scope immediately, rotate credentials, preserve logs, and follow legal counsel on notification obligations before any public statement.
Escalation matrix¶
| Situation | First owner | Escalate to | When |
|---|---|---|---|
| Standard support ticket | T1 agent | T2 senior agent | Beyond T1 scope or SLA at risk |
| Refund/dispute | T2 | Ops lead | Amount > KWD 500.000, appeal, or policy gap |
| Vendor strike / ban | T2 | Ops lead | Any ban; any Enterprise-plan vendor |
| Payment mismatch / reconciliation gap | T2 | Engineering on-call + finance | Same day, always |
| Suspected fraud | Any agent | Ops lead (fraud owner) | Immediately on 2+ red flags |
| Legal threat, press, regulator contact | Anyone | Founder + counsel | Immediately; no independent replies |
| S1/S2 production incident | On-call engineer | IC per incident process; founder informed for S1 | Immediately |
| Event-day emergency (event < 72 h) | VIP lane | Ops lead | If unresolved within 2 h |
Related: Vendor onboarding SRS · Backlog E3/E10/E14 · Business rules