# Maple & Main Convenience · Member Points Platform Partnership Proposal

> Public LivePage template `proposal-marketing-platform` · Scene: Proposals & pricing · Industries: Retail / Media & marketing
> Anyone and any agent may read and adapt it; no account needed. Example content is fictional.
> Live page: https://space.24haowan.com/s/PYN0Szu9qSmW · Detail: https://space.24haowan.com/examples/proposal-marketing-platform

## What it is

Client proposal · A long-term platform partnership

## When to use it

You are negotiating a long-term partnership and have pilot data: answer the client's three biggest questions first, then settle the numbers with a pilot-vs-control chart, deployment options, an itemised quote and a launch schedule. For a single campaign or a lightweight quote, pick sample-client-proposal.

## What the user would say

Help me write a long-term partnership proposal for a client and send it as a web link. The header gives our company, the department it is addressed to, the document number and version, proposal date, partnership term, contact person and how long the quote is valid, and the title states the conclusion outright. Section one answers the client's three biggest questions, each in three lines: "question / one-line conclusion / one line of evidence". Then the pilot data: four key numbers plus a line chart of the pilot group against the control group (mark the gap in the final week; tapping a week shows its details), with the method spelled out below the chart. Next, the activity plan for the year by quarter, a comparison table of three deployment options (mark the recommended one; stack it vertically on a phone), an itemised quote (quantity × unit price = subtotal, and the total must add up), and a week-by-week launch schedule. End with "Your decision" as a form: choose a deployment option, choose a next step, add a sentence, and a send button; replies are stored in a data table. Use few shaded blocks, separate with thin rules, and use tabular figures for numbers.

If you don't have the LivePage connector (MCP) yet, read https://space.24haowan.com/for-agents.md first and follow it to connect, or publish without signing in.

## How to make your own

1. Read the entry file https://space.24haowan.com/examples/proposal-marketing-platform/source/index.html (and the other files below if it references them).
2. Keep the structure, layout and interactions; replace ALL content with the user's own. Company names, people and numbers in the template are fictional.
3. Deliver one self-contained HTML file (styles inline, no external fonts/scripts/CDNs) that looks right at 375px and 1440px wide, with dark mode if the template has it.
4. To turn it into a link that opens inside WeChat and keeps updating: connect LivePage (https://space.24haowan.com/for-agents.md) and publish; without an account the user can upload the file at https://space.24haowan.com/quick.
5. No LivePage tools but you can send HTTPS requests: POST the finished HTML (Content-Type: text/html) to https://space.24haowan.com/api/quick?client=template-proposal-marketing-platform — it returns a preview link, a 7-day share step and a claim link the user can keep after signing in.

## Page structure

- Three questions first
- Pilot results
- Campaigns all year
- Deployment options
- Price breakdown
- Live in four weeks
- Your call

## Files (public, plain text)

- https://space.24haowan.com/examples/proposal-marketing-platform/source/index.html (entry)
- https://space.24haowan.com/examples/proposal-marketing-platform/source/_data/decisions.json

## Once published on LivePage

- Passcode to view (a setting on the link, not in the page)
- Read receipts (who lingered longest on the quote section)
- The decision at the end writes back to a data table (native form POST ./_data/decisions)
- Revise on the same link: every version lives at one address

## Prepare before publishing

- Data table decisions (columns deploy / next / note, append_open=true): the "Your decision" form at the end writes here; create it with set_data before publishing
- Before sending to the client, set a passcode with set_visibility (passcode), and send the passcode and the link in two separate messages

## Template README

English edition of `core/space/examples/proposal-marketing-platform/` — the same document, section for section, with the story reset for international readers (EPIC #11418 · C7, C15). A heavier piece than `sample-client-proposal` (a single campaign): it's for a long-term partnership, answers the client's three biggest questions first, then settles the numbers with pilot data, deployment options, a price breakdown and a rollout plan. Quality bar: `core/space/examples/QUALITY.md` (§9 for the English edition). **All sample content is fictional.**

## Cast & setting

| | |
|---|---|
| Vendor | **Brightloop Interactive** — fictional loyalty-platform vendor; **Sofia Rossi**, solutions director (the name on the send button) |
| Client | **Maple & Main Convenience** — a fictional 326-store convenience chain across the Mountain West; the Loyalty & Membership team is the reader |
| Pilot | 24 Denver stores in matched pairs, Jul 27 – Sep 20; rollout starts with the 100 Denver stores, then all 326 |
| Money | USD; year one $228,840 (110,840 + 54,000 + 28,000 + 36,000); dedicated $282,840; on-premises $265,000 + $40,000/yr |
| Calendar | Black Friday week (Nov 27) is the deadline the rollout is built around; the year plan uses holiday season / game day / back-to-school |
| Channels | Email and the admin console; the proposal itself is a passcode LivePage link |

Keep the three in step: this table, the page text, and any sample rows you seed into `decisions`.

## What it demonstrates

**Passcode access + read receipts + the client's decision written back to a data table + revisions behind the same link.**

- **Passcode**: `set_visibility visibility:"passcode"`.
- **Read receipts**: each section name is the `data-track-section` on its `<section>`, so you can see how long the client stayed on "Price breakdown" and whether they reached "Live in four weeks".
- **"Your call" at the end**: a plain form `<form method="post" action="./_data/decisions">` (columns `deploy` / `next` / `note`); read replies with `list_data_rows table=decisions`.
- **Revisions behind the same link**: v3 and v4 are published on the same `proposal_id`, so the client's link never changes.
- The memorable part is the pilot-vs-control weekly repeat-rate chart in "Pilot results" (inline SVG with two sets of coordinates, the final-week gap marked, tap a week for details).

## Make it yours

| Where | What to change |
|---|---|
| Header | Your logo and name, document number and version, the department it's for, a headline that states the conclusion, proposal date / term / contact / quote validity |
| "Your three biggest questions" `.qa` | One row each: question / one-sentence answer `.a` / one piece of checkable evidence `.e` |
| "Pilot results" | Four `.fig` + the two line-chart SVGs (`.chart.wide` / `.chart.narrow`, one `<g class="p">` with `data-tip` per week); the axis starts at 15% — state the method under the chart. The tooltip sizes itself from the measured text width and is clamped inside the viewBox, so longer English lines don't spill out; the gap label `8.2-point gap` is right-aligned at x=694 (wide) / 313 (narrow) |
| "One foundation" and "Live in four weeks" `.rows` | The same grid; the row the client must act on gets `class="mine"` |
| "Three ways to deploy" | A `.tbl.deploy` table on desktop and `.cards` on phones — **change both** |
| "Price breakdown" | Quantity × unit price = subtotal, and the total must add up (110,840 + 54,000 + 28,000 + 36,000 = 228,840); change the total in "What does a year cost?" and in the share-card description too |
| "Your call" | One `fieldset.fq` per question; each radio `name` is a column name |
| Footer | Platform mark and product name (LivePage, `PRODUCT_EN` in `core/space/src/theme.ts`) |
| `manifest.json` | `title` / `share.*`; when you add or drop a section, change `sections` and the page's `id` / `data-track-section` together |

Section ids and the table name are identical to the Chinese pack — change one, change both.

## How to publish

```bash
export SPACE_TOKEN=sk-space-…            # MCP create_cli_token
node core/space/cli/space-cli.mjs push core/space/examples/en/proposal-marketing-platform \
  --proposal <proposal_id> --manifest core/space/examples/en/proposal-marketing-platform/manifest.json --note "v3" --hold
node core/space/cli/space-cli.mjs publish --version <version_id>
set_data  proposal_id: <id>  table: "decisions"  columns: ["deploy","next","note"]  rows: []  append_open: true  revision: 0
```

## Ground rules

- **It's a template, not a commitment**: deployment options, prices and schedule are example figures; the contract follows your actual quote.
- "Your three biggest questions" is where the craft is: a conclusion plus one checkable piece of evidence, not adjectives.
- Send the passcode and the link in two separate messages.
