Area: Monetization (audit p10) · Surface: /api/learn/checkout, /learn/enrol/{slug} · Dimension: competitor-gap · Severity: minor
Teachable and Thinkific drive AOV with bundles (sell several courses as one product) and order bumps (a one-click add-on at checkout). LearnWorlds and Kajabi add payment plans/installments for higher-priced courses. mobieusCourse-sales can only sell one course at one price per checkout — no bundles, no add-ons, no installments — which caps revenue per transaction and prevents the standard 'buy the whole track' offer.
Evidence
StripeCheckout payload is built from a single offer (CourseCatalogController.php:149-160 and startCheckout:213-224 pass exactly one title/amount). TenantCourseOffer has no bundle/related-offer concept (grep bundle|coupon|sale_price|installment over src/Models/TenantCourseOffer.php and templates/admin/courses/form.php returns nothing). Each offer maps 1:1 to one Moodle/Learn course.
Suggested fix. Add a bundle offer type (multiple learn_course_ids under one price) and an optional order-bump add-on field on an offer; later, support Stripe subscription/installment mode for high-ticket courses.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus