---
title: ChowNow Clone Business Model
description: 
url: https://miracuves.com/chownow-clone/business-model
date_modified: 2026-09-10
author: miracuves
language: en_US
---

.mcv-cnb{
    --crimson:#e8344f; --crimson-deep:#a70d2a; --crimson-hot:#d81b46; --crimson-light:#ff8090;
    --amber:#fbbf24; --black:#0a0a0a; --white:#ffffff; --paper:#faf8f8; --ink:#191419; --ink-dim:#6d666d;
    --line:rgba(11,11,16,0.1); --line-light:rgba(255,255,255,0.12);
    --card-bg:rgba(8,3,8,0.82);
    font-family:'Plus Jakarta Sans',Arial,sans-serif; color:var(--ink); background:var(--white); margin:0; padding:0;
  }
  .mcv-cnb *{ box-sizing:border-box; }
  .mcv-cnb h1,.mcv-cnb h2,.mcv-cnb h3{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:800; margin:0; letter-spacing:-0.02em; line-height:1.12; }
  .mcv-cnb p{ margin:0 0 14px; line-height:1.7; color:var(--ink); }
  .mcv-cnb a{ color:var(--crimson-deep); text-decoration:none; }
  .mcv-cnb .mono{ font-family:'JetBrains Mono',monospace; }
  .mcv-cnb-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:2; }
  .mcv-cnb-bleed{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; }

  .mcv-seo-ref{ background:#FFF7E0; border:2px dashed #C79A00; padding:18px 22px; font-family:Arial,sans-serif; font-size:13px; color:#4A3B00; max-width:1180px; margin:18px auto; border-radius:8px; }

  .mcv-cnb-crumb{ display:flex; gap:8px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.62); margin-bottom:20px; }
  .mcv-cnb-crumb a{ color:rgba(255,255,255,.62); }
  .mcv-cnb-crumb a:hover{ color:var(--crimson-light); }
  .mcv-cnb-crumb span.sep{ opacity:.5; }
  .mcv-cnb-crumb span.cur{ color:rgba(255,255,255,.75); }

  .mcv-cnb-eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:7px 16px; border-radius:100px; background:rgba(255,255,255,.06); border:1px solid var(--line-light); font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--crimson-light); margin-bottom:22px; }
  .mcv-cnb-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--crimson); }

  .mcv-cnb-hero{ background:radial-gradient(ellipse 900px 500px at 85% -10%, rgba(232,52,79,.16), transparent), #0a0a0a; color:#fff; padding:56px 0 150px; position:relative; overflow:hidden; }
  .mcv-cnb-hero .ring{ position:absolute; border:2px solid rgba(232,52,79,.18); border-radius:50%; pointer-events:none; }
  .mcv-cnb-hero .ring1{ width:560px; height:560px; top:-260px; right:-200px; }
  .mcv-cnb-hero .ring2{ width:340px; height:340px; bottom:-200px; right:120px; border-color:rgba(232,52,79,.1); }
  .mcv-cnb-herogrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .mcv-cnb-hero h1{ font-size:clamp(27px,3.9vw,44px); color:#fff; }
  .mcv-cnb-hero h1 em{ font-style:normal; color:#ff8090; }
  .mcv-cnb-hero p.sub{ font-size:16px; color:rgba(255,255,255,.68); max-width:600px; margin:20px 0 30px; }

  .mcv-cnb a.mcv-cnb-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; background:linear-gradient(160deg,#d81b46,#e6223f); color:#fff; font-weight:700; font-size:15px; padding:15px 28px; box-shadow:0 10px 30px rgba(232,52,79,.3); transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
  .mcv-cnb a.mcv-cnb-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-cnb a.mcv-cnb-btn-outline{ display:inline-flex; align-items:center; border:2px solid rgba(255,255,255,.7); color:#fff; border-radius:12px; font-weight:700; font-size:15px; padding:13px 26px; margin-left:12px; transition:all .2s; }
  .mcv-cnb a.mcv-cnb-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

  .mcv-cnb-trust{ display:flex; flex-wrap:wrap; gap:22px; margin-top:34px; padding-top:24px; border-top:1px solid var(--line-light); }
  .mcv-cnb-trust-item{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(255,255,255,.6); }
  .mcv-cnb-trust-item strong{ font-family:'JetBrains Mono',monospace; color:#fff; font-size:14px; }

  .mcv-cnb-cardstack{ position:relative; height:340px; }
  .mcv-cnb-fincard{ position:absolute; width:300px; height:180px; border-radius:18px; padding:22px; background:linear-gradient(150deg,#1c1418,#0d0709); border:1px solid var(--line-light); box-shadow:0 30px 70px rgba(0,0,0,.5); }
  .mcv-cnb-fincard.c1{ top:0; left:10px; z-index:1; opacity:.5; transform:rotate(-6deg) scale(.92); }
  .mcv-cnb-fincard.c2{ top:30px; left:40px; z-index:2; background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border-color:rgba(232,52,79,.3); box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-cnb-fincard .brand{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
  .mcv-cnb-fincard .chip{ width:34px; height:24px; border-radius:5px; background:linear-gradient(135deg,#ff8090,#e8344f); margin:22px 0 18px; }
  .mcv-cnb-fincard .num{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; letter-spacing:.1em; }
  .mcv-cnb-fincard .curr{ position:absolute; bottom:22px; right:22px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#ff8090; }
  .mcv-cnb-float{ position:absolute; background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:14px; padding:12px 16px; box-shadow:0 16px 40px rgba(0,0,0,.35); z-index:3; }
  .mcv-cnb-float .k2{ font-family:'JetBrains Mono',monospace; font-size:10px; color:#ff8090; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
  .mcv-cnb-float .v{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; font-weight:700; }
  .mcv-cnb-float-1{ top:-10px; right:0; }
  .mcv-cnb-float-2{ bottom:10px; left:0; }

  .mcv-cnb-statbar{ margin-top:-72px; position:relative; z-index:3; }
  .mcv-cnb-statbar .inner{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:32px 20px; display:grid; grid-template-columns:repeat(4,1fr); }
  .mcv-cnb-statbar .stat{ text-align:center; padding:0 12px; border-right:1px solid var(--line-light); }
  .mcv-cnb-statbar .stat:last-child{ border-right:none; }
  .mcv-cnb-statbar .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:22px; color:#ff8090; }
  .mcv-cnb-statbar .lbl{ font-size:11.5px; color:rgba(255,255,255,.62); margin-top:6px; line-height:1.4; }

  .mcv-cnb-section{ padding:100px 0 76px; }
  .mcv-cnb-section.paper{ background:#faf8f8; }
  .mcv-cnb-section.tight{ padding-top:76px; }
  .mcv-cnb-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .mcv-cnb-head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-cnb-head h2{ font-size:clamp(22px,3vw,34px); color:#191419; }
  .mcv-cnb-head p{ color:#6d666d; margin-top:14px; }

  .mcv-cnb-rolegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-cnb-rolecard{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-cnb-rolecard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-cnb-roleicon{ width:40px; height:40px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-cnb-rolecard h3{ font-size:17px; margin-bottom:12px; color:#191419; }
  .mcv-cnb-rolecard ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-cnb-rolecard li{ margin-bottom:8px; line-height:1.5; }

  .mcv-cnb-tablewrap{ overflow-x:auto; border-radius:16px; box-shadow:0 12px 34px rgba(0,0,0,.07); border:1px solid var(--line); }
  table.mcv-cnb-table{ border-collapse:collapse; width:100%; min-width:680px; background:#fff; font-size:13.5px; }
  table.mcv-cnb-table th{ background:#0a0a0a; color:#ffffff; text-align:left; padding:14px 16px; font-family:'JetBrains Mono',monospace; font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
  table.mcv-cnb-table td{ padding:14px 16px; border-bottom:1px solid rgba(11,11,16,0.1); vertical-align:top; color:#191419; }
  table.mcv-cnb-table td.hl{ background:rgba(232,52,79,.06); border-top:3px solid #e8344f; font-weight:600; color:#191419; }
  table.mcv-cnb-table th.hl{ background:#e6223f; color:#ffffff; }
  table.mcv-cnb-table tbody tr:hover td{ background:#f4f1f1; color:#191419; }
  table.mcv-cnb-table tbody tr:hover td.hl{ background:rgba(232,52,79,.13); color:#191419; }
  table.mcv-cnb-table tr:last-child td{ border-bottom:none; }
  .mcv-cnb-note{ font-size:12.5px; color:#6d666d; margin-top:12px; }

  .mcv-cnb-callout{ background:linear-gradient(135deg,#2B0710,#4A0F1E); color:#fff; border-radius:20px; padding:40px 44px; }
  .mcv-cnb-callout h2,.mcv-cnb-callout h3{ color:#fff; font-size:22px; margin-bottom:12px; }
  .mcv-cnb-callout p{ color:rgba(255,255,255,.78); font-size:14.5px; margin:0; }

  .mcv-cnb-honest{ background:#fff; border:1px solid var(--line); border-left:4px solid #fbbf24; border-radius:14px; padding:28px 30px; }
  .mcv-cnb-honest h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-cnb-honestgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; }
  .mcv-cnb-honestgrid div{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:18px; position:relative; }
  .mcv-cnb-honestgrid div::before{ content:'!'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#8a6100; }

  .mcv-cnb-cs{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px 34px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; box-shadow:0 8px 24px rgba(0,0,0,.05); }
  .mcv-cnb-cs-badge{ display:inline-flex; align-items:center; gap:7px; padding:6px 14px; border-radius:100px; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-cnb-cs-badge .dot{ width:6px; height:6px; border-radius:50%; background:#e8344f; }
  .mcv-cnb-cs-body{ flex:1; min-width:260px; }
  .mcv-cnb-cs-body h3{ font-size:16.5px; margin-bottom:6px; color:#191419; }
  .mcv-cnb-cs-body p{ color:#6d666d; font-size:13.5px; margin:0; max-width:460px; }
  .mcv-cnb a.mcv-cnb-cs-link{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#a70d2a; white-space:nowrap; }

  .mcv-cnb-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:1000px; margin:0 auto; }
  .mcv-cnb-faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
  .mcv-cnb-faq summary{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:700; font-size:15px; color:#191419; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .mcv-cnb-faq summary::-webkit-details-marker{ display:none; }
  .mcv-cnb-faq summary::after{ content:'+'; font-family:'JetBrains Mono',monospace; color:#a70d2a; font-size:20px; font-weight:700; flex:none; }
  .mcv-cnb-faq details[open] summary::after{ content:'\2212'; }
  .mcv-cnb-faq .a{ color:#6d666d; font-size:13.5px; margin-top:10px; line-height:1.65; }

  .mcv-cnb-cta{ background:linear-gradient(120deg,#e6223f,#6e0e1f); color:#fff; padding:64px 0; position:relative; overflow:hidden; }
  .mcv-cnb-cta .ring{ position:absolute; border:2px solid rgba(255,255,255,.14); border-radius:50%; width:360px; height:360px; top:-140px; right:-100px; }
  .mcv-cnb-cta .flex{ display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; position:relative; z-index:2; }
  .mcv-cnb-cta h2{ color:#fff; font-size:clamp(20px,2.6vw,28px); margin-bottom:8px; }
  .mcv-cnb-cta p{ color:#ffffff; margin:0; max-width:460px; }
  .mcv-cnb-cta a.mcv-cnb-btn-outline{ border-color:#fff; }
  .mcv-cnb-cta a.mcv-cnb-btn{ background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.2); }
  .mcv-cnb-cta a.mcv-cnb-btn,.mcv-cnb-cta a.mcv-cnb-btn:hover{ color:#a70d2a; }

  .mcv-cnb-explore{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .mcv-cnb a.mcv-cnb-pill{ font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; padding:10px 18px; border-radius:100px; border:1px solid var(--line); color:#191419; background:#fff; transition:all .2s; }
  .mcv-cnb a.mcv-cnb-pill:hover{ border-color:#e8344f; color:#a70d2a; text-decoration:none; }
  .mcv-cnb a.mcv-cnb-pill.cur{ background:#191419; color:#fff; border-color:#191419; }

  .mcv-cnb-finalcta{ background:#0a0a0a; color:#fff; text-align:center; padding:96px 24px 64px; position:relative; overflow:hidden; }
  .mcv-cnb-finalcta .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; }
  .mcv-cnb-finalcta .ring1{ width:480px; height:480px; top:-220px; left:-160px; }
  .mcv-cnb-finalcta .ring2{ width:300px; height:300px; bottom:-180px; right:-90px; }
  .mcv-cnb-finalcta .card{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:24px; padding:56px 40px; max-width:720px; margin:0 auto; position:relative; z-index:2; }
  .mcv-cnb-finalcta h2{ color:#fff; font-size:clamp(24px,3.2vw,34px); max-width:640px; margin:0 auto 14px; }
  .mcv-cnb-finalcta p.sub{ color:rgba(255,255,255,.7); max-width:520px; margin:0 auto 30px; }
  .mcv-cnb-footerbar{ max-width:1180px; margin:56px auto 0; padding-top:28px; border-top:1px solid var(--line-light); position:relative; z-index:2; }
  .mcv-cnb-byline{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.12); padding-bottom:16px; margin-bottom:12px; }
  .mcv-cnb-byline strong{ color:#fff; font-weight:600; }
  .mcv-cnb-byline .dotsep{ opacity:.4; }
  .mcv-cnb-footermeta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,255,255,.55); }

  @media (max-width:900px){
    .mcv-cnb-herogrid{ grid-template-columns:1fr; }
    .mcv-cnb-statbar .inner{ grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .mcv-cnb-statbar .stat:nth-child(2){ border-right:none; }
    .mcv-cnb-rolegrid{ grid-template-columns:1fr; }
    .mcv-cnb-honestgrid{ grid-template-columns:1fr; }
    .mcv-cnb-faqgrid{ grid-template-columns:1fr; }
    .mcv-cnb-hero h1{ font-size:27px; }
    .mcv-cnb-cta .flex{ flex-direction:column; align-items:flex-start; }
    .mcv-cnb-cardstack{ height:260px; }
    .mcv-cnb-fincard{ width:250px; height:150px; }
  }
  @media (prefers-reduced-motion: reduce){ .mcv-cnb *{ animation:none !important; transition:none !important; } }
  /* --- components used by cost / company / business-model --- */
  .mcv-cnb-pricecard{ background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border:1px solid rgba(232,52,79,.3); border-radius:22px; padding:34px 32px; box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-cnb-pricecard .plan{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#ff8090; margin-bottom:14px; }
  .mcv-cnb-pricecard .amt{ font-family:'JetBrains Mono',monospace; font-size:44px; font-weight:700; color:#fff; line-height:1; }
  .mcv-cnb-pricecard .per{ font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; }
  .mcv-cnb-pricecard ul{ margin:22px 0 0; padding-left:18px; color:rgba(255,255,255,.78); font-size:13.5px; }
  .mcv-cnb-pricecard li{ margin-bottom:8px; line-height:1.5; }
  .mcv-cnb-drivers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-cnb-driver{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-cnb-driver:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-cnb-driver h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-cnb-driver p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-cnb-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .mcv-cnb-step{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:24px 22px; }
  .mcv-cnb-step .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:8px; }
  .mcv-cnb-step h3{ font-size:15.5px; margin-bottom:8px; color:#191419; }
  .mcv-cnb-step p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-cnb-checkgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
  .mcv-cnb-check{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:20px 22px; }
  .mcv-cnb-check h3{ font-size:15px; margin-bottom:8px; color:#191419; }
  .mcv-cnb-check p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-cnb-flags{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .mcv-cnb-flag{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:22px; position:relative; }
  .mcv-cnb-flag::before{ content:'\2715'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; }
  .mcv-cnb-pt{ background:radial-gradient(ellipse 800px 400px at 20% 0%, rgba(232,52,79,.14), transparent), #0a0a0a; color:#fff; padding:92px 0 84px; }
  .mcv-cnb-pt .mcv-cnb-head h2{ color:#fff; }
  .mcv-cnb-pt .mcv-cnb-head p{ color:rgba(255,255,255,.68); }
  .mcv-cnb-pt .mcv-cnb-head .kicker{ color:#ff8090; }
  .mcv-cnb-ptgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mcv-cnb-ptcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:26px 24px; }
  .mcv-cnb-ptcard h3{ font-size:15.5px; color:#fff; margin-bottom:10px; }
  .mcv-cnb-ptcard p{ font-size:13.5px; color:rgba(255,255,255,.72); margin:0; }
  .mcv-cnb-ptcard .tag{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; border:1px solid rgba(232,52,79,.35); border-radius:100px; padding:3px 10px; margin-bottom:12px; }
  .mcv-cnb-csbox{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:22px; padding:40px 42px; box-shadow:0 12px 34px rgba(0,0,0,.06); }
  .mcv-cnb-csmeta{ display:flex; flex-wrap:wrap; gap:26px; margin:22px 0 26px; padding:20px 0; border-top:1px solid rgba(11,11,16,0.1); border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-cnb-csmeta div{ font-size:13px; color:#6d666d; }
  .mcv-cnb-csmeta strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:18px; color:#191419; margin-bottom:2px; }
  .mcv-cnb-cscols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .mcv-cnb-cscols h4{ font-size:13px; font-family:'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin:0 0 10px; }
  .mcv-cnb-cscols ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-cnb-cscols li{ margin-bottom:8px; line-height:1.5; }
  .mcv-cnb-quote{ margin-top:28px; padding:24px 26px; background:#faf8f8; border-left:3px solid #e8344f; border-radius:0 12px 12px 0; }
  .mcv-cnb-quote p{ font-size:15px; font-style:italic; color:#191419; margin:0 0 10px; }
  .mcv-cnb-quote .who{ font-family:'JetBrains Mono',monospace; font-size:12px; color:#6d666d; font-style:normal; }
  .mcv-cnb-revgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-cnb-revcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-cnb-revcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-cnb-revcard .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; }
  .mcv-cnb-revcard h3{ font-size:16.5px; margin-bottom:10px; color:#191419; }
  .mcv-cnb-revcard p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-cnb-revcard .core{ display:inline-block; margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); border-radius:100px; padding:3px 10px; }
  .mcv-cnb-disclose{ background:#faf8f8; border:1px dashed rgba(11,11,16,0.1); border-radius:14px; padding:26px 28px; max-width:860px; margin:0 auto; }
  .mcv-cnb-disclose h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-cnb-disclose p{ font-size:13.5px; color:#6d666d; margin:0 0 10px; }
  .mcv-cnb-disclose p:last-child{ margin-bottom:0; }
  .mcv-cnb-callout .figs{ display:flex; flex-wrap:wrap; gap:32px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12); }
  .mcv-cnb-callout .figs div{ font-size:12.5px; color:rgba(255,255,255,.65); }
  .mcv-cnb-callout .figs strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:20px; color:#fff; margin-bottom:3px; }
  @media (max-width:900px){
    .mcv-cnb-drivers,.mcv-cnb-steps,.mcv-cnb-checkgrid,.mcv-cnb-flags,.mcv-cnb-ptgrid,.mcv-cnb-cscols,.mcv-cnb-revgrid{ grid-template-columns:1fr; }
    .mcv-cnb-csbox{ padding:28px 24px; }
  }
  /* ===== components ported from the shipped reference bundle (instagram-clone) ===== */
  .mcv-cnb-aside{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 16px 16px 0; padding:32px 36px; }
  .mcv-cnb-aside h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-cnb-aside ul{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
  .mcv-cnb-aside li{ padding-left:18px; position:relative; font-size:14px; color:#191419; line-height:1.6; }
  .mcv-cnb-aside li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; background:#e8344f; transform:rotate(45deg); }
  .mcv-cnb-aside li span{ color:#6d666d; display:block; font-size:12.5px; margin-top:2px; }
  .mcv-cnb-flowrow{ display:grid; grid-template-columns:64px 1fr; gap:22px; padding:28px 0; border-bottom:1px solid rgba(11,11,16,0.1); align-items:start; }
  .mcv-cnb-flowrow:last-child{ border-bottom:none; }
  .mcv-cnb-flowrow h3{ font-size:18px; margin-bottom:8px; color:#191419; }
  .mcv-cnb-flowrow p{ color:#6d666d; font-size:14.5px; margin:0; max-width:760px; }
  .mcv-cnb-flownum{ width:56px; height:56px; border-radius:50%; border:1.5px solid rgba(11,11,16,0.1); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; font-size:16px; }
  .mcv-cnb-icongrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .mcv-cnb-iconitem{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:22px 24px; display:flex; gap:14px; align-items:flex-start; box-shadow:0 6px 18px rgba(0,0,0,.05); }
  .mcv-cnb-iconitem h3{ font-size:15px; margin-bottom:6px; color:#191419; }
  .mcv-cnb-iconitem p{ font-size:13px; color:#6d666d; margin:0; }
  .mcv-cnb-icondot{ width:34px; height:34px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); flex:none; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-cnb-steprow{ display:flex; gap:24px; padding:22px 0; border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-cnb-steprow:last-child{ border-bottom:none; }
  .mcv-cnb-step-num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:#a70d2a; flex:none; width:90px; padding-top:2px; }
  .mcv-cnb-step-body h3{ font-size:17px; color:#191419; margin-bottom:6px; }
  .mcv-cnb-step-body p{ font-size:14.5px; color:#6d666d; margin:0; }
  .mcv-cnb-trustband{ background:#0a0a0a; color:#fff; padding:96px 0; position:relative; overflow:hidden; }
  .mcv-cnb-trustband .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; width:420px; height:420px; top:-160px; left:-140px; }
  .mcv-cnb-trustband .head{ text-align:center; max-width:720px; margin:0 auto 44px; position:relative; z-index:2; }
  .mcv-cnb-trustband .head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#ff8090; margin-bottom:12px; }
  .mcv-cnb-trustband .head h2{ color:#fff; font-size:clamp(22px,3vw,34px); }
  .mcv-cnb-trustband .head p{ color:rgba(255,255,255,.68); margin-top:14px; }
  /* the band markup uses the prefixed head class, so scope the light colours to it explicitly -
     without this the h2 falls through to .mcv-cnb-head h2 (#191419) and vanishes on the black band */
  .mcv-cnb-trustband .mcv-cnb-head h2{ color:#ffffff; font-size:clamp(22px,3vw,34px); }
  .mcv-cnb-trustband .mcv-cnb-head p{ color:rgba(255,255,255,0.68); }
  .mcv-cnb-trustband .mcv-cnb-head .kicker{ color:#ff8090; }
.mcv-cnb-trustband .mcv-cnb-note{ color:rgba(255,255,255,0.68); }
.mcv-cnb-pt .mcv-cnb-note{ color:rgba(255,255,255,0.68); }
  .mcv-cnb-trustgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:2; }
  .mcv-cnb-trustcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:26px 22px; }
  .mcv-cnb-trustcard h3{ color:#fff; font-size:15px; margin-bottom:8px; }
  .mcv-cnb-trustcard p{ color:rgba(255,255,255,.68); font-size:13px; margin:0; line-height:1.55; }
  .mcv-cnb-trusticon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.16); border:1px solid rgba(232,52,79,.4); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .mcv-cnb-scorecard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; }
  .mcv-cnb-scorecard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:16px; }
  .mcv-cnb-scorerow{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
  .mcv-cnb-scorerow:last-child{ border-bottom:none; }
  .mcv-cnb-scorerow .lbl2{ font-size:12.5px; color:rgba(255,255,255,.75); }
  .mcv-cnb-scorerow .val{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:#fff; }
  .mcv-cnb-scorerow .val.good{ color:#ff8090; }
  /* scorecard is a DARK card sitting in a light section. Rows authored as
     **label**text inherit var(--ink) and vanish (1.13:1).
     Give them light ink and stack them; .lbl2/.val two-column rows are untouched. */
  .mcv-cnb-scorerow{ flex-wrap:wrap; }
  .mcv-cnb-scorecard > .mcv-cnb-scorerow > strong{ flex:1 0 100%; color:#ffffff; font-size:14.5px; margin-bottom:4px; }
  .mcv-cnb-scorecard > .mcv-cnb-scorerow > span{ flex:1 0 100%; color:rgba(255,255,255,0.78); font-size:13px; line-height:1.62; }
  .mcv-cnb-cs-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
  .mcv-cnb-cs-top p{ color:#6d666d; font-size:14.5px; max-width:480px; margin:0; }
  .mcv-cnb-cs-meta{ text-align:right; font-size:13.5px; }
  .mcv-cnb-cs-meta strong{ display:block; color:#191419; font-size:14.5px; }
  .mcv-cnb-cs-meta .lbl{ font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#6d666d; margin:2px 0 12px; }
  .mcv-cnb-cs-stats{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(11,11,16,0.1); border-radius:16px; margin-bottom:24px; overflow:hidden; }
  .mcv-cnb-cs-stat{ text-align:center; padding:22px 12px; border-right:1px solid rgba(11,11,16,0.1); }
  .mcv-cnb-cs-stat:last-child{ border-right:none; }
  .mcv-cnb-cs-stat .v{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:26px; color:#a70d2a; }
  .mcv-cnb-cs-stat .l{ font-size:12.5px; color:#6d666d; margin-top:4px; }
  .mcv-cnb-cs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .mcv-cnb-cs-box{ background:#faf8f8; border-radius:14px; padding:22px 24px; }
  .mcv-cnb-cs-box .h{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6d666d; margin-bottom:12px; }
  .mcv-cnb-cs-box ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
  .mcv-cnb-cs-box li{ padding-left:16px; position:relative; font-size:13.5px; color:#191419; line-height:1.55; }
  .mcv-cnb-cs-box li::before{ content:''; position:absolute; left:0; top:7px; width:6px; height:6px; background:#e8344f; transform:rotate(45deg); }
  .mcv-cnb-cs-quote{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 14px 14px 0; padding:22px 26px; margin-top:16px; display:flex; gap:16px; align-items:flex-start; }
  .mcv-cnb-cs-quote p{ font-style:italic; font-size:15px; color:#191419; margin:0 0 10px; }
  .mcv-cnb-cs-avatar{ width:38px; height:38px; border-radius:50%; background:#a70d2a; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; flex:none; }
  .mcv-cnb-cs-who strong{ display:block; font-size:13.5px; color:#191419; }
  .mcv-cnb-cs-who span{ font-size:12.5px; color:#6d666d; }
  .mcv-cnb-cs-foot{ margin-top:20px; padding-top:16px; border-top:1px solid rgba(11,11,16,0.1); font-size:12.5px; color:#6d666d; }
  .mcv-cnb-mockwrap{ position:relative; }
  .mcv-cnb-chartcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; position:relative; }
  .mcv-cnb-chartcard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:18px; }
  .mcv-cnb-chartcard .mcv-cnb-barrow{ display:flex; align-items:center; gap:14px; height:auto; margin:0 0 14px; }
  .mcv-cnb-chartcard .mcv-cnb-barrow .l{ flex:0 0 140px; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.78); }
  .mcv-cnb-chartcard .mcv-cnb-barrow>.bar{ flex:1; height:8px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; }
  .mcv-cnb-chartcard .mcv-cnb-barrow>.bar>.mcv-cnb-barcol{ height:8px; border-radius:999px; background:linear-gradient(90deg,#ff8090,#d81b46); }
  .mcv-cnb-chartcard .note{ margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12); font-size:11.5px; line-height:1.5; color:rgba(255,255,255,.62); }
  .mcv-cnb-seggrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .mcv-cnb-segcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:26px 22px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-cnb-segcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-cnb-segcard h3{ color:#191419; font-size:15.5px; margin-bottom:8px; }
  .mcv-cnb-segcard p{ color:#6d666d; font-size:13px; margin:0; line-height:1.55; }
  .mcv-cnb-segcard ul{ margin:12px 0 0; padding-left:17px; }
  .mcv-cnb-segcard li{ color:#6d666d; font-size:12.5px; line-height:1.5; margin-bottom:6px; }
  .mcv-cnb-segcard li:last-child{ margin-bottom:0; }
  .mcv-cnb-segicon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; transition:background .3s; }
  .mcv-cnb-modelgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-cnb-modelcard{ position:relative; background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; overflow:hidden; }
  .mcv-cnb-modelcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-cnb-modelcard .ghost{ position:absolute; top:-4px; right:6px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:64px; color:#000; opacity:.045; line-height:1; }
  .mcv-cnb-modelcard:hover .ghost{ color:#e8344f; opacity:.09; }
  .mcv-cnb-modelcard .stage{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; position:relative; }
  .mcv-cnb-modelcard h3{ font-size:16.5px; margin-bottom:8px; position:relative; color:#191419; }
  .mcv-cnb-modelcard p{ font-size:13.5px; color:#6d666d; margin:0; line-height:1.55; position:relative; }
  .mcv-cnb-streamlist{ display:flex; flex-direction:column; gap:9px; }
  .mcv-cnb-streamrow{ display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid rgba(255,255,255,0.12); border-radius:10px; background:rgba(255,255,255,.03); }
  .mcv-cnb-streamrow .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; color:#ff8090; }
  .mcv-cnb-streamrow .s{ font-size:13px; color:#fff; font-weight:600; }
  @media (max-width:900px){
    .mcv-cnb-aside ul{ grid-template-columns:1fr; }
    .mcv-cnb-flowrow{ grid-template-columns:48px 1fr; gap:16px; }
    .mcv-cnb-flownum{ width:44px; height:44px; font-size:14px; }
    .mcv-cnb-icongrid,.mcv-cnb-cs-grid,.mcv-cnb-modelgrid{ grid-template-columns:1fr; }
    .mcv-cnb-trustgrid,.mcv-cnb-seggrid{ grid-template-columns:1fr 1fr; }
    .mcv-cnb-cs-stats{ grid-template-columns:1fr; }
    .mcv-cnb-cs-stat{ border-right:none; border-bottom:1px solid rgba(11,11,16,0.1); }
    .mcv-cnb-cs-stat:last-child{ border-bottom:none; }
    .mcv-cnb-cs-top,.mcv-cnb-steprow{ flex-direction:column; }
    .mcv-cnb-cs-meta{ text-align:left; }
    .mcv-cnb-chartcard .mcv-cnb-barrow{ gap:10px; }
    .mcv-cnb-chartcard .mcv-cnb-barrow .l{ flex:0 0 104px; font-size:11.5px; }
  }
* + .mcv-cnb-callout{ margin-top:22px; }
.mcv-cnb-cta .mcv-cnb-byline,.mcv-cnb-cta .mcv-cnb-footerbar{ color:#ffffff; }
.mcv-cnb-cta .mcv-cnb-byline .dotsep{ opacity:.65; }
.mcv-cnb-trustband .kicker,.mcv-cnb-pt .kicker{ color:var(--crimson-light); }
.mcv-cnb-cta .kicker{ color:#ffffff; }
.mcv-cnb-cta .mcv-cnb-footermeta{ color:#ffffff; }
@media (max-width:560px){ .mcv-cnb-trustgrid,.mcv-cnb-seggrid{ grid-template-columns:1fr; } }

  .mcv-cnb-seggrid{ grid-template-columns:repeat(3,1fr); }
  @media (max-width:900px){ .mcv-cnb-seggrid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .mcv-cnb-seggrid{ grid-template-columns:1fr; } }

    
    
      
        
          
            [Home](/)/[ChowNow Clone](/chownow-clone/)/Business Model
          
          ChowNow Clone · Business Model
          
# ChowNow Clone Business Model: Predictability Is the Product

          
A restaurant paying a flat monthly fee can forecast its software cost. An operator billing flat monthly fees can forecast next month's revenue. That symmetry is the whole model, and it is why the second year of a partner is worth more than the first here, and why retention rather than acquisition is the number that decides the business.

          [Design My Revenue Model →](https://miracuves.com/schedule-consultation/)[See Pricing](/chownow-clone/development-cost/)
          
            **Both** models, one setting
            **6** revenue lines built
            **0%** taken by Miracuves
          
        
        
          Next monthKnown, not estimated
          
            Where the Money Comes From
            
              01Monthly subscription plans
              02Commission where it fits
              03Setup and onboarding fees
              04Delivery margin where you carry
              05Paid placement and campaigns
              06Diner membership
            
          
        
      
    
  

  
    
      
        6Revenue Lines Available
        2Charging Models, One Spine
        0%Taken by Miracuves
        $2,199One-Time, Fixed
      
    
  

  
    
      
        The Model
        
## Why a Flat Fee Wins the Restaurant

        
What owners object to about commission is rarely the amount. It is the shape.

      
      
A percentage rises exactly when a restaurant is doing well, which means the better their week the larger the bill, and that is the part that produces resentment rather than the absolute figure. A flat monthly fee costs the same in a busy month as a quiet one, so it can be budgeted alongside rent and staff instead of appearing as a variable deduction from every good day. Predictability is the product you are selling on this model, and it is why a restaurant will move onto a plan and then stay on it.

      
The second half of the argument is the customer record. Orders, addresses and repeat behaviour live in the platform you own and the restaurant is on, rather than in an aggregator that rents them their own diners back. Together those two arguments are what a commission-free operator actually sells, and neither of them is a feature you can bolt onto a marketplace afterwards. Both are structural: plans as priced objects that gate what a partner can do, and a customer record that stays where the order was placed.

      
Commission is still available, and for the newest restaurants it is often the right answer. Both models live in one billing spine with a guard that refuses to disable both at once, so store economics can never become undefined.

    
  

  
    
      
        The Lines
        
## Six Revenue Lines, One That Recurs

        
Every one of these is built. Which are switched on, and at what price, is yours.

      
      
        
### Monthly subscription plans

The headline model. Charge a restaurant a flat fee, build the packages yourself, price them, and decide what each one unlocks across the 258 routes of the store panel. Predictable for them and predictable for you, which is what changes what the business is worth as much as what it earns.

        
### Commission where it fits

A percentage per order for the partners who prefer it, usually the new ones with no volume to justify a fixed fee. Platform-wide or negotiated per restaurant, and it runs alongside plans rather than instead of them, which is what keeps the newest half of your market addressable.

        
### Setup and onboarding fees

A one-off charge for bringing a restaurant on: menu build, photography coordination and branding its ordering surface. The work happens whether or not you bill for it, and charging it filters for partners who intend to actually use what you are building for them.

        
### Delivery fee margin

Where you run riders, the difference between what the diner pays for delivery and what the run costs you, set per zone. Optional in a way it is not on a delivery-led platform, because plenty of restaurants here will deliver with their own staff or offer collection only.

        
### Paid placement and campaigns

Featured positions and promoted campaigns on the surfaces you control, sold to the restaurants that want more diners than their own audience brings. A secondary line, and a natural upsell to partners already paying you a plan fee.

        
### Diner membership

A customer-side membership carrying free or reduced delivery and member pricing. It adds a demand-side recurring line beneath the supply-side one, which on a platform whose revenue is otherwise entirely from restaurants is a useful second footing.

      
      
Miracuves takes no share of any of these and nothing is charged per restaurant, per outlet or per order. Every plan price, rate and fee is a setting in your own console.

    
  

  
    
      
        Category
        
## How Restaurant Software Businesses Actually Earn

        
The shapes that recur, and what each one genuinely requires before it produces anything.

      
      
        
| Approach | What it needs first | Where it breaks |
| --- | --- | --- |
| Monthly plans | A partner who believes before they see orders | Churn, because a fee is cancelled and a percentage is not |
| Commission per order | One restaurant and one diner | Resented most by the partners you most want to keep |
| Setup fees | Real onboarding work to point at | Raises the barrier at the exact moment of signing |
| Placement | Enough restaurants for position to matter | Awkward to sell to somebody already paying a fee |
| Delivery margin | Riders, and restaurants that want them | Irrelevant to the partners who deliver themselves |
| Diner membership | Diners who order across several restaurants | Weak if each restaurant's audience stays its own |

      
      
Row one carries the defining risk of this model. A percentage is deducted automatically and a subscription is a decision somebody makes again every month, which is why churn rather than acquisition is the number that decides whether the business compounds.

    
  

  
    
      
        Sequence
        
## Monetization Ranked by What You Already Have

        
On plan economics the sequence is about credibility rather than volume, because a partner pays before they have seen the platform work.

      
      
        
| What has arrived | What starts earning | Why it works at this point |
| --- | --- | --- |
| Your first restaurants, signed | Commission, not a plan | Nothing to forecast yet, so nothing to pay for a forecast |
| Orders arriving reliably | Plans offered to the partners with volume | A fee now saves them money, which is a provable claim |
| An onboarding process that takes real hours | Setup fees | You have work to point at, so the charge is defensible |
| Restaurants renewing at month three | Plans as the default offer | Retention evidence is what makes a plan sale repeatable |
| Riders, where you run them | Delivery margin per zone | Priced against local rider cost rather than a group figure |
| A crowded ordering surface | Placement, then diner membership | Upsold to partners already paying, once position is worth something |

      
      
Rows one and two are the sequence most operators invert. Leading with plans before you can show a restaurant what the platform does for them turns your first sales conversation into an act of faith, and faith churns.

    
  

  
    
      
        The Alternative
        
## What the Aggregator Costs a Restaurant

        
Six costs your sales conversation is built on. None of them appear on the aggregator's invoice either.

      
      
        **A bill that grows with success**A percentage takes more from a good month than a bad one, so the restaurant's reward for growing is a larger deduction. It is the shape rather than the size that owners object to, and it is the shape your model changes.
        **The customer record stays behind**Orders, addresses and repeat behaviour accumulate in the aggregator's database. A restaurant that leaves takes nothing with it, which means years of trading have built somebody else's asset rather than their own.
        **The listing is not theirs**Diners order from the aggregator, not from the restaurant, and the relationship belongs to whoever owns the surface. Giving each restaurant an ordering site in its own name is how that relationship stays where the food is cooked.
        **Counter trade invisible**Walk-in and phone orders happen outside the platform, so nobody's numbers describe the actual business. On your model that matters commercially, because a plan priced against total volume needs to see total volume.
        **Six outlets, six sets of numbers**A brand with several sites usually ends up with a listing each and a spreadsheet to add them up. One account with per-outlet reporting is a concrete, checkable advantage in a franchise sales conversation.
        **Terms they were not consulted on**Rates change, ranking changes, and neither is negotiated. Being the platform that publishes its prices and freezes charges at settlement is a positioning argument as much as a technical property.
      
      
These six are the pitch. The platform exists to make each of them literally true rather than rhetorically true, which is why the plan builder, the till and multi-outlet accounts are all in the base build.

    
  

  
    
      
        Priority
        
## Which Lever to Switch On First

        
A launch order that assumes a handful of restaurants and no track record to point at yet.

      
      
        
| Stage | Turn on | Leave off |
| --- | --- | --- |
| Launch week | Commission, one payment rail, the till | Plans, setup fees, placement, membership |
| Weeks two to six | The disbursement schedule and statements | Selling a forecast before you have a track record |
| Orders arriving reliably | Plans offered where they save the partner money | Moving everybody onto plans at once |
| Onboarding taking real hours | A setup fee that matches the work | A fee larger than the work you can show |
| Restaurants renewing | Plans as the default, commission as the entry | Retiring commission and losing new partners |
| A crowded surface | Placement, then diner membership | Selling positions to partners already paying a fee, badly |

      
      
Row five is the discipline. Commission is not a failure state to be phased out, it is the entry point that keeps the newest restaurants reachable, and operators who retire it stop signing the partners who become next year's plan revenue.

    
  

  
    
      
        Operators
        
## Three Ways Operators Run This Platform

        
The same deployment with a different revenue emphasis, not three different builds.

      
      
        
          A
          
### The commission-free challenger

          
Positioned directly against the aggregators, selling predictability and the customer record. Plans carry almost all the revenue, and the sales conversation is about what a restaurant currently pays as a percentage versus what a fee would cost them.

          
- Plans as the default, commission as the entry point
- The till included so total volume is visible
- Retention measured monthly, because a fee is cancellable

        
        
          B
          
### The franchise and group platform

          
Selling to brands with several outlets rather than to independents. One account with per-outlet menus, hours and reporting is the whole proposition, and the contract is annual rather than monthly, which changes the churn arithmetic entirely.

          
- Multi-outlet in the data model, not the interface
- Larger plans, longer commitments, fewer partners
- Onboarding is a project, so setup fees are substantial

        
        
          C
          
### The local ordering network

          
A town or district where the platform is shared infrastructure for independents who all deliver themselves or offer collection. Delivery margin barely features, plans and setup fees carry the model, and the diner membership works because people order across several restaurants.

          
- Fulfilment set per restaurant, often collection only
- Diner rewards travel across the whole roster
- Placement sold once the roster is genuinely crowded

        
      
      
These are illustrative operator shapes rather than forecasts or observed results. Every plan price, rate and fee in the model is one you set yourself.

    
  

  
    
      
        Mistakes
        
## Common Subscription Platform Mistakes

      
      
        
### Five that are expensive to undo

        
**Selling plans on day one.** A restaurant paying before it has seen a single order is buying a promise, and promises churn. Lead with commission, prove the platform, then offer the fee to the partners for whom it is now demonstrably cheaper.

        
**Retiring commission once plans work.** It looks like focus and it closes the door on every restaurant with no volume yet, which is where next year's plan revenue comes from. Both models exist in one spine precisely so you never have to choose.

        
**Pricing the plan against your costs.** The number a restaurant compares it to is what they currently pay an aggregator in percentage terms. Price against that, then check it covers you, rather than the other way round.

        
**Building a plan ladder with too many rungs.** Every tier needs something meaningful to gate, and gating trivia teaches partners that the ladder is arbitrary. Two or three tiers that clearly differ beat five that mostly do not.

        
**Treating churn as a support problem.** On this model the second year of a partner is worth more than the first, so somebody has to notice a restaurant going quiet before the renewal rather than after it. That is an account management function, not a ticket queue.

      
      
The first two are about sequencing rather than pricing, and both are decided in your first month of trading, which is why they get raised on day zero.

    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            How do I price a monthly plan?
            Against what the restaurant currently pays an aggregator, not against your own costs. An owner comparing your fee to a percentage is doing one sum: what would last month have cost me on each. Price so that answer favours you for a partner with real volume, then check the figure covers your own hosting, support and onboarding load. Since plans are objects rather than constants, a first guess that turns out wrong is corrected in the console rather than in a release.
          
          
            Should every restaurant be on a plan?
            No, and that is a feature rather than a compromise. A restaurant with no volume yet cannot justify a fixed fee and will decline, so commission keeps them reachable and keeps them earning for you while they grow. Both models live in the same billing spine, switched as a stored setting with a guard that refuses to disable both at once. The operators who do best run commission as the entry point and plans as the destination.
          
          
            Can I charge a setup fee?
            Yes, and most operators should. Bringing a restaurant on means building its menu, coordinating photography and branding its ordering surface, which is real hours per partner. A one-off onboarding charge covers that, and it does something else useful: it filters for restaurants who intend to actually use the platform, which on a retention-led model is worth more than the fee itself.
          
        
        
          
            What stops a restaurant being billed twice?
            Overlap locks on the billing run, and this matters more on this model than almost anywhere else. Recurring billing runs on cron-expression gates that read live settings, so a change to a cycle takes effect without a deployment. If a run is slow and the next one starts, the lock refuses it rather than letting both proceed. A duplicate charge across your restaurant base is not an inconvenience, it is how a year of signing partners undoes itself in one morning.
          
          
            What is not built on the billing side?
            Proration when a restaurant changes plan mid-cycle, trial periods, dunning sequences and retry ladders on failed charges. The base ships plans, cycles, entitlements, scheduled charging and the locks that keep it safe, which is enough to launch and run a first cohort honestly. What arrives with the second cohort is somebody wanting to upgrade mid-month and a card that declines, and at that point those become worth scoping. We would rather say so here than in month four.
          
          
            Does Miracuves take a share of plan revenue?
            No. The price is $2,199 once, and nothing is charged per restaurant, per outlet or per order. Recurring revenue is the entire point of this model, so taking a percentage of it would be taking a percentage of the only thing you are building. The plan builder, the billing cycle, the entitlements and the statements all sit inside a deployment you own outright, along with the source code that implements them.
          
        
      
    
  

  
    
    
      
        
## Model the plan against what they pay today

Bring what a restaurant in your market currently pays an aggregator and how many orders they do. We will work the plan price from there and tell you which of the six lines to leave off at launch.

        [Talk to Our Team](https://miracuves.com/schedule-consultation/)[Full Overview](/chownow-clone/)
      
    
  

  
    
      
        Explore
        
## Explore the ChowNow Clone

      
      
        [Overview](/chownow-clone/)
        [Features](/chownow-clone/features/)
        [Development Cost](/chownow-clone/development-cost/)
        [Development Company](/chownow-clone/development-company/)
        [Business Model](/chownow-clone/business-model/)
      
    
  

  
    
    
      
        
## Recurring revenue, on a platform you own outright.

        
Six revenue lines built, plans and commission sharing one billing spine, and no percentage of any of it routed anywhere but to you.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **September 10, 2026**
        
        
          Miracuves · ChowNow Clone Solution
          Revenue lines, rates and stated limitations cross-verified against the hub, 2026-09-10
        
      
    
  

				
				
				
				
						
					
			
						
				
					
  /* MIRACUVES - TRADEMARK / NON-AFFILIATION NOTICE (v3).
     Scoped under .mcv-tmn so it cannot collide with the hub connector (mcv-hubx-, mcv-hubxa-)
     or any block above it. Always the last block on the page, immediately before the footer.
     Structure is deliberate: one plain-language lead people actually read, then the three
     supporting positions split out so each is scannable rather than buried in a paragraph.
     Fonts are declared but not loaded: pages carrying the connector already have them, and the
     fallbacks are deliberate so this block never adds a render-blocking request. */
  .mcv-tmn{ font-family:'Plus Jakarta Sans',Arial,sans-serif; color:#191419; margin:0; padding:0; }
  .mcv-tmn *{ box-sizing:border-box; }
  .mcv-tmn-band{ background:#ffffff; padding:8px 0 76px; }
  .mcv-tmn-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
  .mcv-tmn-box{ background:#faf8f8; border:1px solid rgba(11,11,16,0.13); border-left:4px solid #a70d2a; border-radius:12px; padding:34px 38px; box-shadow:0 1px 2px rgba(25,20,25,0.04), 0 10px 30px rgba(25,20,25,0.05); }
  .mcv-tmn-head{ display:flex; align-items:center; gap:11px; margin:0 0 18px; }
  .mcv-tmn-dot{ width:8px; height:8px; background:#a70d2a; transform:rotate(45deg); flex:0 0 auto; }
  .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:13px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#a70d2a; }
  .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ margin:0 0 24px; font-size:20px; line-height:1.5; font-weight:600; color:#191419; max-width:56ch; letter-spacing:-.01em; }
  .mcv-tmn .mcv-tmn-box b.mcv-tmn-brand{ color:#a70d2a; font-weight:700; }
  .mcv-tmn-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px 36px; padding-top:24px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-col span.mcv-tmn-lbl{ display:block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8a8085; margin:0 0 8px; }
  .mcv-tmn .mcv-tmn-col p{ margin:0; font-size:14px; line-height:1.7; color:#453d42; }
  .mcv-tmn-foot{ margin-top:26px; padding-top:18px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-foot a{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; font-weight:600; letter-spacing:.04em; color:#a70d2a; text-decoration:none; border-bottom:1px solid rgba(167,13,42,0.32); }
  .mcv-tmn .mcv-tmn-foot a:hover{ border-bottom-color:#a70d2a; }
  @media (max-width:900px){
    .mcv-tmn-cols{ grid-template-columns:1fr; gap:22px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:18px; }
  }
  @media (max-width:600px){
    .mcv-tmn-band{ padding:4px 0 48px; }
    .mcv-tmn-box{ padding:26px 22px; border-radius:10px; border-left-width:3px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:17px; line-height:1.45; margin-bottom:20px; }
    .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-size:12px; letter-spacing:.16em; }
  }

  
    
      
        Disclaimer
        
Miracuves is an independent software development company. We are not affiliated with, connected to, sponsored by, or endorsed by **ChowNow**.

        
          
            Why this name
            
“**ChowNow** Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to ChowNow, and how clients search for it.

          
          
            Who built this
            
The entire design and codebase is built by our own team. The product contains no code, design, graphics, or content originating from the ChowNow website or applications.

          
          
            Trademarks
            
**ChowNow** and all other third-party names and marks are the property of their respective owners, referenced here solely to describe the category of software offered.

          
        
        [Read our full Legal Notice & Disclaimer →](/disclaimer/)
