XPortal Handbook
ApplicationsEnrollmentRolling intakes

How study plans are built

Exactly how XPortal chooses a student's first subject, lines up every subject after it, and checks that the course fits.

When you fill in the Enrollment tab of an application, XPortal builds the student's study plan on the spot. It is not guesswork, and it is not random. It follows a small set of rules every time, so the same inputs always give the same plan.

This page explains those rules in plain terms, with examples, so you can predict a plan before you see it and explain it to a student afterwards.

The three things XPortal needs

InputWhere it comes fromWhat it decides
ProgramThe application's programWhich subjects, in which order, and how long the course may take
Preferred LocationThe campus the student will attendWhich runs of each subject are considered. Runs at other campuses are ignored.
Earliest Commencement DateThe first day the student is able to startWhich run they can join first

That's all. XPortal doesn't look at groups, classes, trainers or rooms when it builds a plan. Those come later, at orientation. A run with no classes yet counts just the same as one with a full timetable.

Before the plan: the setup check

As soon as you choose a program and a campus, XPortal checks that the program can be planned there. If anything is missing, you'll see Auto Mode setup required with a list of what to fix and a button that opens the right page:

  • Program duration: the program needs a Total Duration Weeks (full course).
  • Academic rules: the program needs required subjects, and at least one of them must be a normal scheduled subject.
  • Subject deliveries: every required subject needs at least one run at this campus. Each missing subject is listed as a button that opens its Academic Planning page.

The Earliest Commencement Date field only appears once this check passes. Fix the listed items, and the date field appears.

Step by step: how the plan is built

1. Find the first run the student can still join

XPortal looks at every run of every required subject at the chosen campus. Of all the runs whose midpoint is on or after the earliest commencement date, it picks the one that starts first.

That run's subject becomes the student's first subject. It might be subject #1, but in a rolling intake it usually isn't. It is simply whatever subject the course is up to when the student arrives.

2. Set the student's first day

The student starts on the later of:

  • their earliest commencement date, or
  • the first day of that run.

So a student available from Wednesday who joins a run that began on Monday starts on Wednesday. A student available from last Friday who joins a run beginning next Monday starts on Monday. Either way, the first subject ends when the run ends.

3. Work round the loop

From the first subject, XPortal follows the program's order: the next subject, then the one after, and so on. When it reaches the end of the list, it wraps back to the top and continues until it has placed every scheduled subject exactly once.

For each subject after the first, XPortal chooses the earliest run of that subject that starts on or after the day the previous subject started. The student takes that run's full dates.

In a calendar where subjects run back to back in program order, that is simply the run straight after the previous one, so the student moves from subject to subject without a break.

4. Check the course fits

XPortal works out the course's finishing line. It counts the week the student starts in as week one, adds the program's Total Duration Weeks, and finishes on the Sunday of the last week.

  • If any subject would start after that Sunday, the plan doesn't fit. You'll see The selected delivery sequence cannot fit inside the configured course duration.
  • If the last subject would run past that Sunday, its end date is trimmed to the Sunday.

5. Add prerequisites

Finally, XPortal places the prerequisites you set up in the program's Academic Rules:

  • Program prerequisites set to Delivery are placed in the most recent run, at this campus, that finishes before the student's first day. If there isn't one, the plan can't be built.
  • Program prerequisites set to Manual dates go at the top of the plan, marked Needs dates.
  • Subject prerequisites set to Manual dates go just before the first subject that needs them, marked Needs dates.
  • Subject prerequisites set to Delivery were already scheduled in step 3, in their normal place in the loop.

A worked example

Here is a real preview for a carpentry student whose Earliest Commencement Date is Wednesday 9 September 2026. This campus runs one subject a week, in program order.

RowSubjectStartEndWhy
1#22 Conduct workplace communicationWed 9 Sep 2026Sun 13 SepThe week of 7 to 13 Sep has its midpoint on Thursday 10 Sep. The student can start on the 9th, so they join it. It is the earliest run they can still catch, so the plan starts here, at #22.
2#23 Perform construction calculations…Mon 14 SepSun 20 SepThe next run of #23 after 9 Sep.
3#24 Carry out measurements and calculationsMon 21 SepSun 27 SepAnd so on, one subject per week.
…#25 to #2828 Sep to 25 Oct
8#29 Construct and install bulkheadsMon 2 NovSun 15 NovThe next run of #29 starts a week after #28 ends. That leaves a one-week gap, and #29 is a two-week run.
…#30 and #3116 Nov to 20 Dec
11#32 Carry out general demolition…Mon 28 DecSun 10 Jan 2027The next run of #32 starts on 28 Dec. Perhaps the campus breaks for Christmas. So the student waits a week.
…#33 and #3411 Jan to 31 Jan 2027The end of the program's list.
14#1 Apply WHS requirements…Mon 1 Feb 2027Sun 7 FebThe loop wraps back to the top.
15#2 Identify construction work hazards…Mon 8 FebSun 14 Feb…and carries on until #21, the last subject before where they started.

Notice three things:

  • The student did not start at #1. They joined the course where it was.
  • Every subject after the first has the run's full dates. Only the first can be joined partway through.
  • Gaps come straight from the calendar. If there is no run starting the week after a subject, the student waits for the next one. To remove a gap, add a run there.

The same student, two days later

Now suppose the student can't start until Friday 11 September. The #22 run's midpoint, Thursday 10 September, has passed, so it is too late to join it. The earliest run they can catch is #23 on Monday 14 September.

Their plan now starts at #23 on 14 September. It runs through #34, wraps to #1, and ends with #22 on its next run, at the end of the loop.

This is expected, and it is fair: two students a couple of days apart get plans that start one subject apart. Everything else about the plans follows the same rules.

Where the course ends

If this program's duration were 52 weeks, the Wednesday 9 September 2026 student's week one ends on Sunday 13 September. Their course therefore ends on Sunday 5 September 2027. Every subject in their loop must start on or before that day, and the last subject is trimmed to end there.

What the preview messages mean

MessageWhat it meansWhat to do
Select a program, location, and commencement date to see the auto enrollment preview.One of the three inputs is still empty.Fill it in.
Auto Mode setup requiredThe program cannot be planned at this campus yet.Use the buttons on the card to fix each listed item.
No academic rules are configured for this program.The program has no required subjects.Add them in the program's Academic Rules.
Add deliveries at this location for subject IDs: …Some subjects have no run at this campus at all.Add a delivery for each of them.
No complete sequence of eligible subject deliveries was found for this commencement date.XPortal found a starting run but could not place every subject after it. Or a Program prerequisite set to Delivery has no run finishing before the start.Check that every subject has runs far enough into the future, and that delivery prerequisites have an earlier run.
Set a positive total duration in weeks on this program…The program has no duration.Set Total Duration Weeks (full course).
The selected delivery sequence cannot fit inside the configured course duration.The loop reaches a subject that starts after the course end date.Try a later commencement date, add runs to close gaps, or review the program's duration.

Things that don't affect the plan

People often expect these to change a plan. They don't:

  • Classes, rooms and trainers. Only run dates matter here.
  • Groups and seats. Groups are chosen at orientation, and every group at a campus follows the same subject loop.
  • Credit transfers. Marking a subject as a credit transfer does not shorten or reorder the plan. The subject keeps its place and dates; it is recorded as a credit transfer, and the student won't be given its classes.
  • Runs at other campuses, and runs kept for other programs.

Packaged courses

An application can include more than one program. Select Add Another Program in the Enrollment tab. Each program gets its own card with its own Program, Preferred Location and Earliest Commencement Date, and XPortal builds a separate plan for each. Choose each program's earliest commencement date so it fits after, or alongside, the others as your packaging requires.

Predicting a plan yourself

If a student asks "when would I start, and what would I do first?", you can work it out in the same way XPortal does:

  1. Go to the campus's calendar of runs and find the first run, of any subject, whose midpoint hasn't passed on their available date.
  2. That's their first subject. They start on their available date or the run's first day, whichever is later.
  3. Follow the program order from there, taking the next run of each subject, and wrap round at the end.

Or simply enter the details in a draft application and read the preview. It is recalculated instantly, and it is exactly the plan the student would get.

Next: what happens to the plan as the application moves forward, in From application to enrolment.

On this page