Lam Meem

Lam Meem Platform User Guide

This guide explains Lam Meem step by step: shaping a product idea, building a storefront, publishing the offer, accepting payments, and supporting customers after purchase. Lam Meem is more than a landing page or course repository; it is an Arabic-first commerce workspace for creators, coaches, consultants, and training businesses in Saudi Arabia and the GCC, combining products, storefront, checkout, booking, customer library, and analytics.

Arabic-first · RTL-ready Saudi & GCC markets From idea to sale in one place

Getting Started

Start here to understand what Lam Meem is built for, how it differs from generic tools, and which part of the guide to read first. Developer setup notes are included later in this section only for teams reviewing the platform locally.

Purpose

Give you a clear starting point before entering detailed product, storefront, and dashboard workflows.

When to use

When this is your first pass through Lam Meem or you want to decide which section matters most.

What Lam Meem Provides

Product creation

Courses, consultations, memberships, downloads, events, bundles, and cohort programs with type-specific settings.

Ready-to-sell storefront

Shareable storefront and product pages with templates for education, consulting, coaching, and services.

Checkout and booking

Clear purchase flow, Moyasar payments, coupons, appointment booking, and post-payment confirmation.

Customer library

One place for buyers to access lessons, files, booked sessions, progress, messages, and certificates.

Management and growth

Orders, customers, messages, analytics, automations, campaigns, and funnels after launch.

AI assistance

Help with product descriptions, course outlines, storefront copy, quizzes, summaries, and lesson planning.

Why It Is Different

Built for Saudi and GCC markets

Arabic-first UX, local terminology, regional buyer expectations, and payment flows designed around the market.

More than a website builder

Sales pages connect directly to checkout, library access, booking, customers, and analytics.

More than a course platform

Sell consultations, memberships, files, events, services, and bundles alongside courses in one workspace.

Starts from the product idea

The workflow helps you choose the right product, shape the offer, set pricing, publish, and track the first orders.

How to use this guide

New creator

Begin with demo accounts, create one simple product, then use the publishing checklist before sharing the link.

Buyer flow testing

Open the demo storefront, try checkout or booking, then sign in to the customer library to verify access.

Developer setup

Run the setup commands, enable mock checkout, and use seeded accounts to test flows without production integrations.

Prerequisites

  • Node.js ≥ 22
  • PostgreSQL database
  • Environment file copied from .env.example

Quick start

  1. Install dependencies and generate the Prisma client: npm run setup
  2. Apply database migrations: npm run db:migrate -w @ellm/db
  3. Seed demo data: npm run db:seed
  4. Start the dev server for local testing: npm run dev → open http://localhost:3000 locally. Public links use https://lammem.com.
Tip: AI features run in stub mode without API keys, returning deterministic Arabic demo output for UI testing. Set OPENROUTER_API_KEY for live text generation and OPENAI_API_KEY for images and transcription.
Official domain: Public platform links use https://lammem.com. Storefront and product examples in this guide should be read on that domain, for example https://lammem.com/s/growth-club.

Demo Accounts

After seeding, use these accounts to switch between roles and understand the difference between the creator dashboard and the customer library.

Purpose

Test the platform quickly from different user roles without creating new accounts.

When to use

When reviewing UI, testing checkout, or training a team on dashboard workflows.

Role Email Password Lands on
Creator / Owner creator@example.com password123 Dashboard (لوحة التحكم)
Customer / Student student1@example.com password123 Library (مكتبتي)
Coaching student coaching.student@example.com password123 Library with booked sessions
Admin team member admin@example.com password123 Dashboard (limited nav)
Support team member support@example.com password123 Dashboard (support nav)

The seeded workspace storefront is Growth Club (نادي النمو) at slug growth-club.

What to try first (5-minute tour)

  1. Open the demo storefront: https://lammem.com/s/growth-club — note how buyers see products and offers.
  2. Log in as creator@example.com → review dashboard metrics and the sidebar grouped by workflow.
  3. Open Products → click an existing course → review editor tabs and the publish checklist.
  4. Log in as student1@example.com → open /library and play a lesson to see the student experience.
  5. Book the demo consultation at https://lammem.com/p/growth-club/consultation-30min, then confirm the session appears in the library.

Seeded Demo Stores (Use Cases)

Beyond the default Growth Club workspace (growth-club), the repo ships ready-made storefronts for common Saudi verticals — clinics, fitness, consulting, academies, digital templates, and venue rentals. Use them to explore templates, sales pages, and booking flows without building a store from scratch.

Purpose

Connect the guide to real workspaces in the demo database instead of fictional examples only.

When to use

Team training, investor demos, or comparing storefront templates by industry.

Enable the data: Core stores come from npm run db:seed -w @ellm/db. The 33 KSA vertical workspaces come from npm run db:seed-ksa-verticals -w @ellm/db — see packages/db/prisma/SEED-KSA-VERTICALS.md. Password for all accounts: password123.

Core stores (main seed)

StoreSlugDashboard ownerCouponURL
Growth Club growth-club creator@example.com LAUNCH25 /s/growth-club
Riyadh Academy riyadh-academy academy@example.com RIYADH15 /s/riyadh-academy
Riyadh Academy demo storefront
Riyadh Academy — courses, workshops, career coaching, and digital products

KSA vertical gallery (selected examples)

Each card below is a common use case. Log in with the owner email to open that workspace in the dashboard.

Ibtasima Dental clinic

Ibtasima Dental — service booking

ibtasima-dental · clinic-bookings template · ibtasima@example.com · IBTASIMA10

Checkups, orthodontics, whitening — appointment-based services.

Storefront · Service page

Fit Riyadh gym

Fit Riyadh — fitness & memberships

fit-riyadh · fitness-studio template · fit.riyadh@example.com · FITRIYADH10

Group classes, personal training, and monthly memberships.

Storefront

Masar Consulting

Masar Consulting — business growth

masar-consulting · coaching-practice template · masar@example.com · MASAR10

Strategy sessions, operations audits, and digital playbooks.

Storefront · Book session

Bridge Language Institute

Bridge Language — course academy

bridge-language · course-academy template · bridge@example.com · BRIDGE20

IELTS prep courses and private lessons — classic academy layout.

Storefront

Ihtiman Institute

Ihtiman Institute — certifications & cohorts

ihtiman-institute · course-academy template · ihtiman@example.com · IHTIMAN20

PMP, SHRM, exam banks, and corporate cohort enrollment.

Storefront

Templates Store

Templates Store — digital downloads

templates-store · digital-products template · templates@example.com · TEMPLATES15

Notion & Canva packs — instant download and monthly membership.

Storefront

Malikiyah Venues

Malikiyah Venues — facility rentals

malikiyah-venues · facility-rentals template · malikiyah@example.com · MALIKIYAH10

Wedding halls and conference rooms — daily pricing and bundles.

Storefront

Hudoo Space mental health

Hudoo Space — mental health coaching

hudoo-space · coaching-practice template · hudoo@example.com · HUDOO15

Therapy and counseling sessions — virtual booking.

Storefront

Clinic service product page
Service product page — dental checkup with booking panel (Ibtasima)
Consulting booking page
Coaching product page — slot picker before checkout (Masar)

Map scenarios to seeded stores

Guide scenarioMatching demo storeWhat to try
1 — Fitness trainer launches a coursefit-riyadh or bridge-languageCourse/membership catalog · video content · coupons
2 — Consultant sells sessionsmasar-consulting · growth-club30–90 min booking · intake form · library session card
3 — Training center cohortihtiman-institute · riyadh-academyCertification/cohort · capacity · drip content
4 — PDF template packtemplates-storeInstant download · free sample · monthly membership

Full list (33 stores): packages/db/prisma/SEED-KSA-VERTICALS.md and packages/db/prisma/SEED-USERS.html — owner emails and URLs for every workspace.

User Journeys

This section summarizes the main end-to-end journeys in Lam Meem. Use it as a quick map before reading the detailed sections: what the store owner does, what the customer sees, and how product, checkout, library, and dashboard data connect.

Purpose

Show the practical paths that repeat across most platform use cases.

When to use

When explaining Lam Meem to a new team, reviewing customer experience, or testing a full journey before launch.

Journey overview

Store owner

Shapes the idea, creates the product, configures the storefront, publishes, and follows up on orders.

Customer

Browses, buys or books, then opens the library to access content or sessions.

Checkout

Connects the offer to the order and access record, then appears in orders, customers, and analytics.

Growth

After purchase, follow-up continues through analytics, campaigns, automations, and affiliates.

Store owner journey: idea to first sale

Launch path

flowchart LR
  idea["Idea or expertise"] --> type["Choose product type"]
  type --> build["Create product"]
  build --> store["Customize storefront"]
  store --> publish["Publish checklist"]
  publish --> share["Share link"]
  share --> order["First order"]
  order --> followup["Customer follow-up and analytics"]
          
Expected outcome
You have a published product, a shareable link, a clear offer, and a buyer journey you can test end to end.

Customer journey: browse to access

Purchase and learning path

sequenceDiagram
  participant Buyer
  participant Store
  participant Checkout
  participant Library
  Buyer->>Store: Opens storefront or product page
  Store-->>Buyer: Shows details and price
  Buyer->>Checkout: Buys or books
  Checkout-->>Library: Grants access
  Library-->>Buyer: Shows lessons, files, or sessions
          
Practical test: Open a product page in a private window, complete checkout or booking, then sign in as the customer and confirm the product appears in /library.

Booking journey: consultation or service

Availability to session

flowchart TD
  setup["Create bookable product"] --> availability["Set availability"]
  availability --> intake["Attach optional intake form"]
  intake --> productPage["Product page"]
  productPage --> slot["Buyer selects slot"]
  slot --> payment["Checkout"]
  payment --> customerSession["Session in customer library"]
  payment --> teamSession["Session in team dashboard"]
          
Expected outcome
The buyer sees available slots, books and pays, then the session appears in their library and in the team's sessions dashboard.

Subscription journey: recurring membership

Membership states

stateDiagram-v2
  [*] --> Trial
  Trial --> Active: first successful payment
  Active --> Active: renewal succeeds
  Active --> PastDue: renewal fails
  PastDue --> Active: payment updated
  PastDue --> Cancelled: grace period ends
  Active --> Cancelled: cancellation
          

Use this journey for ongoing access products such as monthly memberships, communities, refreshed content, or resource libraries.

Team journey: invite to permissions

Team member lifecycle

flowchart LR
  invite["Invite member"] --> role["Choose role"]
  role --> permissions["Customize permissions if needed"]
  permissions --> nav["Sidebar adapts to access"]
  nav --> work["Daily work"]
  work --> audit["Review audit log"]
          
Rule of thumb: Start with the narrowest role that fits, then add specific permissions if needed. See Team Roles for details.

Scenarios & Worked Examples

Practical walkthroughs based on common Saudi and GCC use cases, showing how creators move from product idea to sale and customer follow-up. Each scenario includes concrete field values, URLs, and expected outcomes.

Purpose

Connect multiple screens into realistic launch examples instead of explaining features in isolation.

When to use

When you want to understand how a full product goes from setup to first sale.

How the platform fits together

Think of Lam Meem as two connected journeys: the buyer journey on the public storefront, and the store management journey in the dashboard. When you publish a product, the public sales page updates and becomes ready to share.

Buyer Journey

1. Storefronthttps://lammem.com/s/{slug}Buyer browses catalog and selects a product.
2. Product Page/p/{slug}/{product}Buyer reviews details, price, curriculum, or available slots.
3. Checkout or Booking/checkout/{offerId}Buyer pays through Moyasar or selects a booking slot first.
4. Customer Library/libraryBuyer accesses lessons, files, sessions, and certificates.

Store Management Journey

1. Dashboard/dashboardManage products, orders, customers, and settings.
2. Product EditorContent + offersConfigure copy, price, lessons, booking, and visibility.
3. Publish ChecklistVerify before sharingConfirm cover, offer, description, and required content.
4. Sales PageUpdates on publishEditor changes become visible to buyers on the storefront.

Platform Loop

flowchart LR
  idea["Product idea"] --> editor["Create and edit product"]
  editor --> store["Storefront and sales page"]
  store --> checkout["Checkout or booking"]
  checkout --> library["Customer library"]
  checkout --> orders["Orders and customers"]
  orders --> growth["Analytics and growth"]
  growth --> editor
          

Scenario 1 — Fitness trainer launches an online course

Persona: Sara runs a gym and wants to sell a 4-week home workout program in Arabic.

StepActionExample values
1Settings → GeneralWorkspace name: «استوديو سارة للياقة» · slug: sara-fitness
2Products → New → AI pathPrompt: «دورة تمارين منزلية 4 أسابيع للمبتدئين، 12 درس فيديو، 299 ريال»
3Review AI draft → ApplyTitle: «برنامج اللياقة المنزلية — 4 أسابيع» · Price: 299 SAR
4Content tab3 modules: «الأسبوع 1»، «الأسبوع 2»، «الأسبوع 3–4» — 4 lessons each
5Upload videosMedia library → attach main video per lesson
6Settings → CertificatesEnable completion certificate with QR
7PublishStatus → Published · Preview at /p/sara-fitness/home-fitness-4w
8MarketingCreate coupon LAUNCH20 — 20% off, max 100 uses
Expected result
Buyers see the course on the storefront catalog, purchase with card/mada (or mock in dev), land in /library with progress tracking, and receive a certificate after finishing all lessons.
Matching demo store
fit-riyadh (fitness memberships) or bridge-language (IELTS courses) — see Seeded Demo Stores.

Scenario 2 — Business consultant sells 30-minute sessions

Persona: Ahmed offers strategy consultations for Saudi SMEs.

StepActionExample values
1Create product → type coachingTitle: «استشارة استراتيجية — 30 دقيقة» · Price: 450 SAR
2Overview → BookingDuration: 30 min · Sessions included: 1 · Virtual (Zoom link in location)
3Settings → AvailabilitySun–Thu 10:00–18:00 · 30-min slots · 15-min buffer between sessions
4Settings → Intake formLink form: company name, challenge, revenue band
5IntegrationsConnect Google Calendar to block busy times
6AutomationsTrigger: booking confirmed → WhatsApp reminder 24h before
7Publish & testBook as guest on storefront → complete mock checkout
Demo reference
masar-consulting90-min strategy session · or Growth Club: https://lammem.com/p/growth-club/consultation-30min — try slot picker and checkout without creating a product from scratch.

Scenario 3 — Training center runs a fixed-start cohort

Persona: «Growth Club» runs a 6-week leadership program with 25 seats.

StepActionExample values
1Create → type cohortStart: 2026-09-01 · Capacity: 25 · Price: 2,500 SAR
2Content tabWeekly modules aligned to cohort schedule — drip release each Sunday
3Settings → DripRelease module N on day (N−1)×7 after enrollment
4Audience tabMonitor enrollments — manually grant access for corporate invoices if needed
5MessagesWeekly announcement to enrolled cohort via dashboard inbox
Matching demo store
ihtiman-institute (corporate Q4 cohort) or riyadh-academy (workshops & courses) — Seeded Demo Stores.

Scenario 4 — Creator sells a PDF template pack

Persona: Nour sells Notion/Excel templates for freelancers.

StepActionExample values
1Quick create → digital_downloadTitle: «حزمة قوالب المستقل» · Price: 79 SAR
2Content → Files tabUpload PDF guide + ZIP of templates (max per plan)
3Overview → DescriptionMarkdown list of what's included + preview screenshots
4PublishInstant download in library after payment — no lesson player needed
Matching demo store
templates-store — Notion pack, free sample, and monthly membership — /s/templates-store.

AI prompt examples that work well

Use these as starting points in the AI creation path or product editor suggest buttons. The best prompts name the product type, audience, promised outcome, format, and price.

Product typeSample prompt (Arabic)What AI generates
course«دورة تسويق رقمي للمبتدئين — 8 دروس — جمهور أصحاب مشاريع صغيرة — 399 ريال»Title, 3–4 modules, lesson titles, sales description
coaching«استشارة تغذية 45 دقيقة أونلاين — للنساء — 200 ريال»Title, short summary, suggested price, category
membership«عضوية شهرية لمحتوى حصري — فيديوهات أسبوعية + مجتمع — 49 ريال/شهر»Subscription framing, benefits list
event«ورشة حضورية في الرياض — 20 مقعد — 15 سبتمبر — 350 ريال»Event copy, capacity hints
digital_download«دليل PDF لإعداد متجر إلكتروني — 50 صفحة — 59 ريال»Title, bullet benefits, description
Tip: Include audience, outcome, format, and price in every prompt — the more specific, the less editing after «Apply to product».

Landing Page

The public marketing site at / introduces Lam Meem to prospective creators. It is bilingual (AR/EN), with RTL layout and Saudi-friendly Arabic terminology in the Arabic version.

Purpose

Explain how the public site presents Lam Meem before a user signs up or enters the dashboard.

When to use

When reviewing positioning, copy, persona tabs, and the main acquisition path.

Lam Meem landing page
Landing page — hero, product-type tabs, and platform tour CTA

Key sections

  • Hero — Value proposition with persona tabs (trainer, consultant, content creator)
  • How it works — Step-by-step journey from idea to launch
  • Product types — 10 supported product formats
  • Store templates — Industry-specific storefront presets
  • Platform capabilities — Payments, AI, automations, analytics
  • FAQ — Common questions for Saudi/GCC creators

Actions

  • ابدأ مجانًا (Start free) → Sign up at https://lammem.com/auth?mode=signup
  • تسجيل الدخول (Log in) → https://lammem.com/auth
  • Language toggle (AR / EN) in the header
  • Light/dark theme toggle

Who the landing page is for

Trainers & coaches

Sell courses, cohorts, and 1:1 sessions — highlighted in persona tabs

Consultants

Bookable consultations with intake forms and calendar sync

Training centers

Multi-product catalogs, locations, certifications

Digital creators

Downloads, memberships, bundles

Authentication

Lam Meem separates creator and customer sign-in so dashboard users do not get mixed with buyers accessing their library.

Purpose

Clarify which login path belongs to store owners, team members, and customers.

When to use

When testing redirects after login or explaining which sign-in URL each user type should use.

Creator login
Creator login — /auth
Creator signup
New account — /auth?mode=signup
Customer library login
Customer library login — /auth/customer

Creator auth (/auth)

Three tabs:

  • دخول (Log in) — Email + password for workspace owners and team
  • حساب جديد (New account) — Sign up with name, email, password, legal consents
  • جوال (Mobile) — Phone-based auth (when configured)

The تعبئة الحساب التجريبي (Fill demo account) button auto-fills creator@example.com in development.

Customer auth (/auth/customer)

Buyers who purchased products sign in here to access their library. Button: الذهاب إلى مكتبتي (Go to my library).

Routing rule: If a customer logs in via /auth (creator form), they are redirected to /library, not the dashboard.

Example: new creator signup

  1. Click ابدأ مجانًا on landing → /auth?mode=signup
  2. Enter name, email, password (min 8 chars)
  3. Accept terms and privacy policy checkboxes
  4. Submit → onboarding wizard opens (workspace name, industry template)
  5. Complete or skip (تخطي) → land on empty dashboard ready for first product

Storefront (Buyers)

Each workspace gets a public storefront at /s/{workspace-slug}. This is the link creators share in campaigns, WhatsApp, social profiles, and ads. Demo: https://lammem.com/s/growth-club

Purpose

Explain what buyers see before purchase: storefront, catalog, product pages, and booking pages.

When to use

Before sharing a store link or reviewing the buyer path from browsing to product detail.

Growth Club storefront home
Storefront home — hero, stats, product catalog

Navigation

  • المنتجات — Product catalog with search and filters
  • التصنيفات — Category filter dropdown
  • دخول مكتبتي — Customer library sign-in
  • Section anchors: results, stats, trust, FAQ, CTA

Product pages

Individual products live at /p/{workspace-slug}/{product-slug}. Use these pages to explain benefits, show curriculum or availability, and send buyers to checkout or booking.

Product landing page
Course product page — curriculum, pricing, purchase CTA

Bookable products (consultations)

Consultation booking page
Consultation product — calendar slot picker and booking flow

Demo consultation: https://lammem.com/p/growth-club/consultation-30min

  1. Browse available time slots on the product page
  2. Select a slot — a hold is placed in your cart
  3. Proceed to checkout and complete payment
  4. Receive confirmation; session appears in your library

Checkout & Booking

Unified checkout for courses, downloads, memberships, and bookings. The buyer starts on a product page (/p/{slug}/{product}), reviews the offer and price, then finishes on a thank-you page with instant library access.

Purpose

Show what happens from clicking buy or book to payment confirmation and library access.

When to use

When testing checkout, coupons, refunds, bookings, or Moyasar production setup.

Checkout and Access Sequence

sequenceDiagram
  participant Buyer
  participant Store
  participant Pay as Moyasar
  participant Library
  participant Dashboard
  Buyer->>Store: Click Buy or Book now
  Store->>Pay: Send offer and amount
  Pay-->>Store: Payment confirmed
  Store->>Library: Grant product access
  Store->>Dashboard: Record order and customer
  Library-->>Buyer: Open content or session
          

Buyer journey (step by step)

  1. Open the product page on your storefront → click Buy or Book now
  2. Checkout opens at /checkout/{offerId} — review offer and price
  3. Enter name and email (or sign in if already a customer)
  4. Apply coupon code if available
  5. Complete payment (Moyasar or mock checkout in dev)
  6. Thank-you page → order confirmation + library link
Product page purchase CTA
Product page — purchase button routes to checkout
Checkout form
Checkout — buyer details, coupon, payment method

Thank-you page

After successful payment (or free enrollment), buyers land on /thank-you/{orderId} with order summary, library link, and optional password setup for first-time buyers.

Order thank-you page
Thank-you — confirmation, instant library access, order summary
ElementWhat the buyer sees
Confirmation messageOrder confirmed with product name
My library linkDirect access to enrolled content
Download filesFor digital_download products — immediate file links
Set passwordFirst purchase only — create password for future logins
Order summaryProduct, seller, order ID for support
Offer vs product
Checkout URLs use /checkout/{offerId}, not the product ID. A product can have multiple offers (full price, installment plan, free trial). The active default offer is used when buyers click «Buy» on the storefront.

Mock checkout (local dev)

In development, set ALLOW_MOCK_CHECKOUT=true in your env file to complete purchases without Moyasar keys. A Complete mock checkout button appears instead of the card form.

Local dev: After mock checkout a buyer session is created automatically — sign in at /auth/customer with the same email or go straight to the library.

Moyasar setup (production)

Use Moyasar when you are ready to accept real Saudi payments such as mada, cards, and Apple Pay.

  1. Create a Moyasar account and get an API key
  2. Dashboard → SettingsIntegrations
  3. Enter your Moyasar key and save — see Integrations screenshot
  4. Enable payment methods in the Moyasar dashboard (mada, Visa, Apple Pay)
  5. Test a small real purchase on your storefront
Consultation booking page
Bookable product — pick a slot before checkout

Booking-specific

  • Buyer selects a calendar slot on the product page before checkout
  • Slot holds expire after a configurable window if payment is not completed
  • Intake forms may appear before checkout for coaching products
  • Physical locations show on map for in-person services
  • After confirmation the session appears in the customer library
  • Google Calendar sync available for creators (Settings → Integrations)

Example: buying a course with a coupon

  1. Open https://lammem.com/p/growth-club/launch-digital-product → click purchase CTA
  2. On checkout, enter email (or sign in)
  3. Enter coupon code if set (e.g. WELCOME10 from Coupons page)
  4. In dev with ALLOW_MOCK_CHECKOUT=true, click complete — no real card needed
  5. After confirmation → sign in at /auth/customer → course appears in library

Refunds

Dashboard → Orders → open order → Refund. Full refunds may revoke library access depending on your product settings. See Sales & Orders for details.

Payment methods (production)

MethodRegionNotes
madaSaudi ArabiaPrimary debit card network — configure in Moyasar dashboard
Visa / MastercardGCC + international3-D Secure supported
Apple PaySupported devicesRequires Moyasar Apple Pay certificate
Mock checkoutLocal dev onlyALLOW_MOCK_CHECKOUT=true

Customer Library

The customer library is where buyers find everything they purchased or booked: courses, downloads, sessions, certificates, and messages. After purchase, buyers get instant access at /library without manual approval for digital products.

Purpose

Explain the customer experience after purchase: access, learning, downloads, sessions, and certificates.

When to use

When verifying that a product appears correctly after checkout or manual enrollment.

Sign in

  1. Open /auth/customer (or «My library» from the storefront)
  2. Enter email and password — demo: student1@example.com / password123
  3. Click Go to my library → lands on /library
Customer library home
My Library — enrolled courses, progress bars, Continue learning

What customers see

  • Enrolled products — Courses with progress tracking (% complete)
  • Continue learning — Quick link to last or next incomplete lesson
  • Lesson player — Video, text, quizzes at /learn/{courseId}
  • Downloads — Digital files attached to products
  • Sessions — Upcoming coaching/consultation appointments + join link
  • Certificates — Earned after course completion (if enabled)
  • Messages — Direct inbox with the creator

Learn player

When opening a course from the library, the student enters the learn player. The sidebar lists modules and lessons; the main area shows video, text, and quiz content. The goal is for students to always know where they are and what to do next.

Learn player — lesson view
Learn player — curriculum sidebar, lesson video, text content
UI elementFunction
Curriculum sidebarModules and lessons — drip-locked lessons show a lock icon
Video playerMain lesson video — playback position is saved
Lesson contentRich text below the video (headings, lists, images)
QuizMultiple-choice questions — progress saved after submission
NavigationPrevious / next lesson — or pick from sidebar
Progress barUpdates on the product card on the library home page

Example: student completes a lesson

  1. Sign in as student1@example.com / password123
  2. Open /library → click Continue learning or course card
  3. Select a lesson from the sidebar (or last lesson opens automatically)
  4. Watch video → scroll to quiz at the bottom
  5. Answer questions → progress saves automatically
  6. Return to library — progress percentage updates on the card

Drip content (student view)

If the creator enabled drip scheduling, students see locked lessons until the release date or N days after enrollment. Free preview lessons are visible to visitors on the public product page without purchasing.

Preview lessons: Creators can mark lessons as free preview — visitors see them on the public product page before purchasing. See Course content.

URL shortcuts

PathPurpose
/libraryLibrary home
/learn/{courseId}Learn player — first/last lesson
/learn/{courseId}?lesson={id}Specific lesson
/auth/customerCustomer sign-in

Dashboard Overview

The creator dashboard at /dashboard is where you manage products, orders, customers, marketing, operations, and settings. Sign in as creator@example.com to explore with seeded data.

Purpose

Give a high-level map of the daily operating center and key dashboard metrics.

When to use

When training a team, reviewing performance, or navigating between products, customers, and settings.

Creator dashboard home
Dashboard home — revenue, orders, customers, AI usage, weekly insight

Sidebar groups

Overview

Dashboard, AI Assistant

Sell

Products, Orders, Coupons, Media

Customers

Customers, Subscriptions, Leads, Messages, Announcements

Grow

Analytics, Affiliates, Coaching, Campaigns, Automations, Funnels

Operate

Locations, Payouts, Audit log

Configure

Settings, Billing, Terminology, Notifications, Integrations

Header controls

  • معاينة (Preview) — Open storefront in new tab
  • Notifications bell
  • Language toggle (AR / EN)
  • Theme toggle (light / dark)
  • Time range filter for analytics (30 / 90 days, all)

Home page metrics (what each card means)

MetricArabicExplanation
RevenueالإيراداتTotal paid order amount in selected period (excludes refunds)
OrdersالطلباتCount of successful checkout completions
CustomersالعملاءUnique buyers with at least one paid enrollment
AI usageاستخدام الذكاء الاصطناعيMonthly token/generation count vs plan limit
Weekly insightرؤية الأسبوعAI-generated summary of trends and suggested actions
First-time creator checklist
Start with the essentials and test one complete journey: workspace name and logo → first product → cover image → offer and price → publish → preview storefront → test checkout.

Products

/dashboard/products is the catalog for everything you sell: courses, consultations, memberships, bundles, and digital downloads. Each product gets a public sales page at /p/{workspace-slug}/{product-slug} and can have multiple pricing offers.

Purpose

Show where product catalog, statuses, product links, and list actions are managed.

When to use

When creating a product, finding an existing product, or opening the editor for review.

Products list
Products list — filter by type, status, search; quick actions per product

Products list actions

ActionArabic labelWhat it does
New product منتج جديد Opens the creation wizard at /dashboard/products/new
Search / filter بحث · تصفية Filter by product type, status (draft/published/archived), or search by title
Row click Opens the product editor for that item
Preview معاينة Opens the public product page in a new tab
URL: Go directly to /dashboard/products/new to start creating, or append ?mode=ai, ?mode=quick, or ?mode=full to skip the path selector.

Creating a Product — In Depth

Product creation gives you three paths depending on how ready your idea is: AI-assisted creation for a quick first draft, quick create for a simple draft, or the full builder when you want to configure details before creation.

Purpose

Explain the three product creation paths and how each one leads into the editor.

When to use

When starting a new product and deciding whether AI, quick create, or full builder fits best.

Choose a Creation Path

flowchart TD
  start["New product"] --> choice{"How ready is the idea?"}
  choice -->|"Rough idea"| ai["AI-assisted creation"]
  choice -->|"Basic details ready"| quick["Quick create"]
  choice -->|"Full launch setup"| full["Full builder"]
  ai --> editor["Review, then product editor"]
  quick --> editor
  full --> editor
  editor --> publish["Publish checklist"]
          

Step 0 — Choose your creation path

From the products list, click منتج جديد. You arrive at the path selector with three options:

Product creation path selector
Choose how to create: AI draft, quick create, or full step-by-step builder

ابدأ بالذكاء الاصطناعي — AI

Best when you have an idea but need help shaping the title, sales copy, price, category, and course structure. Write in plain Arabic and edit the generated draft before applying it.

?mode=ai

إنشاء سريع — Quick

Best when you already know the type and price and want a draft immediately. Add media, description, and settings later in the editor.

?mode=quick

النموذج الكامل — Full

Best for serious launches where you want pricing, type-specific fields, cover image, description, visibility, and advanced settings configured up front.

?mode=full

Path A — AI-assisted creation

AI product draft input
AI path — describe your idea, add optional sources, pick tone, generate draft
  1. Describe your idea — Write what you're selling, who it's for, and the outcome. Add local context where useful, such as "for Riyadh small business owners" or "for employees preparing for promotion."
  2. Add sources (optional) — Paste notes, bullet points, or landing page copy to ground the AI draft.
  3. Pick tone — Professional, inspiring, friendly, or energetic.
  4. Generate draft — AI returns editable sections: title, short description, suggested price, category, audience, and (for courses) a module/lesson content plan.
  5. Review & apply — Edit any section inline, regenerate individual parts, then تطبيق على المنتج (Apply to product) to populate the wizard.
  6. Finish in wizard — Complete remaining steps and create the product.
Stub mode: Without OPENROUTER_API_KEY, AI returns deterministic Arabic demo output — useful for testing the flow without API spend.

Path B — Quick create

Quick product create form
Quick create — essentials on one screen; always saves as draft
FieldArabicRequiredNotes
Product typeنوع المنتجYesDropdown with all 11 types and descriptions
Titleعنوان المنتجYes (min 3)Must be unique in workspace
CategoryالتصنيفNoOrganizes storefront catalog
Short summaryملخص قصيرNoMax 200 chars — shown on product card
PriceالسعرNoDefaults to 0 (free). Max 999,999 SAR
CurrencyالعملةNoDefaults to workspace currency (SAR)

Click إنشاء مسودة (Create draft). You are redirected to the product editor with a checklist of remaining tasks.

Path C — Full builder (6-step wizard)

The full wizard shows a stepper (خطوات إنشاء المنتج) and a live preview card on the left that updates as you type. Changes autosave locally, so you can leave and return later without losing the draft.

Wizard steps overview

StepArabicPurpose
1. BasicsالأساسياتType, title, category, short summary
2. PricingالتسعيرPrice, currency, status, course level/duration
3. ContentالمحتوىType-specific settings (sessions, dates, intervals)
4. MediaالوسائطCover image (optional, 1600×900)
5. DescriptionالوصفFull Markdown description + advanced settings
6. ReviewالمراجعةSummary of all fields → create product

Step 1 — Basics

Full wizard basics step
Step 1 — product type, title, category, short summary with live preview
  • Product type — Choose from 11 types (see table below). This determines which fields appear in later steps and what gets created in the database (e.g. course structure, booking config).
  • Title — Minimum 3 characters. Duplicate titles show a warning.
  • Category — Optional taxonomy for storefront filtering.
  • Short summary — First 200 characters of description; shown on product cards and search results.

Step 2 — Pricing & offer

Full wizard pricing step
Step 2 — price, currency, publish status, course level and duration
FieldArabicDetails
Priceالسعر0 = free. Creates an offer with appropriate billing type per product type.
CurrencyالعملةSAR, USD, AED, etc.
Statusالحالةمسودة (draft) or منشور (published)
LevelالمستوىCourses only: beginner / intermediate / advanced
Durationالمدة التقديريةCourses only: estimated minutes

Default billing type by product type:

Product typeBilling created
course, coaching, cohort, bundle, digital_download, event, facility, certification, exam_prep, serviceOne-time payment
membershipSubscription (monthly or yearly interval from step 3)

Step 3 — Content (type-specific)

Full wizard content step
Step 3 — fields change based on product type selected in step 1
TypeFields in this stepWhat gets created
course — (level/duration in step 2) Empty course with 1 module + 1 placeholder lesson
coaching Sessions included Booking config with session count
cohort Start date, capacity Cohort booking config with dates
membership Billing interval (monthly/yearly) Subscription offer
event Start/end datetime Event time window
facility Facility type, min booking hours Facility rental config
certification Issuing body, validity months Certification metadata
bundle Hint: add products later Empty bundle — add items in editor Contents tab
digital_download Hint: upload files later Empty download product — add files in editor Files tab
exam_prep Empty question bank — add questions in editor
service Service appointment config (30-min default)

Step 4 — Media

Full wizard media step
Step 4 — upload or pick cover image from media library (optional)
  • Drag & drop or pick from مكتبة الوسائط (Media library)
  • Recommended: 1600×900 JPG or PNG
  • Cover is optional — you can add it later without blocking draft creation
  • AI can generate cover images in the editor (requires OPENAI_API_KEY)

Step 5 — Description & advanced

Full wizard description step
Step 5 — Markdown editor with AI assist, writing prompts, and collapsible advanced settings
  • Full description — Markdown editor with bold, lists, headings, links
  • AI suggestاقتراح button generates sales copy in-context
  • Writing prompts — Guided questions: what will they learn? who's the audience? what's unique?
  • Advanced settings (collapsible):
    • معرّف الرابط (Slug) — lowercase Latin, auto-generated if empty
    • الظهور (Visibility) — public / private / unlisted

Step 6 — Review & create

Full wizard review step
Step 6 — review summary, then create product (editable later in editor)

Review title, type, price, and status. Click إنشاء المنتج (Create product). On success you are redirected to the product editor with ?next=checklist to highlight remaining tasks.

Sticky bar controls (all wizard modes)

ButtonArabicWhen shown
BackالسابقSteps 2–6 in full wizard
NextالتاليSteps 1–5 in full wizard (validates current step)
Create productإنشاء المنتجReview step and quick create
Save as draftحفظ كمسودةAny step — saves without completing wizard

Autosave: يتم حفظ التغييرات تلقائياً — your progress is stored locally. If you return, choose متابعة التحرير (Continue editing) or البدء من جديد (Start fresh).

Validation rules

  • Title: minimum 3 characters, must not duplicate an existing product title
  • Slug: lowercase Latin letters and hyphens only (if provided)
  • Price: 0 to 999,999
  • Event dates: end must be after start
  • Product limit: blocked if workspace plan limit reached (link to billing upgrade)

Product Editor — In Depth

After creation, every product opens in the editor at /dashboard/products/{productId}. This is where you configure what the buyer sees: sales page, content, offers, booking, settings, and publish status.

Purpose

Explain where to edit the product after creation and how each tab affects the buyer experience.

When to use

When changing price, description, content, booking settings, visibility, or publish status.

Product editor overview tab
Product editor — overview tab with title, status, visibility, cover, and sidebar stats

Editor layout

Header

Product title, status badges, actions: معاينة (preview sales page), المتجر (store), تجربة الدفع (test checkout)

Tabs

Overview, Content, Audience, AI Assistant, Settings — visibility varies by product type

Sidebar

Cover thumbnail, slug, price, stats (modules, lessons, customers, offers), publish checklist

Tab: Overview نظرة عامة

Start here because these fields most directly affect buyer trust and conversion: title, price, cover, description, and visibility.

SectionArabicWhat you configure
TitleالعنوانProduct name (min 3 chars)
StatusالحالةDraft / Published / Archived toggle
VisibilityالظهورPublic (in store) / Private (enrolled only) / Unlisted (link only)
Cover imageصورة الغلافUpload, replace, or delete cover
DescriptionالوصفFull sales page Markdown
CategoryالتصنيفStorefront category
Offers & pricingالعروض والتسعيرMultiple offers: one-time, subscription, payment plans, free
Extra detailsتفاصيل إضافيةLevel, duration, language (courses); booking settings (coaching)

Tab: Content المحتوى

Label and contents vary by product type:

Product editor content tab
Content tab — course curriculum with modules and lessons
Product typeTab labelWhat you manage
course, cohortالمحتوىModules → lessons (video, text, quiz). Drip schedule, completion rules
digital_downloadالملفاتUpload downloadable files customers receive after purchase
bundleالمحتوياتSelect which products are included in the bundle
exam_prepبنك الأسئلةQuestion banks, flashcards, spaced repetition settings
coaching, serviceNo content tab — booking is configured in Overview/Settings

Adding course content

See the detailed guide: Course content — modules, lessons, quizzes.

Tab: Audience الجمهور

  • Customers — Enrolled buyers, grant/revoke access, view progress
  • Reviews — Customer ratings and testimonials (if enabled)

Tab: AI Assistant المساعد الذكي

Product editor AI tab
AI tab — generate outlines, lesson sequences, quizzes, cover images
  • Course outline — AI generates module/lesson structure from title + description
  • Lesson sequences — Batch-generate lesson content
  • Quizzes — Auto-generate questions from lesson content
  • Cover image — DALL·E cover generation (OpenAI key required)
  • Transcription — Whisper transcript for uploaded videos
Review before publishing: AI output is a writing aid, not a final approval step. Adjust examples, tone, and marketing promises so they are accurate for your audience.

Tab: Settings الإعدادات

Product editor settings tab
Settings tab — availability, certificates, SEO, danger zone
SectionApplies toConfigure
Availability rulescoaching, service, facilityWeekday/time slots, capacity, buffer, recurrence, linked locations
Intake formscoachingPre-session questionnaire linked to booking
Certificatescourse, certificationCompletion certificate template, QR verification
Drip schedulecourse, cohortRelease lessons on a schedule after enrollment
SEOAll typesMeta title, description, OG image for search/social
SlugAll typesURL path — changing slug updates the public link
Danger zoneAll typesArchive or permanently delete product

Sidebar publish checklist

The left sidebar shows a checklist that updates as you complete requirements. Click any incomplete item to jump to the relevant tab/section.

Media library
Media library (/dashboard/media) — central upload hub reused across products

Course Content — Modules, Lessons & Quizzes

course and cohort products have a curriculum: Modules (chapters) → Lessons → text + video + quiz. Managed from the product editor Content tab; each lesson has its own editor.

Purpose

Explain how a course idea becomes modules, lessons, videos, text, and quizzes.

When to use

When building a course, editing a lesson, adding a quiz, or reviewing what students see.

Practical rule: Do not start with a massive course. Create one module with three clear lessons, test the student experience, then expand.

Content structure

Product (course)
├── Module 1 — e.g. "Basics"
│   ├── Lesson 1 — video + text + quiz
│   ├── Lesson 2 — text only
│   └── Lesson 3 — video + free preview
├── Module 2 — e.g. "Practice"
│   └── ...
└── Module 3

Step 1 — Open the curriculum

  1. Dashboard → Products → open your course
  2. Click the Content tab (المحتوى)
  3. The Curriculum section lists all modules and lessons
Curriculum editor
Curriculum — add modules, lesson list, actions per item

Step 2 — Add a module (chapter)

  1. Type the module name in New module (وحدة جديدة)
  2. Click Add module (إضافة وحدة)
  3. A card appears showing lesson count and total duration

Module actions (⋯ menu)

ActionArabicPurpose
Renameإعادة تسميةChange module title
Draft / Publishتحويل إلى مسودة / نشرControl publish status
Move up / downنقل لأعلى / لأسفلReorder modules
Delete moduleحذف الوحدةDeletes module and all its lessons

Step 3 — Add a lesson

  1. Inside a module, type the lesson title in New lesson (درس جديد)
  2. Click Add lesson (إضافة درس)
  3. The lesson editor opens at /dashboard/lessons/{id}

Lesson actions (from curriculum)

ActionPurpose
Edit contentOpen lesson editor
Lesson Q&AManage student questions
Preview lessonFree for visitors before purchase
Schedule release (Drip)Set date/time when lesson unlocks
Move up / downReorder within module
Delete lessonPermanent delete

Step 4 — Lesson editor (4 tabs)

Fill the tabs, then click Save lesson (حفظ الدرس) once at the bottom.

Content tab

Lesson editor content
Content — title, rich text, embedded media, AI summary
  • Lesson title — shown in curriculum and player
  • Lesson content — rich text (headings, lists, quotes, links) below video
  • Embedded media — images, videos, Mermaid diagrams, LaTeX math
  • AI summary — generate from video/text and insert into content
  • Translate — translate lesson (OpenAI)
  • Pinned tutor — fixed instructor message for students

Media tab

Lesson editor media
Main lesson video + Whisper transcription status
  • Upload or pick video from media library — shown in library player
  • Auto-transcription (Whisper) starts after upload
  • Text-only lessons work without video

Quiz tab

Lesson editor quiz
Quiz — AI generate or manual multiple-choice

Option A — AI: Click Generate quiz → review → Apply → Save lesson.

Option B — Manual: Quiz title → Add question → prompt + 4 choices + correct answer → Save.

Settings tab

Lesson editor settings
Module, duration, drip schedule, status, preview toggle
  • Module — move lesson to another module
  • Duration — auto (video + text + quiz) or manual override
  • Release date — drip unlock datetime (empty = immediate)
  • Status — draft / published / archived
  • Preview before purchase — free lesson for visitors

Step 5 — Save & publish

  1. Click Save lesson — changes apply per status and schedule
  2. Return to product editor — check sidebar publish checklist
  3. Publish product when module + lesson + offer + cover + description are complete

Drip scheduling

MethodWhere
Per-lesson scheduleLesson ⋯ menu → Schedule release (Drip)
Release date in editorSettings tab → Release date
Course drip scheduleProduct Settings → Drip schedule

Student experience

  1. After purchase → /library
  2. Select course → module/lesson list
  3. Open lesson → video player + text + quiz
  4. Quiz answers tracked in progress
  5. Certificate on completion (if enabled)
Other types: digital_download uses Files tab; exam_prep uses Question bank; bundle uses Contents.

Storefront Customization (Creator Dashboard)

From /dashboard/settings/storefront you control the look and content of your public storefront (/s/{slug}). Changes appear to visitors after save — use the Preview button in the top bar to verify.

Purpose

Show how to configure brand identity, templates, sections, SEO, and storefront copy.

When to use

Before launching the storefront or updating branding, content, offers, or trust sections.

Saudi market note: Keep storefront copy direct and specific: what the buyer gets, when it starts, price in SAR, and how attendance or support works.

Getting to settings

  1. Sign in as creator → Dashboard
  2. Settings → Storefront (or go directly to /dashboard/settings/storefront)
  3. Pick a section from the sidebar → edit → save
  4. Click Preview at the top to open the storefront in a new tab
Storefront settings overview
Storefront settings — section list in the sidebar

Identity & basics

SectionWhat you configure
IdentityStore name, logo, short description, contact links
GeneralOverall storefront behavior and display options
SlidesRotating hero slides at the top of the home page
Navigation menuCustom links in the storefront header
Section orderEnable/disable and reorder home page sections
Storefront section order
Section order — drag to reorder, toggle each section on/off

Theme & templates

Two related areas: Theme for colors and fonts, and Templates for industry-ready layouts (training, consulting, centers, etc.).

Theme settings — colors
Theme — brand color, fonts, light/dark mode
Storefront templates
Templates — pick a starter layout or customize the current one

Content sections (enable as needed)

Testimonials

Quotes and names — builds trust

Team

Show coaches or consultants

Guarantee

Refund policy or results guarantee

Instructor / founder

Bio and photo for the hero

Announcement / countdown

Limited offers or deadlines

Lead form

Capture email before purchase

Newsletter

Email list signup

Products display

How the catalog appears (grid, list…)

SEO & footer

  • SEO — Page title and description for search engines
  • Footer — Legal links, social media
  • Custom code — CSS/JS (requires a plan that supports it)
  • Store assistant — Help bot for visitors (if enabled)

AI assistant for storefront copy

Several sections offer AI suggest — generates Arabic copy suited to your industry (hero, FAQ, testimonials). Review before saving.

Integrations (payments & calendar)

Integrations page
Integrations — Moyasar, Google Calendar, email, WhatsApp
IntegrationPurpose
MoyasarAccept mada, cards, Apple Pay — see Checkout & Booking
Google CalendarBlock busy slots on bookable products
ResendTransactional email and campaigns
WhatsAppAutomation and customer messaging

Workflow: launch a new storefront

  1. Identity → name, logo, description
  2. Templates → pick your industry template
  3. Theme → brand color
  4. Section order → enable what fits (products, FAQ, testimonials…)
  5. Integrations → Moyasar for production
  6. Preview → test on mobile
  7. Publish first product → see Publishing checklist

Before sharing your storefront link

  • Test the storefront on mobile, since most visits come from WhatsApp or social links.
  • Make sure the first two or three catalog products have clear covers and short descriptions.
  • Show a contact method in the footer or FAQ.
  • For in-person products, confirm city, location, and attendance instructions are visible.
Tip: Start from a template then customize — faster than building from scratch. Demo storefront: https://lammem.com/s/growth-club.

Coaching & Booking — Setup to Session

coaching (1:1 consultation/training) and service (clinic visit/appointment) products use availability windows and a calendar instead of a curriculum. The buyer picks a slot on the product page → pays → the session appears in their library.

Purpose

Explain bookable products that use calendars and availability instead of lesson content.

When to use

When launching consultations, clinics, in-person services, or any product that needs scheduled slots.

Booking Flow

flowchart LR
  setup["Product setup"] --> availability["Availability windows"]
  availability --> page["Product page"]
  page --> slot["Buyer selects slot"]
  slot --> checkout["Checkout"]
  checkout --> session["Session in library"]
  checkout --> dashboard["Sessions dashboard"]
          

Which type to use

TypeUse caseExample
coachingIndividual sessions with a coach/consultant — fixed slot duration30-minute consultation
serviceIn-person clinic or service appointments — capacity + locationRiyadh clinic visit

Step 1 — Create a bookable product

  1. New product → Coaching (coaching) or Service visit (service)
  2. Fill title, description, cover on the Overview tab
  3. Add an offer with price (single session or package)
  4. Open the Settings tab → availability & booking section
Coaching availability settings
Settings tab — availability rules, slot preview, booked sessions

Step 2 — Configure availability windows

Add a time window per weekday (e.g. Sunday 9:00–17:00).

FieldFunction
Weekday0=Sunday … 6=Saturday (Asia/Riyadh timezone)
From / ToStart and end of booking window in minutes
Session durationLength of each slot (e.g. 30 min)
BufferGap between consecutive sessions
CapacityConcurrent bookings per slot
InstructorAssign window to a team member (optional)
Meeting URLZoom/Meet link sent to the customer
Copy to other days: Use «Copy to days» to replicate the same schedule without re-entering.

Step 3 — Intake forms

Collect pre-session info (goals, background). Create forms at /dashboard/intake-forms and link them to an availability rule or product settings.

Intake forms list
Intake forms — custom fields and product links

Step 4 — Locations & calendar

  • Locations (/dashboard/locations) — physical branch or virtual link in booking confirmation
  • Google Calendar — Settings → Integrations; blocks busy slots automatically
  • Availability exceptions — holidays or extra hours from the same settings screen

Step 5 — Buyer journey (book & pay)

  1. Open product page — e.g. https://lammem.com/p/growth-club/consultation-30min
  2. Pick a calendar slot → temporary hold placed
  3. Complete checkout — see Checkout & Booking
  4. Confirmation email → session in Customer library
Consultation booking — buyer view
Product page — slot picker before checkout

Step 6 — Manage sessions (creator dashboard)

All upcoming and completed bookings live at /dashboard/coaching-sessions («My sessions» in the sidebar).

Coaching sessions dashboard
My sessions — bookings, status, team notes, AI summary
ActionResult
View session detailsCustomer, product, time, intake responses
Private notesTeam-only — not visible to customer
Reschedule / cancelCustomer notified automatically
Mark completeMay trigger certificate or follow-up automation
AI summaryGenerate session summary from notes (if enabled)

What the customer sees after booking

Library — booked sessions
Customer library — upcoming sessions and join links

Demo account with sessions: coaching.student@example.com / password123 (email verification may be required outside dev).

Full workflow: launch a consultation

  1. Create coaching product → «30-minute consultation»
  2. Settings → add availability (e.g. Sun–Thu 10:00–18:00)
  3. Link intake form (optional)
  4. Set virtual or in-person location
  5. Publish → test booking from storefront
  6. Monitor session in My sessions after first booking

Subscriptions & Memberships

membership products sell recurring access (monthly/yearly) with auto-renewal. Configure offers in the product editor; manage active subscriptions at /dashboard/subscriptions.

Purpose

Explain products that depend on recurring payment and ongoing access rather than one-time purchase.

When to use

When launching a membership, paid community, recurring content library, or annual subscription.

Subscription States

stateDiagram-v2
  [*] --> Trial
  Trial --> Active: first successful payment
  Active --> Active: renewal succeeds
  Active --> PastDue: payment fails
  PastDue --> Active: payment updated
  PastDue --> Cancelled: grace period ends
  Active --> Cancelled: customer or team cancels
          

Create a subscription product

  1. New product → type Membership (membership)
  2. Overview → Offers → add offer with billing type subscription
  3. Set price, interval (monthly/yearly), and free trial days
  4. Link included content (courses, downloads…) per product settings
  5. Publish → appears on storefront as recurring subscription
Membership product offers
Membership product — monthly/yearly subscription offers with trial

Subscription offer fields

FieldDescription
Billing typesubscription — auto-renewal via Moyasar
IntervalMonthly or yearly
Trial daysFree access before first charge (e.g. 14 days)
PriceAmount per billing cycle in SAR
Demo example
https://lammem.com/p/growth-club/creator-membership — 199 SAR/month with 14-day trial, plus 1,599 SAR/year offer.

Subscriptions dashboard (creator)

Subscriptions admin
Subscriptions — MRR, active, past due, cancelled
MetricMeaning
MRRMonthly recurring revenue from active subscriptions
ActivePaid and current subscriptions
Past dueRenewal failed — needs follow-up
Cancelled / expiredEnded or not renewed

Subscriber experience

  1. Chooses membership on storefront → pays (or starts free trial)
  2. Recurring subscription created in Moyasar
  3. Instant library access
  4. Each renewal extends access automatically
  5. Failed payment → past due; access may revoke after grace period

Managing subscriptions as creator

  • Filter by product, status, or search by email
  • View details — start date, last payment, next period
  • Cancel a customer subscription (stops future renewals)
  • Track MRR trends in Analytics
Production: Subscriptions require Moyasar. Mock checkout supports one-time purchases; test real renewals with Moyasar test keys.

Publishing Checklist

A product can be saved as draft at any point. Before going live, make sure a buyer can understand the product, pay for it, and access the content or booking without manual help.

Purpose

Turn an internal draft into a buyer-ready product on the storefront.

When to use

Before sharing a product link, running ads, or accepting the first customer.

Common requirements (all types)

Checklist itemArabicWhere to fix
Product publishedالمنتج منشورOverview → status toggle
Active purchase offerعرض نشط للشراءOverview → offers section
Cover image addedصورة غلاف مضافةOverview → cover section
Product descriptionوصف المنتجOverview → description

Type-specific requirements

TypeAdditional checklist itemsTab
course At least 1 module, at least 1 lesson Content
coaching Booking config, availability window Overview (booking), Settings (availability)
service Availability windows Settings
digital_download At least 1 downloadable file Files (Content tab)
bundle At least 1 bundled product Contents (Content tab)
cohort Cohort dates configured Settings
exam_prep At least 1 question Question bank (Content tab)

End-to-end: course launch workflow

  1. Create — Full wizard or AI path → type course
  2. Content — Add modules and lessons in Content tab (or use AI outline)
  3. Cover — Upload 1600×900 image in Overview
  4. Description — Write sales copy with AI assist
  5. Pricing — Set offer price (or create free offer)
  6. Preview — Click معاينة صفحة البيع to see buyer view
  7. Publish — Toggle status to منشور
  8. Verify — Open storefront, find product in catalog, test checkout

End-to-end: consultation launch workflow

Detailed guide: Coaching & Booking.

  1. Create — AI or full wizard → type coaching
  2. Booking — Configure session duration and booking type in Overview
  3. Availability — Settings tab → add weekday/time rules (or link Google Calendar)
  4. Intake form — Optional pre-session questionnaire in Settings
  5. Location — Link virtual URL or physical location if in-person
  6. Price — Set per-session or package price in offers
  7. Publish — Complete checklist → publish → test booking on storefront
Demo booking: After seeding, test at https://lammem.com/p/growth-club/consultation-30min — pick a slot and complete checkout.
Always test as a buyer: After publishing, open the product in a private window, complete mock checkout, then sign in to /library and verify access.

Sales & Orders

Use this section to track payments, coupons, refunds, and payouts after you start selling.

Purpose

Track what happens after checkout: paid orders, coupons, refunds, and financial records.

When to use

When reviewing a customer order, issuing a refund, or preparing finance/accounting reports.

Orders page
Orders — payment history, refunds, order details
Coupons page
Coupons — percentage/fixed discounts, usage limits, expiry

Orders

  • View all purchases with status (paid, refunded, failed)
  • Filter by date range, product, customer
  • Issue refunds from order detail
  • Export for accounting

How to issue a refund

  1. Dashboard → Orders (الطلبات)
  2. Search by customer email or order ID
  3. Open order detail → click Refund (استرداد)
  4. Choose full or partial amount → confirm
  5. Customer access may be revoked automatically depending on product settings

Coupons

  • Create promo codes with % or fixed SAR discount
  • Set max uses, expiry date, product restrictions
  • Track redemption count per code

Example: create a launch coupon

FieldExampleNotes
CodeLAUNCH20Uppercase, no spaces — customers type at checkout
TypePercentageOr fixed amount (e.g. 50 SAR off)
Value20%Applied to offer price before tax
Max uses100Optional cap for limited campaigns
Expires2026-12-31Code stops working after this date
ProductsOne course onlyOr all products in workspace

Payouts

After Moyasar settles payments, net earnings appear on the Payouts page. Connect bank details in Settings → Billing, then request transfers according to your plan schedule.

Payouts page
Payouts — earnings, transfer schedule, bank details

Customers

Use the Customers area to manage access, progress, messages, and manual enrollments for corporate or offline sales.

Purpose

Manage the post-purchase relationship: access, messages, progress, announcements, and manual grants.

When to use

When supporting a customer, granting corporate access, sending an announcement, or checking learner progress.

Customers page
Customers — enrollments, access management, purchase history
Messages inbox
Messages — 1:1 inbox with customers

Customer management

  • See all buyers with enrollment status per product
  • Grant or revoke access manually
  • View purchase and subscription history
  • Send direct messages from the inbox
  • Post announcements to all enrolled customers

Example: manually enroll a corporate client

  1. Customers → search or click Add customer
  2. Enter email (creates account invite if new)
  3. Open customer profile → Grant access (منح الوصول)
  4. Select product → confirm — no checkout required
  5. Customer receives email and sees product in /library

Example: send an announcement

  1. Dashboard → Announcements (الإعلانات)
  2. New announcement → title + body (Markdown supported)
  3. Target: all customers, or filter by product enrollment
  4. Publish — appears in customer library notification area

Leads & forms

Capture emails via lead forms (/dashboard/forms) with optional double opt-in. Intake forms (/dashboard/intake-forms) collect pre-session questionnaires for coaching.

Marketing & Growth — comprehensive guide

After publishing products, growth tools help you understand performance, automate follow-up, and run email or WhatsApp campaigns.

Purpose

Grow sales after launch by connecting analytics, funnels, automations, campaigns, affiliates, and leads.

When to use

When running a launch campaign, improving conversion, following up with leads, or building a referral program.

Growth Loop After Launch

flowchart LR
  traffic["Traffic / ad"] --> funnel["Sales funnel"]
  funnel --> checkout["Checkout"]
  checkout --> auto["Welcome automation"]
  checkout --> analytics["Analytics"]
  analytics --> campaign["Email / WhatsApp campaign"]
  campaign --> affiliate["Affiliate partners"]
          

Analytics (/dashboard/analytics)

Analytics page
Analytics — revenue, orders, MRR, top products
MetricMeaning
RevenueTotal sales in period
MRRMonthly recurring from active memberships — see Subscriptions
ConversionVisits → completed checkouts
ChurnCancellations vs renewals

Funnels (/dashboard/funnels)

Funnels page
Funnel list — status, linked offer, share URL
Funnel editor
Funnel editor — sales page → checkout → upsell → thank you

Automations (/dashboard/automations)

Automations page
Automation list — trigger, status, run count
Automation editor
Automation editor — email → wait → email steps

Triggers include order.paid, enrollment.created, checkout.abandoned, learner.at_risk, and subscription events.

Email & WhatsApp campaigns

Email campaigns
Email campaigns — draft, scheduled, sent
WhatsApp campaigns
WhatsApp campaigns — templates and audience

Affiliates (/dashboard/affiliates)

Affiliates
Affiliate partners — code, commission %, status

Leads & forms

Lead forms (/dashboard/forms), leads inbox (/dashboard/leads), intake forms for coaching — see Coaching & booking.

Leads
Leads — source, status, last activity

Operations — comprehensive guide

Day-to-day tools for locations, coaching sessions, bank payouts, and audit compliance.

Purpose

Keep the operational details organized after launch: branches, sessions, payouts, and audit history.

When to use

When setting locations, managing sessions, requesting payouts, or checking who changed what.

Locations (/dashboard/locations)

Locations
Locations — branch or virtual studio

Physical branches, clinics, or virtual meeting defaults for coaching, service, and event products.

Coaching sessions (/dashboard/coaching-sessions)

Coaching sessions
Coaching sessions — bookings, reschedule, notes

Configure availability in Coaching & booking.

Payouts (/dashboard/payouts)

Payouts
Payouts — balance, KYC, bank transfer request

Audit log (/dashboard/audit)

Team change history — who edited products, orders, or settings and when.

AI Assistant

/dashboard/assistant is the hub for AI capabilities across the platform: writing, summarizing, outlines, quizzes, storefront copy, and campaigns.

Purpose

Show where AI tools live and when to use each capability.

When to use

When writing product copy, generating outlines, creating quizzes, summarizing content, or improving storefront text.

AI Assistant hub
AI Assistant — capability catalog, recent generations, monthly usage

AI features

FeatureWhereProvider
Copy & outlinesProduct editor, storefront settingsOpenRouter
Lesson sequencesCourse content tabOpenRouter
Storefront copilotSettings → StorefrontOpenRouter
Email/WhatsApp draftsCampaigns, automationsOpenRouter
Q&A digestDashboard → Q&A digestOpenRouter
Search rerankingStorefront searchOpenRouter
Cover imagesProduct mediaOpenAI DALL·E
TranscriptionLesson video uploadOpenAI Whisper

Usage caps and cost estimates appear on the dashboard home and next to each AI action.

When to use which AI feature

Your goalGo toAction
First product from scratchProducts → New → AIDescribe idea → Apply to product
Sales page copy onlyProduct editor → OverviewDescription → Suggest (اقتراح)
Course outlineProduct editor → AI tabGenerate outline → apply modules
Lesson quizLesson editor → QuizGenerate quiz from content
Storefront hero textSettings → StorefrontAI copilot on section fields
Cover imageProduct → Media / AI tabDALL·E generation (OpenAI key)
Video transcriptLesson → Media tabAutomatic after upload (Whisper)
Plan limits: Free plan includes limited AI generations per month. Usage meter on dashboard home turns orange near the cap — upgrade in Settings → Billing for higher limits.

Settings — comprehensive guide

The settings hub at /dashboard/settings controls your workspace: region and tax, platform plan, customer payments, integrations, team, and terminology. Public storefront appearance has a dedicated guide in Storefront customization.

Purpose

One reference for every settings page — what it does, where to find it, and who can edit it.

When to use

Launching a new store, enabling Moyasar, inviting staff, customizing Arabic labels, or upgrading your plan.

Settings structure

Settings use two levels: primary tabs (General · Storefront · Team) and secondary pills at the top (Billing · Payments · Integrations · Notifications · Terminology · Developer).

Settings hub
Settings hub — primary tabs and secondary navigation
PagePathWhat you configureWho can access
General/dashboard/settings/generalCountry, currency, timezone, tax, legal entity, categoryOwner / Admin
Storefront/dashboard/settings/storefrontIdentity, theme, templates, homepage sectionsOwner / Storefront manager
Billing/dashboard/settings/billingSaaS plan, upgrade, platform card, subscription invoicesOwner / Finance
Payments/dashboard/settings/paymentsMoyasar status, bank transfer, payment logosOwner / Admin
Integrations/dashboard/settings/integrationsMoyasar, Google Calendar, email, SMS, WhatsAppOwner / Integrations manager
Notifications/dashboard/settings/notificationsIn-app, email, and push preferences per event typeOwner / Admin
Terminology/dashboard/settings/terminologyArabic/English labels per industryOwner / Admin
Developer/dashboard/settings/developerMCP tokens, API scopes (MFA required)Owner / Developer
Team/dashboard/settings/teamInvites, roles, revoke accessOwner / Team manager
Identity vs General: Store name, URL slug, logo, and custom domain live under Storefront → Identity — not General. General is for region, tax, and legal billing entity.

General — workspace

/dashboard/settings/general sets operational basics. The progress bar reminds you of incomplete sections (regional · billing · category).

General settings
General — country, currency, default locale, timezone, VAT rate

Regional section

  • Country — affects tax ID validation and invoice format
  • Default currency — usually SAR for Saudi Arabia
  • Default locale — Arabic or English storefront UI
  • Timezone — critical for booking slots and reminders (Asia/Riyadh)
  • Tax rate — e.g. 15% VAT in KSA

Legal billing entity

  • Legal name — appears on customer invoices
  • Tax ID — 15 digits for Saudi commercial registration
  • Business address — for invoices and compliance
  • Invoice prefix — e.g. INV for invoice numbering

Category and plan

Business category helps marketplace discovery. The Plan card shows your current tier with a quick link to Billing.

Billing — platform SaaS plan

/dashboard/settings/billing manages your subscription to the platform (not customer checkout — see Payments).

Billing settings
Billing — current plan, product/team limits, platform commission
  • Current plan — Free, Pro, or Enterprise tiers
  • Upgrade / downgrade — monthly or yearly billing cycle
  • Payment method — Moyasar card for platform fees (production)
  • Limits — products, team members, monthly AI generations
  • Commission — platform fee on customer sales per plan
  • Invoice history — past platform subscription invoices
Do not mix: Billing = what you pay the platform. Payments + Integrations = what customers pay when they buy.

Payments — accepting customer money

/dashboard/settings/payments is a quick status dashboard before diving into Integrations.

Payments hub
Payments — Moyasar, bank transfer, and payment logo status
CardPurposeConfigure in
MoyasarMada · Visa · Mastercard · Apple PayIntegrations
Bank transferManual payment with confirmationIntegrations
Payment logosMada/Visa icons on storefrontStorefront → Payment logos
CouponsOrder discountsDashboard → Coupons

Integrations

/dashboard/settings/integrations connects external services. Each integration shows source: workspace · platform · unconfigured.

Integrations page
Integrations — Moyasar, Google Calendar, email, SMS, WhatsApp
IntegrationCredentialsUsed for
MoyasarPublishable key · Secret key · WebhookLive checkout — see Checkout & booking
Google CalendarOAuth connect buttonBlock busy slots for consultations
Email (Resend)From address · API keyOrder confirmations, password reset, campaigns
SMSUnifonic or TaqnyatAppointment reminders and OTP
WhatsAppTwilio SID · Token · FromAutomations and customer messages

Platform-level AI keys (OpenRouter, OpenAI) are environment variables — see AI assistant.

Notifications

/dashboard/settings/notifications controls your team-member alerts — not customer transactional email (sent automatically on purchase/booking).

Notification preferences
Notifications — in-app, email, or push per event type
TypeWhen it fires
Order confirmedNew purchase in your store
New messageCustomer contacts you
Course updateLesson published or content changed
AnnouncementPlatform or workspace updates
Payment receiptFinancial confirmations
MarketingTips and offers (optional)
SystemSecurity and maintenance alerts

Terminology

/dashboard/settings/terminology customizes labels across storefront and dashboard — especially useful for Saudi verticals with different wording preferences.

Terminology customization
Terminology — industry templates and Arabic/English overrides
  1. Pick an industry template (training, health, consulting…) as a starting point
  2. Edit labels in product-type and storefront UI tables
  3. Leave a field empty to revert to the default label
  4. Save — storefront and dashboard update immediately
Saudi examples: «برنامج تدريبي» instead of «دورة» · «زيارة» instead of «جلسة» · monthly subscription wording for memberships.

Team

/dashboard/settings/team invites colleagues and assigns roles. Full permission matrix in Team roles.

Team settings
Team — member list, pending invites, invite form
  1. Enter the member's email
  2. Choose a role (Admin, Editor, Support, Finance, Instructor, Marketing…)
  3. Send invite — acceptance link arrives by email
  4. Change role or revoke pending invites from the same page
Owner only can transfer ownership or delete the workspace. Instructors see only their products and sessions.

Developer

/dashboard/settings/developer creates MCP tokens for Cursor or external tools. Requires MFA on your account.

Developer settings
Developer — create token, pick scopes and workspaces
  • Token name — reminder of usage (e.g. «Local Cursor»)
  • Capabilities — read/write products, orders, workspace…
  • Workspaces — limit which stores the token can access
  • One-time display — copy the token when created; it won't be shown again

The Storefront tab has 25+ sections: identity, theme, templates, section order, SEO, and more. Detailed guide with screenshots: Storefront customization.

Workflow: configure a store from scratch

  1. General — KSA · SAR · Asia/Riyadh · 15% VAT
  2. Storefront → Identity — name, slug, logo
  3. Storefront → Template + Theme — colors and sector layout
  4. Integrations — Moyasar for production
  5. Terminology — your industry template
  6. Team — invite editor or support
  7. Publish first product — test the full journey

Settings troubleshooting

IssueFix
Team tab missingYour role lacks manage_team — ask the owner
Customer checkout failsCheck Moyasar in Integrations + live (not mock) mode
Wrong booking timesTimezone in General + Google Calendar sync
Labels didn't changeSave terminology then hard-refresh storefront
Product limit reachedUpgrade plan in Billing
Developer page emptyEnable MFA on your user account first

Product Types

Choose product type based on how the buyer receives value: learning content, a booked appointment, downloadable files, recurring access, or a bundle. The type controls checkout, tabs, and publishing rules.

Purpose

Help you choose the right product type before creating it, so you do not need to rebuild later.

When to use

When turning a new idea into a course, consultation, membership, download, service, or bundle.

TypeArabic (typical)Use caseExample product
courseدورةVideo curriculum with modules, lessons, drip, certificates«دورة Excel للمحاسبين» — 990 SAR one-time
coachingتدريب / استشارة1:1 sessions with calendar booking and intake forms«استشارة 30 دقيقة» — 450 SAR per session
serviceخدمة / زيارةAppointments, clinic visits, in-person services«فحص أولي» — 200 SAR at branch
membershipاشتراكRecurring subscription with access periods«عضوية VIP» — 99 SAR/month
cohortبرنامج جماعيFixed-start group programs with capacity«دفعة سبتمبر 2026» — 2,500 SAR, 25 seats
bundleباقةMulti-product packages at one price3 courses + templates — 1,499 SAR
digital_downloadتحميل رقميPDFs, templates, files for instant download«دليل PDF» — 59 SAR instant
eventفعاليةTickets, QR check-in, venue/virtual«ورشة الرياض» — 350 SAR ticket
certificationشهادةExam-linked credentials with verification«شهادة معتمدة PMP» — exam + cert
facilityمرفقRoom, studio, or equipment rental by slot«استوديو 2 ساعة» — 150 SAR/hour
exam_prepبنك أسئلةQuestion banks, flashcards, spaced repetition«تمرين قياس» — 149 SAR

Choosing the right type

Selling video lessons?

course or cohort if fixed start date

Calendar bookings?

coaching (1:1) or service (appointments)

Files only?

digital_download

Multiple products one price?

bundle

Quick choice: If buyers watch lessons, choose course. If they book time, choose coaching or service. If they download files, choose digital download. If they need ongoing access, choose membership.

Team Roles

Workspace members see different dashboard navigation based on role. Roles are backed by the platform permission matrix and control what each member can view or manage across products, orders, customers, marketing, settings, payouts, and integrations.

Purpose

Clarify which permissions fit each team member's daily responsibilities.

When to use

When inviting an editor, support teammate, finance user, instructor, marketer, analyst, content user, or affiliate manager.

Default roles

RoleBest forDashboard accessImportant notes
Owner ownerStore owner or final accountable userAll sections: products, orders, customers, marketing, operations, settings, team, developerHighest role. Permission override denies do not apply.
Admin adminOperations lead supporting the ownerAlmost all dashboard areas including settings, integrations, team, and audit logClose to owner, but ownership-only actions remain owner-controlled.
Business manager business_managerDaily sales and operations managerProducts, orders, customers, marketing, analytics, affiliates, sessions, locationsCannot manage workspace settings, team, integrations, developer, audit, or payouts by default.
Editor editorProduct pages and content editorProducts, media, coupons, coaching sessions, locations, intake formsDoes not see orders or customers by default.
Content contentLesson, media, and download preparationProducts, media, downloads, intake formsNarrower than editor: no coupons or locations by default.
Support supportCustomer support and access follow-upOrders, customers, subscriptions, leads, messages, announcements, forms, analyticsCannot process refunds or view aggregate revenue by default.
Finance financeAccounting, refunds, and payoutsOrders, customers, subscriptions, coupons, analytics, payoutsCan process refunds and view revenue.
Instructor instructorCoach or instructor delivering content/sessionsMedia, customers, leads, messages, analytics, coaching sessions, forms, intake formsCan manage training-related products and sessions, but not aggregate revenue.
Marketing marketingCampaigns and growth ownerCustomers, leads, analytics, announcements, email/WhatsApp campaigns, automations, forms, funnelsNo product, order, or revenue management by default.
Analyst analystPerformance or data analystRead-only orders, customers, subscriptions, leads, analytics, revenueRead and analyze; does not manage customers or orders.
Affiliate manager affiliate_managerReferral and affiliate program ownerAffiliates, read-only orders, analytics, revenueManages affiliate program only, not general marketing campaigns.

Permissions by area

AreaDefault rolesNotes
Product and content managementOwner, Admin, Business manager, Editor, Content, InstructorIncludes product creation/editing and course preview.
Downloads and filesOwner, Admin, Business manager, Editor, ContentInstructor has media access, but download management is separate.
OrdersManage: Owner, Admin, Business manager, Support, Finance · Read: + Analyst, Affiliate managerSupport can manage daily order workflows, but not refunds.
RefundsOwner, Admin, Business manager, FinanceLimited to financial or leadership roles.
CustomersManage: Owner, Admin, Business manager, Support, Instructor, Marketing · Read: + AnalystUsed for access grants, follow-up, and lead/customer work.
MessagesOwner, Admin, Business manager, Support, InstructorEditor, Finance, and Marketing do not see inbox by default.
Campaigns and announcementsOwner, Admin, Business manager, Support, Instructor, MarketingIncludes announcements, email/WhatsApp campaigns, automations, forms, and funnels.
AnalyticsOwner, Admin, Business manager, Support, Finance, Instructor, Marketing, Analyst, Affiliate managerBroader than revenue access.
RevenueOwner, Admin, Business manager, Finance, Analyst, Affiliate managerSupport, Instructor, and Marketing do not see aggregate revenue by default.
PayoutsOwner, Admin, FinanceFor store earnings and bank transfer requests.
Settings, team, integrations, developer, auditOwner, AdminHigh-trust admin permissions including MCP, integrations, and audit log.
AffiliatesOwner, Admin, Business manager, Affiliate managerMarketing does not manage affiliates by default.
SubscriptionsManage: Owner, Admin, Business manager, Support, Finance · Read: + AnalystUseful for customer support and recurring billing.

Custom permissions

Role template first

Each role starts with default actions. You can then grant extra actions or deny default actions for specific members.

Owner and admin are fixed

Permission overrides do not reduce owner or admin role templates.

No permission escalation

An admin cannot grant a permission they do not hold. Owner is the top-level exception.

Navigation updates automatically

When permissions change, the sidebar updates to show only pages that member can access.

Quick role picker

If the person...Start with this role
Runs the business with the ownerAdmin
Handles sales, orders, and campaigns without sensitive settingsBusiness manager
Creates lessons, pages, and mediaEditor or Content
Supports customers and access issuesSupport
Handles revenue, refunds, and payoutsFinance
Manages sessions and student messagesInstructor
Runs campaigns, funnels, forms, and automationsMarketing
Needs analytics and revenue visibility without editingAnalyst
Manages referrals and commissionsAffiliate manager

URL Reference

Quick reference for key platform paths. The official domain is https://lammem.com; append the paths below to that domain.

Purpose

Collect important routes in one place for review, testing, and team communication.

When to use

When sharing a link, opening a page directly, or verifying a browser path.

URLPurpose
/Marketing landing page
/authCreator login & signup
/auth/customerCustomer library login
/dashboardCreator dashboard
/dashboard/productsProduct catalog management
/dashboard/products/newCreate a new product
/dashboard/settingsWorkspace & storefront settings
/s/{slug}Public storefront home
/p/{slug}/{product}Product landing & purchase page
/checkout/{offerId}Checkout flow
/thank-you/{orderId}Order confirmation after payment
/libraryCustomer content library
/library/{productId}Lesson player for enrolled course
/platformPlatform admin (super-admin only)

Frequently Asked Questions

Common questions from Saudi and GCC creators using Lam Meem.

Purpose

Answer common questions that come up while creating products or running a store.

When to use

When you need a quick answer before jumping into a detailed section.

Getting started

Do I need technical experience to use Lam Meem?

No. Most work happens in the dashboard: create a product, choose a storefront template, set pricing, and publish. Technical details in this guide are only for teams testing the platform locally.

What should I do first after signing up?

Set your store identity, create one simple product, then test the full buyer journey: product page → checkout → library. See the Publishing Checklist.

Do I need a large audience before selling?

No. Start with a clear offer for a specific problem and share it with your current network or a small group of interested buyers. Improve after the first feedback and orders.

Products & publishing

Can I change the product type after creation?

No — product type is fixed at creation because it determines database structure (course vs booking vs files). Create a new product with the correct type and archive the old one if needed.

What's the difference between draft, published, and archived?

Draft — visible only in dashboard, not on storefront. Published — available to buyers if visibility is public or unlisted and the checklist is complete. Archived — hidden from sale; existing customers usually keep access.

Public vs private vs unlisted visibility?

Public — appears in storefront catalog. Unlisted — only via direct link. Private — enrolled customers only; hidden from catalog and search.

Why is my product not visible on the storefront?

Common reasons: product is still draft, visibility is private, no active offer exists, or the products section is disabled in storefront settings. Open the product editor and check the publish checklist.

How many products should I start with?

Start with one clear product that is easy to test. Once description, pricing, checkout, and library access work well, add more products or bundles.

Payments & pricing

Can I offer a free product?

Yes — set price to 0 or create a free offer. Buyers still go through a simple access step so the product appears properly in their library.

Does Lam Meem support installments?

Yes — add multiple offers on a product including payment plan offers (where enabled on your plan).

How should I price my first product?

Start from the value of the outcome, not only the number of lessons. Consider the problem solved, time saved, and audience. You can later add multiple offers for the same product.

What is the difference between Billing and Payments?

Billing is what you pay Lam Meem for your platform plan. Payments are what your customers pay when buying products. See Billing and Payments.

Can I issue a refund?

Yes. Open the order details and choose full or partial refund. Depending on product settings, full refunds may revoke customer access automatically.

Content & students

Can students download videos?

Videos stream in the library player — download protection depends on hosting settings. Digital download products deliver files explicitly marked as downloadable.

How does drip content work?

Set per-lesson release dates or a course-wide drip schedule in product Settings. Locked lessons show a countdown in the library until the release datetime.

Can I publish a course without video?

Yes. Lessons can be text-only or include files and links. Video is useful but not required for every lesson.

Do certificates appear automatically?

If certificates are enabled and completion rules are met, customers can receive certificates after finishing the course or program. Check product settings and the publish checklist.

Booking & consultations

Why are booking slots not showing?

Check availability windows, timezone, product status, and Google Calendar sync. External busy events may block available slots.

Can I offer in-person and virtual sessions?

Yes. Add a physical location or virtual meeting URL, then connect it to the coaching or service product. The location appears in booking confirmation and the customer library.

What is an intake form for?

It collects context before the session, such as goals, challenges, or questions. This helps you prepare and reduces manual messages before the appointment.

Subscriptions & memberships

When should I use a membership instead of a course?

Use a membership when value is ongoing: monthly content, community, recurring sessions, or a refreshed library. If the product has a clear start and finish, a course is usually better.

What happens if a subscription renewal fails?

The subscription becomes past due. You can follow up with the customer, and access may be revoked after the grace period depending on settings. See Subscriptions.

Team & platform

Can I use a custom domain?

Yes on Professional plan and above — Settings → Storefront → custom domain. Default URL remains /s/{slug} until DNS is verified.

Is the platform Arabic-only?

Lam Meem is Arabic-first with an English UI toggle. Storefront, dashboard, and customer library support both languages; product content, lesson names, and pricing appear as you configure them.

Can I invite a team?

Yes. Invite members and assign roles such as editor, support, finance, instructor, marketing, or admin. Each role sees different dashboard areas. See Team Roles.

Can I customize terminology for my industry?

Yes. Rename labels such as “course” to “training program” or “session” to “visit”. See Terminology.

Marketing & growth

What is the difference between a campaign and an automation?

A campaign is sent to a selected audience at a chosen time. An automation runs automatically after an event, such as paid order or abandoned checkout.

When should I use a funnel instead of the storefront?

Use a funnel for a focused campaign around one product or ad. Use the storefront when you want to show your full catalog and brand experience.

How do I know a product page needs improvement?

Watch conversion rate. If visits are high but purchases are low, review headline, description, pricing, FAQ, trust sections, and the primary call to action.

Security & integrations

When do I need MFA?

Enable MFA to protect the account, especially if you use developer settings, MCP tokens, or team roles with finance and operations access.

What does KYC mean?

KYC is identity or business verification that may be required before payouts or some payment services. It protects payment flows and compliance.

Glossary

Key terms used across the dashboard and this guide.

Purpose

Keep business and product terms consistent for everyone using the guide.

When to use

When you see terms such as offer, enrollment, drip, funnel, or MRR.

General Terms

TermArabicMeaningExample / note
Workspaceمساحة العملThe store owner's account container for storefront, team, products, and settings.A training center may have one workspace for its store.
StorefrontالمتجرPublic-facing store where buyers browse and purchase products.https://lammem.com/s/growth-club
Product pageصفحة المنتجSales page for one product with description, price, content, or availability./p/{slug}/{product}
Slugمعرّف الرابطShort English URL identifier used in store and product links.home-fitness-4w
VisibilityالظهورHow the product appears to buyers: public, unlisted, or private.Unlisted means link-only.
DraftمسودةSaved product that is not ready for sale.Use before copy or pricing is complete.
PublishedمنشورProduct available to buyers based on visibility and checklist status.Appears in catalog if public.
ArchivedمؤرشفHidden from sale, usually while existing customers keep access.Useful for old offers.

Products & Pricing

TermArabicMeaningExample / note
Product typeنوع المنتجOperational template for a product: course, consultation, membership, download, event...Controls tabs and publishing rules.
OfferعرضA purchasable price point attached to a product.Full price, free, subscription, or installment.
Active offerعرض نشطThe offer buyers can currently use to purchase.Required before publishing.
One-time paymentدفعة واحدةBuyer pays once and receives access.Course or digital download.
SubscriptionاشتراكRecurring monthly or yearly payment for ongoing access.Monthly content membership.
Free trialتجربة مجانيةAccess period before first subscription charge.14 days before payment.
CouponكوبونDiscount code applied during checkout.LAUNCH20
BundleباقةProduct that packages multiple products into one price.Course + templates + session.

Customers & Access

TermArabicMeaningExample / note
CustomerعميلPerson who purchased or was granted access to a product.Signs in from /auth/customer.
EnrollmentتسجيلAccess record linking a customer to a product.Created after checkout or manual grant.
Grant accessمنح الوصولAdd product access for a customer without online checkout.Useful for corporate contracts.
Revoke accessسحب الوصولRemove customer access to a product.May happen after a full refund.
Customer libraryمكتبة العميلPlace where customers see purchases, sessions, files, and certificates./library
MessageرسالةDirect conversation between customer and store team.Appears in the inbox.
AnnouncementإعلانBroadcast message to customers or enrolled segments.New cohort announcement.

Content & Learning

TermArabicMeaningExample / note
CurriculumالمنهجCourse structure made of modules and lessons.Managed from the Content tab.
ModuleوحدةSection that groups lessons inside a course.Week 1, Basics.
LessonدرسLearning unit with video, text, or quiz.Intro lesson.
QuizاختبارMultiple-choice questions inside a lesson.Saves progress after answers.
Preview lessonدرس معاينةLesson visible before purchase.Useful for conversion.
DripتدريجScheduled content release after enrollment or on dates.Unlock one lesson weekly.
CertificateشهادةCompletion proof shown after a course or program.May include QR verification.
TranscriptionتفريغConverting lesson audio/video into text.Uses Whisper when enabled.

Booking & Services

TermArabicMeaningExample / note
AvailabilityالإتاحةDays and times customers can book.Sun-Thu, 10-6.
Availability windowنافذة إتاحةSpecific time range inside a weekday.Sunday 9:00-13:00.
Bufferفاصل بين الجلساتBreak between appointments.15 minutes between consultations.
Slot holdحجز مؤقتTemporarily reserves a slot during checkout.Expires if payment is not completed.
Intake formنموذج استقبالPre-session questionnaire to collect customer context.Goals, challenges, questions.
LocationموقعPhysical branch or virtual meeting URL.Riyadh branch or Zoom.
Sessions dashboardجلساتيDashboard area for upcoming and completed bookings./dashboard/coaching-sessions

Marketing & Analytics

TermArabicMeaningExample / note
Funnelمسار بيعStandalone page sequence for a specific campaign.Landing → checkout → thank you.
CampaignحملةEmail or WhatsApp broadcast to a selected audience.Course launch campaign.
AutomationأتمتةMessage or action triggered automatically by an event.Welcome email after payment.
Leadعميل محتملPerson who submitted contact info but has not bought yet.Interest form on a landing page.
Affiliateشريك / إحالةPartner who promotes your product for commission.Link with ?ref=CODE.
Conversion rateمعدل التحويلPercentage of visitors who complete checkout.Product visits → paid orders.
MRRMonthly recurring revenue from active subscriptions.Important for memberships.
ChurnالتسربRate of customers cancelling or not renewing subscriptions.High churn means review membership value.

Settings & Integrations

TermArabicMeaningExample / note
MoyasarPayment provider for mada, cards, and Apple Pay.Configured in Integrations.
Google CalendarIntegration that blocks busy times for booking products.Useful for consultations.
ResendEmail service for transactional messages and campaigns.Order confirmation, password reset.
WhatsAppMessaging and automation channel for customers.Appointment reminder or campaign.
MCP TokenAccess token for external tools such as Cursor.Created in Developer settings.
MFAMulti-factor authentication for account security.Required for some developer tokens.
KYCIdentity or business verification before payouts.May be required before bank transfer.
VATضريبة القيمة المضافةValue-added tax.Often 15% in Saudi Arabia.

Troubleshooting

A reference for common issues during testing or operation, with direct checks for likely causes.

Purpose

Speed up diagnosis for recurring problems without searching across the whole guide.

When to use

When something fails in setup, checkout, AI, publishing, video processing, or booking.

App won't start

  • Run npm run setup to install deps and generate Prisma client
  • Ensure DATABASE_URL is set and PostgreSQL is running
  • Run migrations: npm run db:migrate -w @ellm/db

Empty dashboard / no products

  • Seed the database: npm run db:seed
  • Log in as creator@example.com (owner of growth-club workspace)

Checkout fails locally

  • Set ALLOW_MOCK_CHECKOUT=true in your .env
  • Leave Moyasar keys empty for mock mode

AI returns stub/demo text

  • Set OPENROUTER_API_KEY for text AI features
  • Set OPENAI_API_KEY for images and transcription
  • Check DISABLED_AI_KINDS is not blocking the feature

Onboarding wizard blocks dashboard

Click تخطي (Skip) → confirm to bypass the setup wizard.

Product won't publish — checklist incomplete

  • Open product editor sidebar — red items show what's missing
  • Common gaps: no cover image, empty description, no active offer, course without lessons
  • Click each checklist item to jump directly to the fix

Video upload stuck or transcription pending

  • Large files may take time — check Media library for processing status
  • Whisper transcription requires OPENAI_API_KEY — without it, status stays idle
  • Lesson can be published with video only; transcription is optional

Storefront shows empty catalog

  • Products must be published AND public visibility
  • Check Settings → Storefront — «Products» section must be enabled
  • Verify correct workspace slug in URL

Booking slots not appearing

  • Coaching product needs availability rules in Settings tab
  • Check timezone — slots generate in workspace timezone
  • Google Calendar sync may block slots marked busy externally