End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money
This page collects typical tasks from start to result. Each step says what you do and what happens on the
platform at that moment. Details on each setting are in the links inside the steps.
The scenarios describe a school in commercial mode. Corporate mode has no sales and no payment acceptance —
see School type.
Launching a school and making the first sale (owner)
1
Create a school
On the exode.biz website, click Create a school. Enter the School name (3 to 50 characters) and the
School’s base domain (3 to 20 characters: Latin letters, digits and hyphens). Your school address will
look like my-school.exode.biz.The platform creates the school, makes you its owner with all permissions and opens demo access. You land in
the school settings and see the message “School successfully created”. Learn more in
School registration.
2
Design your website
Open My school → Settings. In Information and domain, Design and brand,
Catalog and footer and Left site menu, set the name, logo, colors and the look of the catalog.
Settings are saved automatically. Learn more in Customization.
3
Connect payment acceptance
Open My school → Payment acceptance and click Connect cash register. Choose the Payment provider,
enter the details from the provider’s account and turn the cash register on.If the provider needs a notification link, the platform shows the “The cash register is almost ready” window.
Copy the link into the provider’s account and click I’ve set up the link. Without this link, the platform
won’t know that the student has paid. Learn more in
Checkout page.
4
Add legal documents
In My school → Legal data, enter your business details and upload the public offer and the privacy
policy. A student sees a document that has Show at registration turned on when they register and pay.
This step is optional for starting sales. Learn more in
Legal documents.
5
Create a course and fill it with content
In Courses, create a course manually or with AI. Enter a name (up to 130 characters) and choose the
Access type: Paid or Free.Together with the course, the platform creates the launch “Launch #1” and the group “Group 1”. Add modules
and lessons. New lessons are created as drafts — publish them, otherwise students won’t see them. Learn more
in Creating courses and
Creating lessons and modules.
6
Create a tariff
In the course menu, open Launch and tariffs and click Create a tariff. Choose the payment method:
one-time payment, installments, subscription or external link. Fill in Tariff name,
Current price (greater than zero) and Group to add a student to after payment.The access period is set in the group settings: Limit access time to the course. If the limit is not
turned on, access has no end date. Learn more in
Launch and tariffs and
Payment types.
7
Check that the course is on sale
In Launch settings, the Launch on sale toggle must be on (for a free course it is called
Enrollment is active). For a paid course, the launch is turned on automatically when the course is created.
For a free course, you need to turn it on manually. A course is on sale when the launch is on, today’s date
falls within the sales period and the launch has at least one active tariff. The platform does no moderation:
the course appears in the catalog right away.The launch status is shown next to the menu item: “Active”, “Scheduled”, “No active tariffs” and others.
8
Receive the first payment
The student chooses a tariff and pays. When the payment system confirms the payment, the platform opens
access to the course, adds the student to the tariff’s group and assigns them the group’s curator.The student gets the “Payment completed” notification and a receipt by email. The school gets the “New
payment for products” notification. The payment appears in Sales → Payments and in the revenue on the
Home page. Learn more in Accepting payments.
Until a cash register is connected, nobody can pay for a course. The student sees “Payment methods not found :(”,
and a school staff member sees the hint “The school’s checkout is not set up”. Whether you can connect a cash
register depends on your tariff — see
What’s available on the platform.
The student opens the Catalog on the school website and picks a course. The catalog shows courses whose
launch is currently on sale. Learn more in Course catalog.
2
Enroll in the course
For a free course, the student enrolls with the Take the course for free button (Start for free in
the mobile version) and goes straight to the first lesson. The student must be signed in to enroll.For a paid course, the student clicks Enroll in a course, then Pay, or Tariffs if there are several
tariffs. Demo lessons of a paid course can be taken without buying, but only after signing in.
3
Pay
On the payment page, the student can click Enter promo code and apply a discount. If they don’t have an
account yet, they fill in Email for password retrieval — the platform creates an account and sends the
sign-in details.After a successful payment, the student sees “Congratulations on your purchase!” and the Start learning
button. If a promo code gives a 100% discount, the payment button changes to Get access. Learn more in
Promo codes and discounts.
4
Take the lessons
The course appears in My learning. Lessons open in order unless Free lesson progression is turned on
in the course. A group can open lessons on a schedule.If a lesson has a Video watch threshold, the lesson won’t be completed until the student watches each
video to the required percentage. The platform shows “Videos must be watched”. Learn more in
Lesson settings.
5
Submit practice
Tasks with a detailed answer go to the curator for review. The platform checks all the others right away. If
the practice has a Threshold of correct answers, the next lesson opens only after the result “Completed”
or “Completed (auto)”. While the work is under review, the student sees “Wait for the practice review”.The review result arrives in the chat with the curator — in Chats, the Practice folder. Learn more in
Practice in a lesson.
6
Complete the course and get a certificate
In the last lesson, the student clicks Complete the training. With free lesson progression, the button
works only when all lessons are completed.If certificate issuing is turned on in the course, the platform issues the certificate automatically. The
student sees “Your certificate is being issued…”, then “Certificate received”. All certificates are collected
in the Certificates section. Learn more in Certificates.
Paying in installments and what happens when a charge fails (student)
1
Choose a tariff with installments
On the payment page, the student sees the Payment schedule: the number, date and amount of each part.
Dates are counted from the day of purchase — for each part, the school sets how many days later to charge it.
A promo code discount is split evenly between all parts. Learn more in
Installments.
2
Link a card
The student clicks Pay in installments and links a card. If the first part falls on the day of purchase,
the platform charges it to the card right away and opens access after a successful charge. If the first part
is scheduled for a later date, access opens right after the card is linked.If the school has turned on Option for one-time payments, no card is linked: the student pays each part
themselves by invoice.
3
Keep track of the schedule
All of the student’s installment plans are collected on the Payments and bills page in their account. It
shows the schedule, the next payment date and the linked card. The student can change the card and pay any
part in advance with the Pay button.The platform checks the schedule every 30 minutes and charges the parts that are due. The next part is not
charged until the previous one is paid.
4
If a charge fails
The part gets the “Unsuccessful” status, and the student gets a message about the failed charge by SMS,
email or Telegram, depending on which contacts they have. The platform retries the charge three more times:
after 3 hours, or after 12 hours if it is night in the student’s time zone (22:00 to 08:00);
one day after the payment date;
two days after the payment date.
In Payments and bills, the student sees the retry date and the “Pay by” deadline. They don’t have to wait
and can pay the part manually with any available method. While the retries continue, access to the course
is kept.
5
If all attempts fail
After the fourth failed attempt, the installment plan is canceled. All remaining parts get the “Canceled”
status, the student is removed from the tariff’s group, and access to the course closes. The student gets a
message that access has ended. Lesson progress is kept.The old invoice can no longer be paid: the platform responds “The subscription or installment plan is
inactive”.
6
Restore the installment plan
Only the school can resume an installment plan: in Sales → Installments, a staff member opens the plan
and clicks Activate. The canceled parts return to the schedule, and the overdue part is charged at the
next schedule check.
Subscriptions follow the same rules for failed charges. A student can cancel a subscription themselves — access
stays until the end of the paid period. A student cannot cancel an installment plan.
The owner adds you in My school → Team with the Add to team button and checks the
Course curator permission. The number of staff members is limited by the tariff. Learn more in
User roles and
Access rights.
2
Get assigned to a group
The owner or an administrator opens the course group, goes to Settings and selects you in the
Group curators block. New students of the group are distributed between the curators in turn. Each
student gets a personal chat with their curator in the Practice folder of Chats.If no curators are selected, the platform warns: “Curators not selected” — personal chats with curators are
not created. Learn more in Group settings.
3
Set up the group
The group menu has Access to lessons and Completion deadlines. There you set when each lesson opens
and the deadlines for modules, lessons and practices. In the group settings, you can turn on
Group chat in messenger and Channel in messenger. Learn more in
Creating groups.
4
Monitor your students
The Group students page shows each student’s current lesson, progress, nearest deadline and access
period. You can filter the list by lesson, curator and progress.
5
Open work for review
Go to Practice — this is the check center. A student’s work gets there if the practice has a task with a
detailed answer. The platform checks the other task types by itself. The Assigned to me filter leaves only
your students.If The practices are reviewed by all school curators is turned off in the course settings, the course’s
work is visible only to the curators of its groups. Learn more in
Checking practice.
6
Set the result
The work opens in the chat with the student. Give points for the answers, choose “Completed”,
“Needs revision” or “Fail” and click Send. The student gets the message “Practice checked” with the result.With “Needs revision”, the student fixes the same attempt, and no new attempt is used. With “Fail”, the
student starts a new attempt. If the attempts have run out, click Reset attempts — the student can submit
the work again.
Granting access manually and extending it (administrator)
1
Add users
Open People → All users and click Add user. Enter an email or a phone number — up to 100 contacts at a
time. You can paste the list from the clipboard. You can grant access right away: choose a course and a group.Click Send invitations. The platform creates accounts and sends users their login and password. If a user
already exists in the school, they are counted under “Existing”. To grant them access, check
Grant access if the user already exists. Learn more in
Adding users.
2
Grant access to a course
To grant access to one person, open their card, click Grant access, choose the course and the group and
confirm with Grant access. To add many people at once, open the course group and click Add students —
up to 250 people at a time.Access granted manually is free: no payment is created. This action requires the
School user management permission. Learn more in
Adding to a course.
3
Check the access period
The group defines the access period. In its settings, in the Access restriction block, you can turn on
Limit access time to the course and choose the starting point: Since joining the group or
Starting from the selected date. If the limit is not turned on, access has no end date.If a student is in several groups of the course, the latest end date applies. If at least one of their groups
has no limit, access has no end date. The period is shown in the user card: “Access until” and the date.
4
Extend access
There is no separate field for the access end date. You can extend access in two ways:
increase the period in the group settings — the new period applies to all students of the group right away;
add the student to another group of this course with a longer period or no limit.
To close the course temporarily, use the access freeze toggle in the user card. To close access for good,
remove the student from the group. If they have no other groups in this course, access closes.
6
What the student sees after the period ends
Lessons get the “Access expired” status, and the student sees a screen with no access to the course. The
student’s progress is not deleted. The platform doesn’t send notifications about the end of the period — warn
your students yourself.
In an online school, Exode doesn’t keep students’ money on an internal balance. Payments go through the cash
register you connected and reach your account with the payment system according to its rules.
1
Connect a cash register with your own details
In My school → Payment acceptance, connect a cash register with the details of your contract with the
payment system. Payments will arrive in the account under this contract. Learn more in
Checkout page.
2
Accept payments
The student pays through your cash register. The platform gets confirmation from the payment system and opens
access. The money itself goes directly through the payment system — Exode doesn’t hold it.
3
Reconcile payments
Sales → Payments shows all student payments. You can filter them by payment status, course, cash register,
creation date, amount and UTM tags. Installments and subscriptions are in Installments and
Subscriptions. Learn more in Accepting payments.
4
Check your revenue
On the Home page, the “Revenue” metric is the sum of all successful payments for the selected period,
excluding refunds. Learn more in Home analytics.
5
Withdraw money in the payment system's account
Money is credited and withdrawn to your bank account in your payment system’s personal account. The payment
system sets the timing and fees.
The “Withdrawal of funds” and “Balance operations” sections exist only for authors who sell courses on the
Exode marketplace. An online school doesn’t have them, and no seller verification is needed to accept payments.
Do I need to pass verification or moderation to start selling?
No. In an online school, the platform doesn’t review courses or verify sellers. A course is on sale as soon as
the launch is on, the sales period has started and the launch has an active tariff.
Why can't a student pay for a course?
Check in this order. The school must have a cash register connected and turned on. The launch must be on
(“Launch on sale”), and today’s date must be within the sales period. The launch must have at least one active
tariff. For installments and subscriptions, the cash register must support automatic card charges — otherwise
turn on Option for one-time payments in the tariff.
Why doesn't the next lesson open for a student?
Possible reasons: the Threshold of correct answers in the practice is not reached, the work is still under
review by the curator, the video is not watched up to the Video watch threshold, or the group opens the
lesson later on schedule.
What happens if a student doesn't pay the next installment?
The platform makes four charge attempts within two days after the payment date. If none of them succeeds, the
installment plan is canceled, the student is removed from the tariff’s group and access closes. The school can
resume the installment plan with the Activate button in Installments.
Why didn't a free course appear in the catalog?
A free course’s launch is created turned off. In the course menu, open Launch and tariffs and turn on the
enrollment toggle so that it shows Enrollment is active. Also check that the course is not archived and
that the launch’s sales dates haven’t passed.
How do I move a student to another group?
There is no separate transfer button. First add the student to the new group, then remove them from the old
one. If you do it the other way round and the old group was the only one, access to the course will close.
Why didn't a student get a certificate?
A certificate is issued when the student clicks Complete the training in the last lesson. Issuing must be
turned on in the course’s Certificates section with a template selected. Check that the student has
completed the course.
Where do I get the money students paid?
In your payment system’s account. Payments go through the school’s cash register directly to your account —
Exode doesn’t hold them on its balance. You can reconcile payments in Sales → Payments.
Updated: 2026-10-17 07:07 UTC
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Exode — Product documentation","colors":{"primary":"#0e32cf","light":"#3a9cfc","dark":"#0e32cf"},"logo":{"light":"https://mintcdn.com/exode-faq/RM155sfnW-prDXlV/logo/dark.svg?fit=max\u0026auto=format\u0026n=RM155sfnW-prDXlV\u0026q=85\u0026s=226b8c34c13ebf24544dd5b62ed2a413","dark":"https://mintcdn.com/exode-faq/nK1GoAso5impPdQT/logo/light.svg?fit=max\u0026auto=format\u0026n=nK1GoAso5impPdQT\u0026q=85\u0026s=e9f1d77186583292eb8e9ff7839322c2"},"favicon":"https://mintcdn.com/exode-faq/Qt_iwajwYtzMNgtj/favicon.ico?fit=max\u0026auto=format\u0026n=Qt_iwajwYtzMNgtj\u0026q=85\u0026s=ab877d4deb8ab432bb3f59ae7580f411","navbar":{"links":[{"icon":"phone","href":"tel:781139570","label":"78-113-95-70"},{"href":"https://docs.exode.biz/en/welcome","label":"API"}],"primary":{"type":"button","label":"Support","href":"https://t.me/exode_biz_support"}},"footer":{"socials":{"telegram":"https://t.me/exode_biz","instagram":"https://www.instagram.com/exode_uz"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","navbar":{"links":[{"icon":"phone","href":"tel:781139570","label":"78-113-95-70"},{"href":"https://docs.exode.biz/en/welcome","label":"API"}],"primary":{"type":"button","label":"Support","href":"https://t.me/exode_biz_support"}},"href":"en/welcome"},{"language":"ru","navbar":{"links":[{"icon":"phone","href":"tel:781139570","label":"78-113-95-70"},{"href":"https://docs.exode.biz/ru/welcome","label":"API"}],"primary":{"type":"button","label":"Поддержка","href":"https://t.me/exode_biz_support"}},"href":"ru/welcome"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"exode-faq","hasAudioNarration":false,"actualSubdomain":"exode-faq","customDomains":["faq.exode.biz"],"gitSource":{"type":"github","owner":"aslanorlov","repo":"exode-faq","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"f8ffc1b8-5299-4bc5-b826-b92fb598100f","liveDeploymentHistoryId":"6ad325650d7b01a838871775","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad325650d7b01a838871775"},"entitlements":{},"buildId":"6ad325650d7b01a838871775","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"en","tag":"General","count":54},{"language":"ru","tag":"Общее","count":54},{"language":"en","tag":"Corporate training and HR","count":14},{"language":"ru","tag":"Корпобучение и HR","count":14},{"language":"en","tag":"Online schools","count":12},{"language":"ru","tag":"Онлайн-школы","count":12},{"language":"en","tag":"Getting started","count":7},{"language":"en","tag":"Courses","count":7},{"language":"en","tag":"School setup","count":7},{"language":"ru","tag":"Начало работы","count":7},{"language":"ru","tag":"Курсы","count":7},{"language":"ru","tag":"Настройка школы","count":7},{"language":"en","tag":"Sales and payments","count":6},{"language":"ru","tag":"Продажи и платежи","count":6},{"language":"en","tag":"Communication and content","count":5},{"language":"en","tag":"Lessons and modules","count":5},{"language":"en","tag":"School customization","count":5},{"language":"ru","tag":"Общение и контент","count":5},{"language":"ru","tag":"Уроки и модули","count":5},{"language":"ru","tag":"Кастомизация школы","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/online-schools/getting-started/user-scenarios","slug":"/en/online-schools/getting-started/user-scenarios","pageMetadata":{"title":"User scenarios","description":"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money","href":"/en/online-schools/getting-started/user-scenarios"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Heading,Note,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This page collects typical tasks from start to result. Each step says what you do and what happens on the\nplatform at that moment. Details on each setting are in the links inside the steps.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The scenarios describe a school in commercial mode. Corporate mode has no sales and no payment acceptance —\nsee `,_jsx(_components.a,{href:`/en/general/school-creation/school-type`,children:`School type`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`launching-a-school-and-making-the-first-sale-owner`,children:`Launching a school and making the first sale (owner)`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Create a school`,children:[_jsxs(_components.p,{children:[`On the exode.biz website, click `,_jsx(_components.strong,{children:`Create a school`}),`. Enter the `,_jsx(_components.strong,{children:`School name`}),` (3 to 50 characters) and the\n`,_jsx(_components.strong,{children:`School’s base domain`}),` (3 to 20 characters: Latin letters, digits and hyphens). Your school address will\nlook like `,_jsx(_components.code,{children:`my-school.exode.biz`}),`.`]}),_jsxs(_components.p,{children:[`The platform creates the school, makes you its owner with all permissions and opens demo access. You land in\nthe school settings and see the message “School successfully created”. Learn more in\n`,_jsx(_components.a,{href:`/en/general/school-creation/registration`,children:`School registration`}),`.`]})]}),_jsx(Step,{title:`Design your website`,children:_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`My school → Settings`}),`. In `,_jsx(_components.strong,{children:`Information and domain`}),`, `,_jsx(_components.strong,{children:`Design and brand`}),`,\n`,_jsx(_components.strong,{children:`Catalog and footer`}),` and `,_jsx(_components.strong,{children:`Left site menu`}),`, set the name, logo, colors and the look of the catalog.\nSettings are saved automatically. Learn more in `,_jsx(_components.a,{href:`/en/general/school-setup/customization`,children:`Customization`}),`.`]})}),_jsxs(Step,{title:`Connect payment acceptance`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`My school → Payment acceptance`}),` and click `,_jsx(_components.strong,{children:`Connect cash register`}),`. Choose the `,_jsx(_components.strong,{children:`Payment provider`}),`,\nenter the details from the provider’s account and turn the cash register on.`]}),_jsxs(_components.p,{children:[`If the provider needs a notification link, the platform shows the “The cash register is almost ready” window.\nCopy the link into the provider’s account and click `,_jsx(_components.strong,{children:`I’ve set up the link`}),`. Without this link, the platform\nwon’t know that the student has paid. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/checkout-setup`,children:`Checkout page`}),`.`]})]}),_jsx(Step,{title:`Add legal documents`,children:_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`My school → Legal data`}),`, enter your business details and upload the public offer and the privacy\npolicy. A student sees a document that has `,_jsx(_components.strong,{children:`Show at registration`}),` turned on when they register and pay.\nThis step is optional for starting sales. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/legal/overview`,children:`Legal documents`}),`.`]})}),_jsxs(Step,{title:`Create a course and fill it with content`,children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Courses`}),`, create a course manually or with AI. Enter a name (up to 130 characters) and choose the\n`,_jsx(_components.strong,{children:`Access type`}),`: `,_jsx(_components.strong,{children:`Paid`}),` or `,_jsx(_components.strong,{children:`Free`}),`.`]}),_jsxs(_components.p,{children:[`Together with the course, the platform creates the launch “Launch #1” and the group “Group 1”. Add modules\nand lessons. New lessons are created as drafts — publish them, otherwise students won’t see them. Learn more\nin `,_jsx(_components.a,{href:`/en/general/courses/creating-courses`,children:`Creating courses`}),` and\n`,_jsx(_components.a,{href:`/en/general/lessons-modules/creating`,children:`Creating lessons and modules`}),`.`]})]}),_jsxs(Step,{title:`Create a tariff`,children:[_jsxs(_components.p,{children:[`In the course menu, open `,_jsx(_components.strong,{children:`Launch and tariffs`}),` and click `,_jsx(_components.strong,{children:`Create a tariff`}),`. Choose the payment method:\none-time payment, installments, subscription or external link. Fill in `,_jsx(_components.strong,{children:`Tariff name`}),`,\n`,_jsx(_components.strong,{children:`Current price`}),` (greater than zero) and `,_jsx(_components.strong,{children:`Group to add a student to after payment`}),`.`]}),_jsxs(_components.p,{children:[`The access period is set in the group settings: `,_jsx(_components.strong,{children:`Limit access time to the course`}),`. If the limit is not\nturned on, access has no end date. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/launches-and-pricing`,children:`Launch and tariffs`}),` and\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/payment-types`,children:`Payment types`}),`.`]})]}),_jsxs(Step,{title:`Check that the course is on sale`,children:[_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Launch settings`}),`, the `,_jsx(_components.strong,{children:`Launch on sale`}),` toggle must be on (for a free course it is called\n`,_jsx(_components.strong,{children:`Enrollment is active`}),`). For a paid course, the launch is turned on automatically when the course is created.\nFor a free course, you need to turn it on manually. A course is on sale when the launch is on, today’s date\nfalls within the sales period and the launch has at least one active tariff. The platform does no moderation:\nthe course appears in the catalog right away.`]}),_jsx(_components.p,{children:`The launch status is shown next to the menu item: “Active”, “Scheduled”, “No active tariffs” and others.`})]}),_jsxs(Step,{title:`Receive the first payment`,children:[_jsx(_components.p,{children:`The student chooses a tariff and pays. When the payment system confirms the payment, the platform opens\naccess to the course, adds the student to the tariff’s group and assigns them the group’s curator.`}),_jsxs(_components.p,{children:[`The student gets the “Payment completed” notification and a receipt by email. The school gets the “New\npayment for products” notification. The payment appears in `,_jsx(_components.strong,{children:`Sales → Payments`}),` and in the revenue on the\n`,_jsx(_components.strong,{children:`Home`}),` page. Learn more in `,_jsx(_components.a,{href:`/en/online-schools/sales-payments/accepting-payments`,children:`Accepting payments`}),`.`]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Until a cash register is connected, nobody can pay for a course. The student sees “Payment methods not found :(”,\nand a school staff member sees the hint “The school’s checkout is not set up”. Whether you can connect a cash\nregister depends on your tariff — see\n`,_jsx(_components.a,{href:`/en/general/reference/feature-status`,children:`What’s available on the platform`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`buying-and-taking-a-course-student`,children:`Buying and taking a course (student)`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Find a course`,children:_jsxs(_components.p,{children:[`The student opens the `,_jsx(_components.strong,{children:`Catalog`}),` on the school website and picks a course. The catalog shows courses whose\nlaunch is currently on sale. Learn more in `,_jsx(_components.a,{href:`/en/general/school-setup/course-catalog`,children:`Course catalog`}),`.`]})}),_jsxs(Step,{title:`Enroll in the course`,children:[_jsxs(_components.p,{children:[`For a free course, the student enrolls with the `,_jsx(_components.strong,{children:`Take the course for free`}),` button (`,_jsx(_components.strong,{children:`Start for free`}),` in\nthe mobile version) and goes straight to the first lesson. The student must be signed in to enroll.`]}),_jsxs(_components.p,{children:[`For a paid course, the student clicks `,_jsx(_components.strong,{children:`Enroll in a course`}),`, then `,_jsx(_components.strong,{children:`Pay`}),`, or `,_jsx(_components.strong,{children:`Tariffs`}),` if there are several\ntariffs. Demo lessons of a paid course can be taken without buying, but only after signing in.`]})]}),_jsxs(Step,{title:`Pay`,children:[_jsxs(_components.p,{children:[`On the payment page, the student can click `,_jsx(_components.strong,{children:`Enter promo code`}),` and apply a discount. If they don’t have an\naccount yet, they fill in `,_jsx(_components.strong,{children:`Email for password retrieval`}),` — the platform creates an account and sends the\nsign-in details.`]}),_jsxs(_components.p,{children:[`After a successful payment, the student sees “Congratulations on your purchase!” and the `,_jsx(_components.strong,{children:`Start learning`}),`\nbutton. If a promo code gives a 100% discount, the payment button changes to `,_jsx(_components.strong,{children:`Get access`}),`. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/promocodes-discounts`,children:`Promo codes and discounts`}),`.`]})]}),_jsxs(Step,{title:`Take the lessons`,children:[_jsxs(_components.p,{children:[`The course appears in `,_jsx(_components.strong,{children:`My learning`}),`. Lessons open in order unless `,_jsx(_components.strong,{children:`Free lesson progression`}),` is turned on\nin the course. A group can open lessons on a schedule.`]}),_jsxs(_components.p,{children:[`If a lesson has a `,_jsx(_components.strong,{children:`Video watch threshold`}),`, the lesson won’t be completed until the student watches each\nvideo to the required percentage. The platform shows “Videos must be watched”. Learn more in\n`,_jsx(_components.a,{href:`/en/general/lessons-modules/settings`,children:`Lesson settings`}),`.`]})]}),_jsxs(Step,{title:`Submit practice`,children:[_jsxs(_components.p,{children:[`Tasks with a detailed answer go to the curator for review. The platform checks all the others right away. If\nthe practice has a `,_jsx(_components.strong,{children:`Threshold of correct answers`}),`, the next lesson opens only after the result “Completed”\nor “Completed (auto)”. While the work is under review, the student sees “Wait for the practice review”.`]}),_jsxs(_components.p,{children:[`The review result arrives in the chat with the curator — in `,_jsx(_components.strong,{children:`Chats`}),`, the `,_jsx(_components.strong,{children:`Practice`}),` folder. Learn more in\n`,_jsx(_components.a,{href:`/en/general/lessons-modules/practice`,children:`Practice in a lesson`}),`.`]})]}),_jsxs(Step,{title:`Complete the course and get a certificate`,children:[_jsxs(_components.p,{children:[`In the last lesson, the student clicks `,_jsx(_components.strong,{children:`Complete the training`}),`. With free lesson progression, the button\nworks only when all lessons are completed.`]}),_jsxs(_components.p,{children:[`If certificate issuing is turned on in the course, the platform issues the certificate automatically. The\nstudent sees “Your certificate is being issued…”, then “Certificate received”. All certificates are collected\nin the `,_jsx(_components.strong,{children:`Certificates`}),` section. Learn more in `,_jsx(_components.a,{href:`/en/general/gamification/certificates`,children:`Certificates`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`paying-in-installments-and-what-happens-when-a-charge-fails-student`,children:`Paying in installments and what happens when a charge fails (student)`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose a tariff with installments`,children:_jsxs(_components.p,{children:[`On the payment page, the student sees the `,_jsx(_components.strong,{children:`Payment schedule`}),`: the number, date and amount of each part.\nDates are counted from the day of purchase — for each part, the school sets how many days later to charge it.\nA promo code discount is split evenly between all parts. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/installments`,children:`Installments`}),`.`]})}),_jsxs(Step,{title:`Link a card`,children:[_jsxs(_components.p,{children:[`The student clicks `,_jsx(_components.strong,{children:`Pay in installments`}),` and links a card. If the first part falls on the day of purchase,\nthe platform charges it to the card right away and opens access after a successful charge. If the first part\nis scheduled for a later date, access opens right after the card is linked.`]}),_jsxs(_components.p,{children:[`If the school has turned on `,_jsx(_components.strong,{children:`Option for one-time payments`}),`, no card is linked: the student pays each part\nthemselves by invoice.`]})]}),_jsxs(Step,{title:`Keep track of the schedule`,children:[_jsxs(_components.p,{children:[`All of the student’s installment plans are collected on the `,_jsx(_components.strong,{children:`Payments and bills`}),` page in their account. It\nshows the schedule, the next payment date and the linked card. The student can change the card and pay any\npart in advance with the `,_jsx(_components.strong,{children:`Pay`}),` button.`]}),_jsx(_components.p,{children:`The platform checks the schedule every 30 minutes and charges the parts that are due. The next part is not\ncharged until the previous one is paid.`})]}),_jsxs(Step,{title:`If a charge fails`,children:[_jsx(_components.p,{children:`The part gets the “Unsuccessful” status, and the student gets a message about the failed charge by SMS,\nemail or Telegram, depending on which contacts they have. The platform retries the charge three more times:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`after 3 hours, or after 12 hours if it is night in the student’s time zone (22:00 to 08:00);`}),`\n`,_jsx(_components.li,{children:`one day after the payment date;`}),`\n`,_jsx(_components.li,{children:`two days after the payment date.`}),`\n`]}),_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Payments and bills`}),`, the student sees the retry date and the “Pay by” deadline. They don’t have to wait\nand can pay the part manually with any available method. While the retries continue, access to the course\nis kept.`]})]}),_jsxs(Step,{title:`If all attempts fail`,children:[_jsx(_components.p,{children:`After the fourth failed attempt, the installment plan is canceled. All remaining parts get the “Canceled”\nstatus, the student is removed from the tariff’s group, and access to the course closes. The student gets a\nmessage that access has ended. Lesson progress is kept.`}),_jsx(_components.p,{children:`The old invoice can no longer be paid: the platform responds “The subscription or installment plan is\ninactive”.`})]}),_jsx(Step,{title:`Restore the installment plan`,children:_jsxs(_components.p,{children:[`Only the school can resume an installment plan: in `,_jsx(_components.strong,{children:`Sales → Installments`}),`, a staff member opens the plan\nand clicks `,_jsx(_components.strong,{children:`Activate`}),`. The canceled parts return to the schedule, and the overdue part is charged at the\nnext schedule check.`]})})]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Subscriptions follow the same rules for failed charges. A student can cancel a subscription themselves — access\nstays until the end of the paid period. A student cannot cancel an installment plan.`})}),`\n`,_jsx(Heading,{level:`2`,id:`running-a-group-and-checking-practice-curator`,children:`Running a group and checking practice (curator)`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Get curator permissions`,children:_jsxs(_components.p,{children:[`The owner adds you in `,_jsx(_components.strong,{children:`My school → Team`}),` with the `,_jsx(_components.strong,{children:`Add to team`}),` button and checks the\n`,_jsx(_components.strong,{children:`Course curator`}),` permission. The number of staff members is limited by the tariff. Learn more in\n`,_jsx(_components.a,{href:`/en/general/roles-permissions/user-roles`,children:`User roles`}),` and\n`,_jsx(_components.a,{href:`/en/general/roles-permissions/access-rights`,children:`Access rights`}),`.`]})}),_jsxs(Step,{title:`Get assigned to a group`,children:[_jsxs(_components.p,{children:[`The owner or an administrator opens the course group, goes to `,_jsx(_components.strong,{children:`Settings`}),` and selects you in the\n`,_jsx(_components.strong,{children:`Group curators`}),` block. New students of the group are distributed between the curators in turn. Each\nstudent gets a personal chat with their curator in the `,_jsx(_components.strong,{children:`Practice`}),` folder of `,_jsx(_components.strong,{children:`Chats`}),`.`]}),_jsxs(_components.p,{children:[`If no curators are selected, the platform warns: “Curators not selected” — personal chats with curators are\nnot created. Learn more in `,_jsx(_components.a,{href:`/en/general/groups/group-settings`,children:`Group settings`}),`.`]})]}),_jsx(Step,{title:`Set up the group`,children:_jsxs(_components.p,{children:[`The group menu has `,_jsx(_components.strong,{children:`Access to lessons`}),` and `,_jsx(_components.strong,{children:`Completion deadlines`}),`. There you set when each lesson opens\nand the deadlines for modules, lessons and practices. In the group settings, you can turn on\n`,_jsx(_components.strong,{children:`Group chat in messenger`}),` and `,_jsx(_components.strong,{children:`Channel in messenger`}),`. Learn more in\n`,_jsx(_components.a,{href:`/en/general/groups/creating-groups`,children:`Creating groups`}),`.`]})}),_jsx(Step,{title:`Monitor your students`,children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Group students`}),` page shows each student’s current lesson, progress, nearest deadline and access\nperiod. You can filter the list by lesson, curator and progress.`]})}),_jsxs(Step,{title:`Open work for review`,children:[_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Practice`}),` — this is the check center. A student’s work gets there if the practice has a task with a\ndetailed answer. The platform checks the other task types by itself. The `,_jsx(_components.strong,{children:`Assigned to me`}),` filter leaves only\nyour students.`]}),_jsxs(_components.p,{children:[`If `,_jsx(_components.strong,{children:`The practices are reviewed by all school curators`}),` is turned off in the course settings, the course’s\nwork is visible only to the curators of its groups. Learn more in\n`,_jsx(_components.a,{href:`/en/general/lessons-modules/checking-practice`,children:`Checking practice`}),`.`]})]}),_jsxs(Step,{title:`Set the result`,children:[_jsxs(_components.p,{children:[`The work opens in the chat with the student. Give points for the answers, choose “Completed”,\n“Needs revision” or “Fail” and click `,_jsx(_components.strong,{children:`Send`}),`. The student gets the message “Practice checked” with the result.`]}),_jsxs(_components.p,{children:[`With “Needs revision”, the student fixes the same attempt, and no new attempt is used. With “Fail”, the\nstudent starts a new attempt. If the attempts have run out, click `,_jsx(_components.strong,{children:`Reset attempts`}),` — the student can submit\nthe work again.`]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`granting-access-manually-and-extending-it-administrator`,children:`Granting access manually and extending it (administrator)`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Add users`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`People → All users`}),` and click `,_jsx(_components.strong,{children:`Add user`}),`. Enter an email or a phone number — up to 100 contacts at a\ntime. You can paste the list from the clipboard. You can grant access right away: choose a course and a group.`]}),_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Send invitations`}),`. The platform creates accounts and sends users their login and password. If a user\nalready exists in the school, they are counted under “Existing”. To grant them access, check\n`,_jsx(_components.strong,{children:`Grant access if the user already exists`}),`. Learn more in\n`,_jsx(_components.a,{href:`/en/general/users/adding-users`,children:`Adding users`}),`.`]})]}),_jsxs(Step,{title:`Grant access to a course`,children:[_jsxs(_components.p,{children:[`To grant access to one person, open their card, click `,_jsx(_components.strong,{children:`Grant access`}),`, choose the course and the group and\nconfirm with `,_jsx(_components.strong,{children:`Grant access`}),`. To add many people at once, open the course group and click `,_jsx(_components.strong,{children:`Add students`}),` —\nup to 250 people at a time.`]}),_jsxs(_components.p,{children:[`Access granted manually is free: no payment is created. This action requires the\n`,_jsx(_components.strong,{children:`School user management`}),` permission. Learn more in\n`,_jsx(_components.a,{href:`/en/general/users/adding-to-course`,children:`Adding to a course`}),`.`]})]}),_jsxs(Step,{title:`Check the access period`,children:[_jsxs(_components.p,{children:[`The group defines the access period. In its settings, in the `,_jsx(_components.strong,{children:`Access restriction`}),` block, you can turn on\n`,_jsx(_components.strong,{children:`Limit access time to the course`}),` and choose the starting point: `,_jsx(_components.strong,{children:`Since joining the group`}),` or\n`,_jsx(_components.strong,{children:`Starting from the selected date`}),`. If the limit is not turned on, access has no end date.`]}),_jsx(_components.p,{children:`If a student is in several groups of the course, the latest end date applies. If at least one of their groups\nhas no limit, access has no end date. The period is shown in the user card: “Access until” and the date.`})]}),_jsxs(Step,{title:`Extend access`,children:[_jsx(_components.p,{children:`There is no separate field for the access end date. You can extend access in two ways:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`increase the period in the group settings — the new period applies to all students of the group right away;`}),`\n`,_jsx(_components.li,{children:`add the student to another group of this course with a longer period or no limit.`}),`\n`]}),_jsxs(_components.p,{children:[`Learn more in `,_jsx(_components.a,{href:`/en/general/groups/group-settings`,children:`Group settings`}),`.`]})]}),_jsx(Step,{title:`Pause or close access`,children:_jsx(_components.p,{children:`To close the course temporarily, use the access freeze toggle in the user card. To close access for good,\nremove the student from the group. If they have no other groups in this course, access closes.`})}),_jsx(Step,{title:`What the student sees after the period ends`,children:_jsx(_components.p,{children:`Lessons get the “Access expired” status, and the student sees a screen with no access to the course. The\nstudent’s progress is not deleted. The platform doesn’t send notifications about the end of the period — warn\nyour students yourself.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`getting-the-money-you-have-earned-owner`,children:`Getting the money you have earned (owner)`}),`\n`,_jsx(_components.p,{children:`In an online school, Exode doesn’t keep students’ money on an internal balance. Payments go through the cash\nregister you connected and reach your account with the payment system according to its rules.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect a cash register with your own details`,children:_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`My school → Payment acceptance`}),`, connect a cash register with the details of your contract with the\npayment system. Payments will arrive in the account under this contract. Learn more in\n`,_jsx(_components.a,{href:`/en/online-schools/sales-payments/checkout-setup`,children:`Checkout page`}),`.`]})}),_jsx(Step,{title:`Accept payments`,children:_jsx(_components.p,{children:`The student pays through your cash register. The platform gets confirmation from the payment system and opens\naccess. The money itself goes directly through the payment system — Exode doesn’t hold it.`})}),_jsx(Step,{title:`Reconcile payments`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sales → Payments`}),` shows all student payments. You can filter them by payment status, course, cash register,\ncreation date, amount and UTM tags. Installments and subscriptions are in `,_jsx(_components.strong,{children:`Installments`}),` and\n`,_jsx(_components.strong,{children:`Subscriptions`}),`. Learn more in `,_jsx(_components.a,{href:`/en/online-schools/sales-payments/accepting-payments`,children:`Accepting payments`}),`.`]})}),_jsx(Step,{title:`Check your revenue`,children:_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Home`}),` page, the “Revenue” metric is the sum of all successful payments for the selected period,\nexcluding refunds. Learn more in `,_jsx(_components.a,{href:`/en/general/analytics/main-analytics`,children:`Home analytics`}),`.`]})}),_jsx(Step,{title:`Withdraw money in the payment system's account`,children:_jsx(_components.p,{children:`Money is credited and withdrawn to your bank account in your payment system’s personal account. The payment\nsystem sets the timing and fees.`})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The “Withdrawal of funds” and “Balance operations” sections exist only for authors who sell courses on the\nExode marketplace. An online school doesn’t have them, and no seller verification is needed to accept payments.`})}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently asked questions`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Do I need to pass verification or moderation to start selling?`,id:`do-i-need-to-pass-verification-or-moderation-to-start-selling`,children:_jsx(_components.p,{children:`No. In an online school, the platform doesn’t review courses or verify sellers. A course is on sale as soon as\nthe launch is on, the sales period has started and the launch has an active tariff.`})}),_jsx(Accordion,{title:`Why can't a student pay for a course?`,id:`why-cant-a-student-pay-for-a-course`,children:_jsxs(_components.p,{children:[`Check in this order. The school must have a cash register connected and turned on. The launch must be on\n(“Launch on sale”), and today’s date must be within the sales period. The launch must have at least one active\ntariff. For installments and subscriptions, the cash register must support automatic card charges — otherwise\nturn on `,_jsx(_components.strong,{children:`Option for one-time payments`}),` in the tariff.`]})}),_jsx(Accordion,{title:`Why doesn't the next lesson open for a student?`,id:`why-doesnt-the-next-lesson-open-for-a-student`,children:_jsxs(_components.p,{children:[`Possible reasons: the `,_jsx(_components.strong,{children:`Threshold of correct answers`}),` in the practice is not reached, the work is still under\nreview by the curator, the video is not watched up to the `,_jsx(_components.strong,{children:`Video watch threshold`}),`, or the group opens the\nlesson later on schedule.`]})}),_jsx(Accordion,{title:`What happens if a student doesn't pay the next installment?`,id:`what-happens-if-a-student-doesnt-pay-the-next-installment`,children:_jsxs(_components.p,{children:[`The platform makes four charge attempts within two days after the payment date. If none of them succeeds, the\ninstallment plan is canceled, the student is removed from the tariff’s group and access closes. The school can\nresume the installment plan with the `,_jsx(_components.strong,{children:`Activate`}),` button in `,_jsx(_components.strong,{children:`Installments`}),`.`]})}),_jsx(Accordion,{title:`Why didn't a free course appear in the catalog?`,id:`why-didnt-a-free-course-appear-in-the-catalog`,children:_jsxs(_components.p,{children:[`A free course’s launch is created turned off. In the course menu, open `,_jsx(_components.strong,{children:`Launch and tariffs`}),` and turn on the\nenrollment toggle so that it shows `,_jsx(_components.strong,{children:`Enrollment is active`}),`. Also check that the course is not archived and\nthat the launch’s sales dates haven’t passed.`]})}),_jsx(Accordion,{title:`How do I move a student to another group?`,id:`how-do-i-move-a-student-to-another-group`,children:_jsx(_components.p,{children:`There is no separate transfer button. First add the student to the new group, then remove them from the old\none. If you do it the other way round and the old group was the only one, access to the course will close.`})}),_jsx(Accordion,{title:`Why didn't a student get a certificate?`,id:`why-didnt-a-student-get-a-certificate`,children:_jsxs(_components.p,{children:[`A certificate is issued when the student clicks `,_jsx(_components.strong,{children:`Complete the training`}),` in the last lesson. Issuing must be\nturned on in the course’s `,_jsx(_components.strong,{children:`Certificates`}),` section with a template selected. Check that the student has\ncompleted the course.`]})}),_jsx(Accordion,{title:`Where do I get the money students paid?`,id:`where-do-i-get-the-money-students-paid`,children:_jsxs(_components.p,{children:[`In your payment system’s account. Payments go through the school’s cash register directly to your account —\nExode doesn’t hold them on its balance. You can reconcile payments in `,_jsx(_components.strong,{children:`Sales → Payments`}),`.`]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Updated: 2026-10-17 07:07 UTC`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"User scenarios","description":"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money","href":"/en/online-schools/getting-started/user-scenarios"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Launching a school and making the first sale (owner)","slug":"launching-a-school-and-making-the-first-sale-owner","depth":2,"children":[]},{"title":"Buying and taking a course (student)","slug":"buying-and-taking-a-course-student","depth":2,"children":[]},{"title":"Paying in installments and what happens when a charge fails (student)","slug":"paying-in-installments-and-what-happens-when-a-charge-fails-student","depth":2,"children":[]},{"title":"Running a group and checking practice (curator)","slug":"running-a-group-and-checking-practice-curator","depth":2,"children":[]},{"title":"Granting access manually and extending it (administrator)","slug":"granting-access-manually-and-extending-it-administrator","depth":2,"children":[]},{"title":"Getting the money you have earned (owner)","slug":"getting-the-money-you-have-earned-owner","depth":2,"children":[]},{"title":"Frequently asked questions","slug":"frequently-asked-questions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/exode-faq/0f03cceb9db709c8/lang-detect.js"],"subdomain":"exode-faq","siteName":"Exode — Product documentation","title":"User scenarios - Exode — Product documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/online-schools/getting-started/user-scenarios","matchLevel":0},"ru":{"href":"/ru/online-schools/getting-started/user-scenarios","matchLevel":1}}},"lastModified":"2026-10-17T07:36:12.769Z","originalFileLocation":"en/online-schools/getting-started/user-scenarios.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\">\u003cmeta data-mint-head name=\"application-name\" content=\"Exode — Product documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"User scenarios - Exode — Product documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Exode — Product documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://exode-faq.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=User+scenarios\u0026amp;description=End-to-end+scenarios+step+by+step%3A+launching+a+school+and+making+the+first+sale%2C+buying+and+taking+a+course%2C+installments%2C+curator+work%2C+granting+access+manuall\u0026amp;theme=4b81d533b2a2f5ec2be885ba\u0026amp;signature=800b251158730558e7622023ce3ee3575989513c29702709b8ff01db8ec9770d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"User scenarios - Exode — Product documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://exode-faq.mintlify.app/_mintlify/api/og/v2?division=Getting+started\u0026amp;title=User+scenarios\u0026amp;description=End-to-end+scenarios+step+by+step%3A+launching+a+school+and+making+the+first+sale%2C+buying+and+taking+a+course%2C+installments%2C+curator+work%2C+granting+access+manuall\u0026amp;theme=4b81d533b2a2f5ec2be885ba\u0026amp;signature=800b251158730558e7622023ce3ee3575989513c29702709b8ff01db8ec9770d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/exode-faq/Wp7VM_dlt_4QlPSi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Exode — Product documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0e32cf\">\u003clink data-mint-head rel=\"canonical\" href=\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/online-schools/getting-started/user-scenarios.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://faq.exode.biz/ru/online-schools/getting-started/user-scenarios\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://faq.exode.biz/#organization\",\"name\":\"Exode — Product documentation\",\"url\":\"https://faq.exode.biz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/exode-faq/RM155sfnW-prDXlV/logo/dark.svg?fit=max\u0026auto=format\u0026n=RM155sfnW-prDXlV\u0026q=85\u0026s=226b8c34c13ebf24544dd5b62ed2a413\"}},{\"@type\":\"WebSite\",\"@id\":\"https://faq.exode.biz#website\",\"name\":\"Exode — Product documentation\",\"url\":\"https://faq.exode.biz\",\"publisher\":{\"@id\":\"https://faq.exode.biz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios#webpage\",\"url\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\",\"name\":\"User scenarios\",\"description\":\"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\",\"dateModified\":\"2026-10-17T07:36:12.769Z\",\"isPartOf\":{\"@id\":\"https://faq.exode.biz#website\"},\"breadcrumb\":{\"@id\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Exode — Product documentation\",\"item\":\"https://faq.exode.biz\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"User scenarios\",\"item\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios#article\",\"headline\":\"User scenarios\",\"name\":\"User scenarios\",\"description\":\"End-to-end scenarios step by step: launching a school and making the first sale, buying and taking a course, installments, curator work, granting access manually and getting your money\",\"url\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios\",\"mainEntityOfPage\":{\"@id\":\"https://faq.exode.biz/en/online-schools/getting-started/user-scenarios#webpage\"},\"dateModified\":\"2026-10-17T07:36:12.769Z\",\"publisher\":{\"@id\":\"https://faq.exode.biz/#organization\"},\"isPartOf\":{\"@id\":\"https://faq.exode.biz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Exode — Product documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Exode — Product documentation","nav":{"global":null,"languages":[{"language":"en","navbar":{"links":[{"icon":"phone","href":"tel:781139570","label":"78-113-95-70"},{"href":"https://docs.exode.biz/en/welcome","label":"API"}],"primary":{"type":"button","label":"Support","href":"https://t.me/exode_biz_support"}},"tabs":[{"tab":"General","pages":[{"title":"General","href":"/en/welcome"}]},{"tab":"Online schools","groups":[{"group":"Getting started","pages":[{"title":"User scenarios","href":"/en/online-schools/getting-started/user-scenarios"},{"title":"Subscription and tariffs","description":"How a school's Exode subscription works: the demo period, tariff limits and features, payment, changing the tariff and what happens when the subscription ends","href":"/en/online-schools/getting-started/subscription-plans"}]},{"group":"Sales and payments","pages":[{"title":"Launch and tariffs","href":"/en/online-schools/sales-payments/launches-and-pricing"},{"title":"Checkout page","href":"/en/online-schools/sales-payments/checkout-setup"},{"group":"Payment acceptance","root":{"title":"Payment acceptance","href":"/en/online-schools/sales-payments/accepting-payments"},"pages":[{"title":"Payment methods and statuses","href":"/en/online-schools/sales-payments/payment-types"}]},{"title":"Payments and invoices","href":"/en/online-schools/sales-payments/invoices"},{"title":"Installments and subscriptions","href":"/en/online-schools/sales-payments/installments"},{"title":"Promo codes and discounts","href":"/en/online-schools/sales-payments/promocodes-discounts"}]},{"group":"Legal documents","pages":[{"title":"Legal documents","href":"/en/online-schools/legal/overview"},{"title":"Legal document types","href":"/en/online-schools/legal/document-types"}]},{"group":"Marketing","pages":[{"title":"UTM tags and pixels","href":"/en/online-schools/marketing/utm-tags"},{"title":"Sales funnels","href":"/en/online-schools/marketing/sales-funnels"}]}]},{"tab":"Corporate training and HR","pages":[{"title":"Corporate training and HR","href":"/en/corporate/overview"}]}]},{"language":"ru","navbar":{"links":[{"icon":"phone","href":"tel:781139570","label":"78-113-95-70"},{"href":"https://docs.exode.biz/ru/welcome","label":"API"}],"primary":{"type":"button","label":"Поддержка","href":"https://t.me/exode_biz_support"}},"pages":[{"title":"ru","href":"/ru/online-schools/getting-started/user-scenarios"}]}]},"title":"User scenarios - Exode — Product documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}