XEQT × FCTP
A purpose-built operations system for Fly Cape Town — confirmed bookings via R 300 deposits, shareable branded videos delivered within two hours of landing, WhatsApp-first reschedules instead of phone marathons, Friday instructor payroll calculated automatically, and an offline-capable pilot PWA built for Signal Hill. Live and tested before the September peak.
XEQT will build and operate a custom operations platform for Fly Cape Town Paragliding, designed around the audit findings of 2 June 2026. The platform automates the highest-pain workflows identified in the audit — instructor payroll, branded video delivery within 2 hours of landing, R 300 deposit collection across Yoco / PayPal / PayFast, WhatsApp-driven booking reschedules, an offline-capable pilot PWA, auto-generated training certificates, and a CPA-compliant gift voucher system. Delivery is 12 weeks, live before the September high season.
Build your scope in Section 7. Commercial structure in Sections 8–11. Sign in Section 21.
The audit on 2 June 2026 identified five compounding operational drags, all currently absorbed by Malvern (bookings, changes & reschedules) through manual phone and WhatsApp work.
Each in-scope item in Section 3 maps directly to one of these drags, with measurable success criteria in the Definition of Done (Section 6).
All selected features ship in the same 12-week window at R 90,000 build + R 5,000 / month. Other items raised in the audit — accommodation referral platform, course landing pages, Google Calendar sync, multi-language booking flow — are parked in R2/R3 (see Section 4) and priced separately if and when FCT wants to extend.
The biggest time waster on your week disappears. Friday becomes the day you confirm next week's bookings — not the day you do maths.
Open Paragliding Logbook. Count jumps per pilot. Cross-reference video orders from messages. Subtract Cape Nature fee in your head. Re-check, because one missed entry means an awkward conversation with a pilot on Monday.
~3–4 hours every single Friday. Errors weekly. SARS reporting at year-end is a separate week of pain.
06:00 Friday morning, a per-instructor CSV lands in your inbox. Every jump counted. Every video order added. Cape Nature fee separated into its own ledger. One-click EFT batch upload to your bank. Pilots paid by 09:00.
Year-end SARS-ready report is one click. Your accountant sends a thank-you.
Friday 06:00, Erik can produce a per-instructor payroll CSV for the prior week in under 5 minutes, reconciling to within R 0 against manual calculation across 50 sample jumps.
90% of your customers want the video. Right now you give it to them in the worst possible way. Branded shareable links turn every flight into 50+ Instagram impressions for Fly Cape Town — across an audience you already command.
"Plug your phone in here… no, it needs 2GB free… AirDrop's not working… can you delete some photos…" Customer walks away with a copy of THEIR moment. The video lives on their camera roll until they delete it.
Your brand was on the canopy in the sky. It's nowhere in the file.
Ground crew drops the GoPro card into the landing-field tablet. Footage uploads in the background. Auto-edited 30–60s social cut with Fly Cape Town intro, music bed, and "Book yours" CTA lands in the customer's WhatsApp within 2 hours.
R 400 customers get the full raw + extended cut at the same link. Everyone shares.
flycapetown.co.za/v/{code} with Book Now CTA95% of flights have a shareable branded video link delivered to the customer within 2 hours of landing. Pilot has zero new tasks (upload happens via ground-crew tablet).
Every tourist who books you also books two competitors "just in case." You absorb the cost. A R 300 deposit changes the math — once they've paid, they're flying with you, not with whoever the wind favoured.
WhatsApp commitment, no card. Tourist double-books your competitors. Marginal weather morning, only one slot opens — at the operator who flies first. You hold a slot, lose a customer, eat the cost.
Friday's revenue is uncertain until Friday. International cards may decline at the last moment. Refunds are an argument waiting to happen.
Booking takes R 300 upfront via Yoco, PayPal, or PayFast. Deposit customers pay R 1,400 on the day — R 1,700 total, saving R 100. Pay-at-end customers pay R 1,800 on the day but lose guaranteed-slot priority on weather reschedules.
Failed payments trigger automatic escalation: WhatsApp first, email if no reply, staff call only if still nothing. Most lost bookings recover themselves before Malvern picks up the phone.
Booking flow accepts R 300 deposit via all three processors. Deposit customers' final amount calculates correctly at R 1,400 (R 100 saving applied). Refund policy displayed and acknowledged on confirmation. Failed-payment escalation ladder fires automatically; declined-card recovery rate measured monthly (target > 70%).
Right now every mass reschedule costs Malvern half a day. With XEQT, he approves one template, hits send, and watches 70% of customers confirm via WhatsApp in 30 minutes. The remaining 30% he calls — because they actually need a call.
5am wind check, no-go. 30 bookings to reschedule. Malvern picks up the phone. First call. Voicemail. Second call. Different time zone. Third call. They've already booked another operator. By lunchtime he's still on the phone, half of them haven't been reached, and bookings stall.
Malvern ticks the affected bookings. Picks a pre-approved WhatsApp template. Hits Send. Every customer gets a message with three quick-reply buttons: Accept new slot · Suggest another · Cancel and refund. By 06:00, 70% have replied. Malvern calls only the 30% who didn't.
70%+ of reschedule confirmations come back via WhatsApp without a staff call required. Staff call required only on read-no-reply, delivery failure, or customer request. Full audit trail per booking.
The irony of Signal Hill: it's where you fly, and it's where the signal disappears. With the XEQT PWA, every booking detail lives offline on the pilot's phone. The whole flight day runs from one tap — and syncs cleanly when coverage returns.
Pilot loads bookings from WhatsApp or memory. Looks up the customer's weight while the wind shifts. Tries to take a Yoco payment over patchy signal. Photos taken on the pilot's phone may or may not get uploaded later. Indemnity status: hopefully on the printed form in the bag.
Pilot opens the PWA before driving up — today's manifest pre-cached with every customer's weight, medical declaration, emergency contact, IndemniFly status. Mark each flight complete with one tap. Capture Yoco payment offline, queued. Photos auto-queue for the video portal. Drives down — everything syncs.
Pilot can complete a full flight day on Signal Hill with no cell signal: view manifest, mark each flight done, queue payments and uploads, sync cleanly on return to coverage. Tested on iOS Safari and Android Chrome.
A tandem flight at Fly Cape Town legally counts as 1 hour toward a SAHPA Basic License. Customers don't know this. With XEQT, every flight ends with a certificate in their inbox saying "1 of 35 hours logged" — and a follow-up email 30 days later asking if they want hour 2. Even at 1% conversion, that's R 400,000+ of pure course revenue per year, from customers you already had.
Customer flies tandem, gets video, leaves. No formal connection between the tandem and the courses page. They don't know their flight counts toward a license. Course revenue depends entirely on cold website traffic finding /paragliding-training/. The "what's next" conversation never happens.
Within 24h of every flight, customer receives a personalised PDF certificate: "1 of 35 training hours logged toward your SAHPA Basic License." Their name, the date, their instructor's signature, Signal Hill. 30 days later, an email: "Hey [name], your hour is still logged. Want hour 2?" Click-through goes straight to the courses page.
100% of completed flights generate a certificate PDF within 24h. 30-day follow-up fires automatically. Open-rate and click-through reported monthly; goal > 1% tandem-to-course conversion by month 6.
Right now gift vouchers are sold ad-hoc, tracked in your head. Tomorrow they're a managed product on the website. And quietly, this is also the system that lets you keep last-minute cancellation deposits — converted to vouchers under the Consumer Protection Act — so weather or wedding cold feet don't cost you revenue.
Gift vouchers sold via WhatsApp, tracked in your head. No central record of who bought, gifted, or redeemed. Customers cancelling within 48 hours either get a refund (revenue lost) or argue (relationship strained). Voucher rules and validity vary case-by-case.
Gift voucher store live on flycapetown.co.za — one-click purchase, choose recipient, custom message. PDF voucher emailed to the recipient, redeemable on any future booking. Customer cancels within 48h? Their R 300 deposit becomes a R 300 voucher in their name — CPA-compliant, 3-year validity, transferable, gift-able.
Vouchers purchasable from flycapetown.co.za with a one-click flow. Cancellations within 48h of flight time automatically convert deposits into vouchers per the published refund policy. Monthly statement shows outstanding voucher liability (R total, count) for accounting reconciliation.
Explicitly out of scope below. Any of these can be scoped & priced separately under the change-control process in Section 16, or contracted as a new engagement.
| Item | Why parked | Indicative path |
|---|---|---|
| Accommodation / hotel referral platform | Separate XEQT product. Not FCT IP. Confirmed in audit as XEQT-owned with FCT as anchor tenant. | Separate XEQT engagement; FCT joins as anchor partner under a referral-revenue split. |
| Public liability insurance procurement | Outside automation scope. Requires specialist broker, not platform work. | Recommended brokers: Adventure Underwriting Managers; Stewart Specialist; AON Sports & Events for international cover. |
| flycapetown.co.za content rebuild | Editorial & CMS work, not platform automation. Identified in Website Evaluation 2 June 2026. | XEQT will collaborate with FCT's existing designer or website manager at no charge to advise on content structure, IA, course / equipment / tour page rebuilds, and SEO fixes flagged in the Website Evaluation. Production work executed by FCT's chosen designer. |
| Multi-language (DE / FR / NL) booking flow | Worth doing for 70% foreign market; not blocking R1. | R2; per-language pack ~R 8K (translation + integration). |
| Wind / weather prediction model | Pilot already has a working decision process. No automation needed. | Not recommended. |
| Multi-operator scheduling | FCT is a single-pilot-owner shape today. Premature. | Revisit when team grows. |
Build kicks off mid-June 2026 (subject to signature), aiming for MVP go-live in early August and full handover by end of August — well clear of the September–April peak quarter.
| Week | Milestone | Payment trigger |
|---|---|---|
| W 0 | Proposal signed | 30% of build fee invoiced |
| W 2 | Discovery complete · technical design signed off | — |
| W 6 | F1 (payroll), F3 (payments), F4 (WhatsApp) in staging | 40% invoiced |
| W 9 | MVP soft-launch on live bookings | — |
| W 12 | Full handover · Definition of Done met · retainer starts month 13 | Final 30% invoiced |
Phase amounts are calculated from your selected scope — see Section 8.
WhatsApp Business API approval through Meta typically takes 1–4 weeks and is gated by Meta's policy review. Work begins in Week 1 to absorb this. If approval is delayed beyond Week 5, F4 timeline moves and a partial workaround (manual WhatsApp templates from Malvern) ships at W6, with full API automation at delivery.
The build phase is complete when all of the following are true and signed off by FCT.
Full bundle of 7 features is R 90,000 build + R 5,000 / month, VAT inclusive. Each feature has a fixed share of the total — untick optional features below to drop them from scope and the price reduces accordingly. F3 (Deposit & Payment) is strongly recommended — it's the booking foundation that unlocks F1, F2, F4 and F6. Untick it only if you intend to keep manual booking as-is and use the platform purely for downstream features.
At the full R 5,000 / month retainer, FCT receives 4 hours per month of custom automation development at no extra fee — built across the contract term to extend what the platform does after launch (the review management dashboard in Section 9 is the first example). Over the 24-month initial term, that's 96 hours of free custom development, worth approximately R 81,600 at the R 850/hr change-control rate. If the monthly retainer is reduced through customisation, the custom-automation allocation reduces proportionally.
FCT's chosen scope (full bundle or a customised subset) is confirmed in writing during Sprint 0 (Week 2 of the build) as a one-page Scope Confirmation attached to this proposal. The pricing comparison in Section 11 reflects this selection. All prices in this section are VAT inclusive (15%).
Single fixed price for the 12-week R1 build. No hourly billing, no surprises. Includes design, build, testing, deployment, handover documentation, and 30 days of post-launch hyper-care.
| Milestone | % | Amount (ZAR) | Trigger |
|---|---|---|---|
| Signature | 30% | R 27,000 | Within 7 days of signed proposal |
| MVP milestone (W6) | 40% | R 36,000 | F1 · F3 · F4 in staging, demoed and approved |
| Handover & DoD | 30% | R 27,000 | Definition of Done (Section 6) met & signed |
| Total | 100% | R 90,000 | All amounts VAT inclusive (15%) |
R 90,000 is priced aggressively for the scope you selected. It reflects (a) FCT being XEQT's flagship paragliding-industry case study, (b) the strong long-term recurring-revenue alignment, and (c) the relationship value. Scope discipline (Sections 4 & 16) is therefore strict — added scope will be quoted as change orders, not absorbed.
A flat R 5,000 / month, VAT inclusive (excluding pass-through third-party costs) starts the month after Definition of Done is met. Billed monthly in advance, payable within 14 days.
| Category | Included |
|---|---|
| Hosting & infrastructure | Cloudflare Workers / R2 hosting (XEQT VPS for n8n), DNS, SSL certificates, CDN. Pass-through costs (R2 storage, WhatsApp messages, payment processor fees) billed at cost. |
| Monitoring & uptime | 24/7 platform monitoring. Alerting on payment failures, video delivery failures, WhatsApp delivery failures, backup failures. Public-facing status page. |
| Backups & recovery | Daily encrypted backups to a separate cloud region. 30-day rolling retention. Monthly restoration test. Documented disaster recovery procedure. |
| Security & updates | Security patches, library updates, dependency upgrades. POPIA compliance maintenance. Annual penetration test on the booking + payment flow. |
| Bug fixes | All bugs (defined as: behaviour that doesn't match the signed acceptance criteria) fixed at no additional charge. Response within SLA (Section 13). |
| Minor change requests | Up to 4 hours per month of minor changes: tweaking templates, adjusting cron times, updating instructor splits, adding payment processor fees. Rolls over up to 8 hours. |
| Review management dashboard | Built and delivered post-go-live using the 4-hour monthly retainer allocation across the first 2–3 months after launch. Unified inbox for Google, TripAdvisor, and Facebook reviews; one-click reply templates; sentiment trend in monthly metrics report. |
| Quarterly business review | 90-min call each quarter: review metrics against baselines, surface opportunities, agree priorities for next quarter, decide change-order candidates. |
| Monthly metrics report | Auto-generated KPI snapshot to Malvern & Stephan first Monday of each month: jumps run, deposit conversion, average response time, no-show rate, video delivery rate, certificate sends, payroll savings vs. baseline. |
| Support | Direct line to Erik (erik@xeqt.co.za / WhatsApp). Office hours: Mon–Fri 08:00–18:00 SAST. Out-of-hours for production-down only (see SLA). |
The first 1,000 jumps per Operating Year are covered by the monthly retainer. From jump 1,001 onward, R 50 per jump, VAT inclusive, is invoiced monthly in arrears. This structure intentionally aligns XEQT's recurring income with FCT's growth — the platform should make more jumps possible, and XEQT shares in that upside.
| Annual jumps | Per-jump fee owed | Annual recurring total |
|---|---|---|
| 1,000 (baseline) | R 0 | R 60,000 (retainer only) |
| 2,000 | R 50,000 | R 110,000 |
| 3,000 | R 100,000 | R 160,000 |
FCT can choose between two pricing structures. XEQT recommends Option A for predictability, lower total cost, and a balanced commitment that protects both sides. Option B is offered for transparency — the per-jump-only model is simpler, but at the audit-confirmed volume Option B is more expensive in every single year, and the gap compounds.
| Year 1 — 2,000 jumps | R 200,000 |
| Year 2 onward — every year | R 110,000 |
| Year 1 — 2,000 jumps | R 230,000 |
| Year 2 onward — every year | R 230,000 |
| Year 1 | Year 2 onward | |
|---|---|---|
| Option A — 3-phase | R 200,000 | R 110,000 |
| Option B — per-jump only | R 230,000 | R 230,000 |
| Option B vs A | +R 30,000 cost | +R 120,000 cost (every year) |
Option A saves FCT approximately R 510,000 compared to Option B, while also giving you a predictable monthly cost regardless of how the weather year performs.
Option A. It is cheaper from Year 1 and the gap widens every year after — the difference is in the bottom-line table above. It also isolates platform operating costs (retainer) from jump-volume risk (per-jump fee), giving FCT a predictable monthly cost regardless of how the weather year performs.
Option B is offered for choice and transparency. If FCT elects Option B, all other terms in this agreement (IP, SLA, data, liability, termination, exit) apply unchanged — only Sections 8, 9, and 10 are replaced by the Option B commercials above. The chosen structure is recorded on the Signatures page (Section 21) and forms part of the binding agreement. All prices in both options are VAT inclusive (15%).
All source code, software architecture, designs, technical documentation, infrastructure-as-code, and derivative tools created in the course of this engagement remain the exclusive intellectual property of XEQT. This includes (without limitation) the booking engine, deposit / payment integration code, WhatsApp reschedule workflow, PWA application, video delivery portal, certificate generation engine, and instructor payroll automation.
XEQT grants Fly Cape Town Paragliding a perpetual, non-exclusive, non-transferable, worldwide licence to use the deployed platform for the operation of its paragliding business, for as long as the Operating Agreement (Sections 9, 10) is in force, plus the post-termination grace period (Section 18).
All customer data, booking records, flight logs, payment records, video footage, and other operational data produced by or relating to FCT's business is the exclusive property of FCT. XEQT processes this data as an Operator (per POPIA) and has no rights to use it for any purpose other than operating the platform for FCT.
XEQT may adapt, white-label, and resell the platform to other operators (including direct competitors of FCT) subject to the following: (a) no FCT customer data is shared, transferred, or used; (b) no FCT-specific branding or assets are re-used; (c) any FCT-specific configuration or workflow customisation remains exclusive to FCT for the duration of this agreement plus 12 months.
FCT retains full ownership of the Fly Cape Town name, logo, wordmark, and brand assets. XEQT's right to use these is limited to operating the platform on FCT's behalf and creating the case-study materials permitted under the Marketing Rights clause below.
FCT grants XEQT the right to: (a) publicly identify FCT as a client of XEQT; (b) publish an anonymised or named case study describing the engagement, scope, and measurable outcomes; (c) cite FCT as a reference for prospective XEQT clients. FCT retains review rights over any case study before publication. This right survives termination.
XEQT targets 99.5% uptime measured monthly across the booking, payment, and PWA services. Scheduled maintenance windows (announced 48 hours ahead, between 02:00–05:00 SAST) are excluded from uptime calculation.
| Severity | Definition | Response | Target resolution |
|---|---|---|---|
| P1 | Production down — bookings or payments not accepted; data loss risk | 1 hour, 24/7 | 4 hours |
| P2 | Major function impaired — WhatsApp delivery failing, payroll broken, video delayed > 6h | 4 hours, business hours | 24 hours |
| P3 | Minor function impaired or cosmetic | 1 business day | 1 week |
If monthly uptime drops below 99.0%, FCT receives a service credit on the following month's retainer: 10% credit at 95–99% uptime; 25% credit at 90–95%; 50% credit below 90%. Credits are FCT's sole and exclusive remedy for missed uptime targets.
FCT is the Responsible Party for all personal information processed through the platform (customer details, weights, medical declarations, payment data, video / photo content). XEQT is the Operator. A separate Data Processing Agreement (DPA) will be signed alongside this proposal, governing the relationship in detail.
All FCT data is hosted on the XEQT Hostinger VPS in Europe and Cloudflare R2 (multi-region with primary in Europe). FCT acknowledges and consents to cross-border processing under POPIA's adequacy provisions. Data residency can be migrated to a South African region on request as part of a change order.
XEQT discloses the following sub-processors at signing: Cloudflare (hosting, CDN, storage), PayFast (Instant EFT), Yoco (in-person card & SnapScan), PayPal (international), WhatsApp Business / Meta Platforms (messaging), OpenWeather (weather data), IndemniFly (existing FCT indemnity provider). Material changes to this list require 30 days' written notice.
Customer booking data retained for 7 years (SARS minimum). Raw video files retained 90 days. Branded social-cut videos retained indefinitely unless a customer requests deletion under POPIA Section 13. Personal data subject to right-of-erasure requests within 30 days.
XEQT will notify FCT in writing within 24 hours of confirming any unauthorised access to or disclosure of FCT data. Joint notification to affected data subjects and the Information Regulator will be made within 72 hours if required by POPIA Section 22.
Each party will protect the other's confidential business information (commercial terms, pricing, customer data, operational specifics) using the same standard of care as for its own confidential information, and no less than reasonable care. This obligation survives termination by 5 years.
Each party's total aggregate liability arising out of or related to this agreement is capped at the total fees actually paid by FCT to XEQT in the 12 months preceding the event giving rise to the claim. This cap applies regardless of the cause of action (contract, tort, statute, or otherwise) and to all claims in aggregate.
Neither party is liable for indirect, incidental, consequential, special, or punitive damages, including loss of profits, loss of business opportunity, loss of goodwill, or loss of anticipated savings, even if advised of the possibility.
The liability cap and excluded damages do not apply to: (a) FCT's obligation to pay fees due; (b) either party's indemnity for confirmed POPIA data breach caused by its own gross negligence or wilful misconduct; (c) IP infringement by either party.
Each party will indemnify the other against third-party claims arising from the indemnifying party's gross negligence, wilful misconduct, or breach of this agreement, subject to the cap above.
XEQT carries professional indemnity cover appropriate to the engagement value. Certificates available on request. FCT is responsible for its own public liability insurance for paragliding operations (out of scope — see Section 4).
Any request to add, remove, or materially modify scope items in Section 3, or to add scope items from Section 4 into R1, requires a written change order. Minor changes within the monthly retainer's 4-hour allowance (Section 9) do not require a change order.
Within 5 business days of a written change request from FCT, XEQT will provide a written change order describing scope impact, timeline impact, and cost (fixed price or hourly estimate). FCT signs to accept; XEQT begins work only after written acceptance. Change orders attach to and form part of this agreement.
Change orders priced hourly are billed at R 850 / hour in 30-minute increments, capped at any agreed maximum in the change order. Reviewed annually with the retainer rate.
This agreement commences on the date of signature and runs for an initial term of 24 months from the go-live date (estimated September 2026). After the initial term, it auto-renews for successive 12-month terms unless either party gives written notice of non-renewal at least 60 days before the renewal date.
After the initial 24-month term, either party may terminate for convenience on 60 days' written notice. During the initial term, FCT may terminate for convenience on 90 days' written notice subject to an early-termination fee equal to 50% of remaining retainer payments through end of initial term.
Either party may terminate immediately on written notice if the other: (a) is in material breach and fails to cure within 30 days of written notice; (b) becomes insolvent, files for liquidation, or is wound up; (c) commits a confirmed POPIA breach involving gross negligence and fails to remedy.
On termination: (a) FCT pays all fees accrued up to the termination date plus any early-termination fee; (b) the transition period in Section 18 begins; (c) confidentiality, IP, and liability cap obligations survive.
On termination (or earlier on request), XEQT will provide FCT with a complete export of all FCT data within 14 days: customer records, booking history, payment ledger, video assets, flight logs, all in machine-readable formats (CSV / JSON for data; original file formats for media). No additional fee for one export per termination event.
For 90 days after termination, FCT may continue to use the deployed platform instance to operate the business while migrating to a replacement, at the standard retainer rate. After 90 days, the instance is decommissioned and data deleted per the retention policy.
XEQT will provide reasonable transition support to a successor provider (or in-house team) at the standard hourly rate (R 850), capped at 40 hours total without further agreement. This covers documentation review, knowledge transfer calls, and migration consultation. Does not include rebuilding code in a different stack.
For clarity: the source code remains XEQT IP (Section 12) and is not transferred to FCT or any successor provider on termination. FCT receives its data, documentation, and the right to continued use during the grace period. This is standard SaaS practice.
Neither party is liable for failure to perform caused by events beyond reasonable control: natural disasters, war, terrorism, governmental action, third-party platform outages (Meta, payment processors, Cloudflare), pandemic, or extended internet outages. The affected party will notify the other promptly and resume performance when possible.
This agreement is governed by the laws of the Republic of South Africa. The parties submit to the non-exclusive jurisdiction of the High Court of South Africa, Western Cape Division, Cape Town.
The parties will attempt good-faith negotiation for 30 days before any litigation. If unresolved, disputes < R 200,000 in value go to mediation under the rules of the Arbitration Foundation of Southern Africa (AFSA). Larger disputes proceed in the High Court.
Notices may be given by email to the addresses below and are deemed received on the next business day. Material notices (termination, breach, indemnity claims) must also be sent in writing to the registered business address of the receiving party.
Neither party may assign this agreement without the other's prior written consent, except either party may assign on notice to a successor entity acquiring substantially all of its business or assets.
During the term and for 12 months after termination, neither party will directly solicit the employment of the other's employees or contractors involved in this engagement, without prior written consent. General job advertisements not targeting specific individuals are excluded.
This proposal, the attached Data Processing Agreement, and any signed change orders constitute the entire agreement between the parties. They supersede all prior discussions and representations. Variations require written signature by both parties.
If any provision is held unenforceable, the remainder continues in full force. The parties will negotiate a replacement provision that gives effect to the original intent.
This agreement may be signed in counterparts and by electronic means (including DocuSign, Adobe Sign, or scanned PDF). Each counterpart is an original; together they form one agreement.
This document is a commercial proposal and SaaS agreement. Both parties are encouraged to obtain independent legal review before signing. Signing constitutes acknowledgement that each party has had the opportunity to do so.
Leave notes against specific sections for the record. Notes save as you type, appear in the printed PDF on this page, and are captured in the audit trail when you sign in Section 21.
Notes are non-binding additions to the agreement — they do not override the clauses in Sections 1–19 or 21. Open questions captured here should be discussed and either resolved or formalised via a change order (Section 16) before delivery starts.
This electronic signature is binding per Section 19 (Counterparts & Electronic Signature). On signing, a tamper-evident audit trail is captured — timestamp, time zone, locale, browser fingerprint, GPS coordinates if granted — and rendered into the printed PDF.
1. Deposit invoice (R 27,000 for Option A; first per-jump invoice for Option B) issued within 24 hours.
2. Separate POPIA Data Processing Agreement countersigned within 7 days.
3. WhatsApp Business API application submitted Week 1 (Meta approval is the critical-path item).
4. Joint kickoff call scheduled with Malvern, lead pilot, Stephan, and Erik in Week 1.