onCourse implements a DSL built on top of Apache Groovy. This provides you a powerful language for creating scripts, exports and reports inside onCourse.

This document only describes the DSL extensions to Groovy. You have the entire language at your disposal and you should take the time to read the excellent documentation available. Note that you cannot use closures inside JasperReport templates. For exports only, you can also make use of the SuperCSV project to simplify the generation of CSV export data.

I: Script blocks and other

AttachableTrait

Entities which extends this trait may have custom fields, for example Contact, Course

attachDocument(doc)

  • doc Document the document to be attached to this tutor

documents

  • Returns List of Document all attached documents

CanvasScriptClosure

Integration allows us to establish interaction between Canvas LMS and onCourse enrol system.

  1. Add enrolments to Enrolments automatically as they are enrolled in onCourse.

Canvas {
    name "Canvas integration 1"
    enrolment e
    course_code "My-Canvas-Course"
    section_code "key." + e.courseClass.uniqueCode
           create_section true
           create_student true
}

Setting 'create_section' to true will create a new Canvas sections from the equivalent onCourse Class if one does not already exist inside your Canvas instance. Setting 'create_student' to true will create a new Canvas User profile for the enrolled student if one does not exist in your Canvas instance.

CloudAssessScriptClosure

Integration allows us to establish interaction between CloudAssess and onCourse enrol system.

Add enrolments to CloudAssess automatically as they are enrolled in onCourse.*

cloudassess {
    name "cloud assess integration 1"
    action "enrol"
    enrolment e
}

Name property here is the name of CloudAssess integration which should be created in onCourse beforehand.

Specify a CloudAssess course code which is different to the onCourse course code with the options 'code' parameter.

cloudassess {
    name "cloud assess integration 1"
    action "enrol"
    enrolment e
    code "ABCT.2017"
}

Create a course in CloudAssess.

cloudassess {
    name "cloud assess integration 1"
    action "course"
    courseName "ISH Test Course 1"
    code "ABCT.2017"
    qualification "SITHFAB201"
}

This syntax will create a course with the name and code as specified. CloudAssess has a concept of "qualification" which is different to the onCourse Qualification. In CloudAssess it represents something more like a "course template".

If this course code already exists in CloudAssess, then this script does nothing and doesn’t throw an error.

Because CloudAssess doesn’t cope well with thousands of enrolments in a single course, this feature is useful to split up enrolments into one CloudAssess course per month (or any other period).

Fetch outcomes from CloudAssess

updated_outcomes = cloudassess {
    name "cloud assess integration 1"
    action "outcomes"
    since now - 7
}

This will return a list of outcomes modified in CloudAssess in the last 7 days. These outcomes are in a different context to the one the script runs in, so you’ll need to copy them across in order to save the data in onCourse.

updated_outcomes.each() { o ->
    def o1 = args.context.localObject(o)
    o1.status = o.status
}
args.context.commitChanges()

action(action)

Set CloudAssess action: "enrol" is only supported at this time.

  • action String list action string

code(code)

  • code String Documentation not yet available

courseName(courseName)

  • courseName String Documentation not yet available

enrolment(enrolment)

Set enrolment which will be created in CloudAssess.

qualification(qualification)

  • qualification String Documentation not yet available

since(since)

  • since Date Documentation not yet available

CoassembleScriptClosure

Integration allows us to establish interaction between E-coach and onCourse enrol system.

  1. Add enrolments to Enrolments automatically as they are enrolled in onCourse.

ecoach {
    name "name of intagration"
    enrolment record
}

name is not mandatory

CollegePreferenceService

Service for accessing college preferences.

get(prefName, defaultValue)

  • prefName String name of preference @param defaultValue default value @return preference value if it is not null, otherwise returns default value

  • defaultValue Object default value @return preference value if it is not null, otherwise returns default value

  • Returns Object preference value if it is not null, otherwise returns default value

get(prefName)

  • prefName String name of preference @return preference value if it is not null, otherwise returns empty string.

  • Returns Object preference value if it is not null, otherwise returns empty string.

hasSurveyForm

  • Returns boolean Documentation not yet available

CsvBuilder

This class is a simple wrapper to make exporting CSV and other formats really easy. Use it like this within an export script:

csv << [
        "first name": contact.firstName
        "last name": contact.lastName
        "student number": contact.student.studentNumber
]

If you want to change the delimiters, quote or end of line, you should do that before you call csv << []

Note that this builder is really flexible and isn’t just for CSV. Use it for any output with consistent separators between fields.

addRow(row)

Appends new row to builder’s output. Instead of calling this method by name, you can use the symbol "<<" as seen in the example above.

If you call this more than once, the header is automatically disabled for the second and subsequent calls.

  • row Map mapping of column names to values

enableHeader(writeHeader)

Use this to disable the header line

csv.enableHeader = false

  • writeHeader boolean defaults to true @return

setDelimiter(delimiter)

Set the delimiter to something else.

csv.delimiter = ';'

  • delimiter int defaults to ,

setEndOfLine(endOfLine)

Set the end of line to something else.

csv.endOfLine = '\n'

  • endOfLine String defaults to a \r\n

setQuote(quote)

Set the quote to something else.

csv.quote = '|'

  • quote char defaults to a "

CustomFieldTrait

DocumentService

This class contains simple image closure which allow to put any images from document management system to email template. The syntax is

${image 'picture_1'}.

'picture_1' is name of document in onCourse system. If onCourse have more than one document with the same name then the first one will be chosen. Make sure that required image has unique name to prevent such collision. The image closure interpreted into simple img html tag like: <img src="images/placeholder.png" class="lazy" data-src="https://bucket-ish-oncourse.s3.amazonaws.com/c1ba6238-52f8-43e9-8298-e2bbfc493918?AWSAccessKeyId=NHMUJXKH3BBF6M6QEVOA&Expires=1458561937&Signature=Ej3ittJs7finYguCjnh5WsBhdeD%RR">

Document script block

Document creation API.

Simple usage example:

output = report {
        records someList
        keyCode ish.classReport
        background myFile
        }

d = document {
     action "create"
     content output
     name "myreport"
     mimeType "image/pdf"
        permission AttachmentInfoVisibility.PUBLIC
        attach tutor_1, tutor_1
}

Or just attach existing document to any attachable records

 document {
     action "attach"
     document d
     attach tutor_1, enrolment_1, certificate_1
        }

action(action)

Create new document or attach existing document

  • action String list action string

attach(attach)

content(content)

  • content byte[] for newly created document

document(document)

  • document Document existing document record to attach

mimeType(mimeType)

  • mimeType String for newly created document

name(name)

  • name String for newly created document

permission(permission)

Email script block

Email sending API. You can render email content from templates or a text string. If the recipient is a contact object and there is no attachment, the message is stored inside the onCourse database. If the recipient is an email address or there is an attachment, then the message is sent directly without storage.

Simple usage example:

email {
    template "Enrolment Confirmation"
    bindings enrolment: e
    to c
}

The above example will render the template with the name "Enrolment Confirmation" and pass "enrolment" to that template with the value of the Enrolment e in the script. It will send that email to the contact c.

You can optionally also pass a from address if you don’t want to use the default email.from preference. And you can override the email address associated with a certain contact or send to a list of contacts.

email {
    template "Enrolment Confirmation"
    from "college@example.com"
    to c1, c2 >> "anotheremail@example.com"
    bindings enrolment: e
}

The only lines which are required are "template", "bindings" and "to"

You can send emails to an email address (instead of a contact record) and attach a file, without storing this data inside onCourse.

Usage example:

 email {
     from "admin@example.com"
     to "recipient@example.com"
     cc "ccrecipient@example.com"
     bcc "bccrecipient@example.com"
     subject "test email"
     content "test email content"
     attachment "accounts.csv", "text/csv", account_csv_data
 }

The only lines which are required are "to", "subject" and "content" or "to", "template" and "bindings"

Email collision functionality. Allows to skip sending emails automatically if contact have already received email with specified key.

Usage example:

email {
    template "Enrolment Confirmation"
    bindings enrolment: e
    to c
    key "ABC", c
    keyCollision "drop"
}

attachment(contentType, content)

Add attachment to the email. Using this method means that the message is not stored inside onCourse.

  • contentType String MIME type of the attachment @param content MIME type of the attachment

  • content Object Documentation not yet available

attachment(fileName, contentType, content)

Add attachment to the email. Using this method means that the message is not stored inside onCourse.

  • fileName String attached file name which will appear in the email @param contentType MIME type of the attachment @param content attachment object

  • contentType String MIME type of the attachment @param content attachment object

  • content Object Documentation not yet available

attachment(attachment)

Add attachment to the email. Using this method means that the message is not stored inside onCourse.

  • attachment Map of String, Object attachment properties map, e.g. [fileName: 'example.txt', type: 'text/plain', content: 'test text']

bcc(recipients)

Set BCC recipients for the email. Using this method means that the message is not stored inside onCourse.

  • recipients String email address of the BCC recipients

bindings(bindings)

Set bindings necessary for rendering of the specified email template.

  • bindings Map of String, Object binding mappings required for rendering email template

cc(recipients)

Set CC recipients for the email. Using this method means that the message is not stored inside onCourse.

  • recipients String email addresses of the CC recipients

content(content)

Set plain text content of the email. Could be used only for SMTP email sending

  • content String plain text content of the email

createdBy(user)

Specify SystemUser who will be the linked to the resulting Message record in onCourse as its creator.

from(email)

Set "from" address for the email. Defaults to "email.from" preference if not set.

  • email String email from address

from(email, name)

Set "from" address for the email and name of the sender.

  • email String email from address @param name name of the sender

  • name String name of the sender

key(key, object)

Attach a string key to this message and link it to an object. This reference can be used to ensure duplicates aren’t sent for the same event.

  • key String a string key which identifies the script or event which creates this message @param object key is attached to a specific object (for example an enrolment or student)

  • object PersistentObject key is attached to a specific object (for example an enrolment or student)

keyCollision(collision)

Defines a rule to prevent duplicates being sent.

  • collision String check type. Can be 'accept' (this is the default and means the key is ignored), 'drop' (which will silently drop the message) and 'error' (which will drop the message and log an error to the audit log).

multipartType(multipartType)

Specify multipart message type (default is "mixed"). Using this method means that the message is not stored inside onCourse.

  • multipartType String multipart message type

subject(subject)

Set email subject.

  • subject String email subject

template(templateName)

Set email template to be used for rendering email body. Could be used for Email and SMTP email sending

  • templateName String name of the email template

to(recipients)

Specify contacts which will receive email. By default email specified in contact record will be used, however you can override the default email by using ">>" operator, e.g. contact1 >> "anotheremail@example.com"

  • recipients Contact contact records who will receive the email

to(recipients)

Set recipients for the email. Using this method means that the message is not stored inside onCourse.

  • recipients String email addresses of the email recipients

Export script block

Use a script to generate an export.

Usage example:

export {
    template "ish.contact.list"
    records overdueDebtors
}

records(records)

A list of records to export. Obviously the export template needs to be built to accept a list of this type of object and produce an export file from them.

  • records List

  • Returns def Documentation not yet available

records(records)

You can instead pass records as vargs if you only have a few to pass.

  • records Object

  • Returns def Documentation not yet available

template(templateKeyCode)

Pass the keycode of the export template you want to use

  • templateKeyCode String Documentation not yet available

  • Returns def Documentation not yet available

LearnDashScriptClosure

Export successful enrolment record to LearnDash system. This action will search for students matching the onCourse email address against the LearnDash username, and creates them if not found. That student will be enrolled in the Learndash course with slug matching the course code in onCourse

learndash {
    action "enrol"
    course enrolment.courseClass.course.code
    student enrolment.student
}

MailchimpScriptClosure

Mailchimp integration groovy script API. Allows to subscribe/unsubscribe contact to/from Mailchimp list.

Usage examples:

Subscribe person to Mailchimp list using onCourse contact record:

mailchimp {
    name "List1"
    action "subscribe"
    contact enrolment.student.contact
}

Name property here is the name of Mailchimp integration which should be created in onCourse beforehand.

Subscribe person without onCourse contact record to Mailchimp list:

mailchimp {
    name "List2"
    action "subscribe"
    email "student@example.com"
    firstName "John"
    lastName "Doe"
    optIn false
}

Unsubscribe person from Mailchimp list:

mailchimp {
    name "List1"
    action "unsubscribe"
    email "student@example.com"
}

The ability to create Mailchimp tags:

mailchimp {
    action "subscribe"
    contact enrolment.student.contact
    tags enrolment.student.contact.tags
}

or any list of string

mailchimp {
    action "subscribe"
    contact enrolment.student.contact
    tags 'art', 'IT', 'prhotoshop'
}

Pull unsubscribers and mark the email address in onCourse as not allowed for marketing. Since param support both: LocalDate or string literal.

mailchimp {
    action "pull unsubscribes"
    since "2020-09-04"
}

Don’t pass 'since' param to get all unsubscribes

mailchimp {
    action "pull unsubscribes"
}

action(action)

Set Mailchimp list action: "subscribe" or "unsubscribe".

  • action String list action string, can be one of "subscribe" or "unsubscribe"

contact(contact)

Specify contact to take subscriber’s email, first and last name from.

  • contact Contact subscriber contact

email(email)

Set subscriber’s email.

  • email String subscriber’s email

firstName(firstName)

Set subscriber’s first name.

  • firstName String first name of the subscriber

lastName(lastName)

Set subscriber’s last name.

  • lastName String last name of the subscriber

optIn(optIn)

A flag used to specify if a user must confirm via email before they are subscribed to a mailing list

  • optIn boolean for confirm email

since(since)

Pull all unsubscribers since certain timestamp

  • since String date time

since(since)

Pull all unsubscribers since certain timestamp

  • since LocalDate date time

tags(tags)

The ability to create Mailchimp tags. You can pass any list of tags to the integration. If you want to map those in some way first, you can do that in the script you write.

  • tags List of Tag list

tags(tags)

The ability to create Mailchimp tags. You can pass any list of strings to the integration. If you want to map those in some way first, you can do that in the script you write.

  • tags String list

Mask

For each access key, a role may be given certain access levels. This class is not an enum because the values here can be added up to give layers of access. For example, VIEW (1) + EDIT (5) = 6.

Message script block

Use a script to generate an message.

Usage example:

message {
    template "ish.email.simple"
    records enrolments
    from "support@ish.com.au"
    anyBinding_1 anyValue_1
    anyBinding_2 anyValue_2
    ....
}

bcc(recipients)

Set BCC recipients for the email. Using this method means that the message is not stored inside onCourse.

  • recipients String email address of the BCC recipients

from(email)

Set "from" address for the email. Defaults to "email.from" preference if not set.

  • email String email from address

record(record)

A direct record to message.

  • record Object

records(records)

A list of records to message. Obviously the message template needs to be built to accept a list of this type of object and produce a message from them.

  • records List

template(templateName)

Set message template to be used for rendering message body. Could be used for Email and SMS sending

  • templateName String name of the message template

MicropowerScriptClosure

Retrieves new and recently changed profiles from Micropower and adds them to onCourse. Automatically creates memeberships and invoices for the specifiec MemberProduct sku

micropower {
    name "Micropower"
}

Money

Money is a class which handles all the common features needed for handling currency.

Most importantly, this class properly handles rounding at all times.

Constructor Money(val)

Construct a new money instance. If null or empty string is passed, then a Money.ZERO amount will be created.

  • val String value to create

Constructor Money(dollars, cents)

Construct a new money instance, first argument is dollars, second is cents

  • dollars NULL TYPE??? dollars value @param cents cents value

  • cents NULL TYPE??? cents value

add(val)

returns sum

  • val Money to be added to this money object @return new money object

  • Returns Money new money object

add(val)

returns sum

  • val BigDecimal to be added to this money object @return new money object

  • Returns Money new money object

divide(val)

returns quotient, where object is dividend and the param is divisor

  • val Money divisor @return new money object

  • Returns Money new money object

divide(val)

returns quotient, where object is dividend and the param is divisor

  • val BigDecimal divisor @return new money object

  • Returns Money new money object

divide(val, roundingUp)

returns quotient, where object is dividend and the param is divisor Used for rounding any value with cents to a greater integer value

  • val BigDecimal divisor @param roundingUp rounded up to the nearest dollar @return new money object

  • roundingUp boolean rounded up to the nearest dollar @return new money object

  • Returns Money new money object

divide(val, roundingUp)

returns quotient, where object is dividend and the param is divisor Used for rounding any value with cents to a greater integer value

  • val Money divisor @param roundingUp rounded up to the nearest dollar @return new money object

  • roundingUp boolean rounded up to the nearest dollar @return new money object

  • Returns Money new money object

multiply(val)

returns product

  • val long factor @return new money object

  • Returns Money new money object

multiply(val)

returns product

  • val BigDecimal factor @return new money object

  • Returns Money new money object

subtract(val)

returns difference, where object is minuend and param is subtrahend

  • val Money subtrahend @return new money object

  • Returns Money new money object

subtract(val)

returns difference, where object is minuend and param is subtrahend

  • val BigDecimal subtrahend @return new money object

  • Returns Money new money object

toBigDecimal

  • Returns BigDecimal a big decimal representation

toPlainString

  • Returns String a string representation skipping currency sign $25 → "25.00"

MoodleScriptClosure

Export successful enrolment record to moodle system. This action will search for students matching the onCourse email address against the Moodle username, and creates them if not found.

moodle {
     name 'Moodle integration'
     enrolment record
}

The action finds courses in Moodle by 'shortname' field against the course name in onCourse. You can use the 'courseReference' option to select a different field in Moodle and map it against any value from onCourse.

moodle {
     name "Moodle integration"
     enrolment record
     courseReference 'courseId': record.courseClass.course.code
}

MyobScriptClosure

PaymentInterface

Interface to host both payment in and out, for both client and server side.

@author marcin, ldeck

Preferences

List of all preferences which can be accessed in the system. You can access the values most easily as direct attributes: ` preference.college.name `

but you can also use the string key: ` Preference.valueString("college.name") `

Report script block

Run a report and create a PDF file. This file can then be stored in the document management system or sent attached to an email.

Simple example to produce a single certificate PDF:

report {
    keycode "ish.onCourse.certificate"
    records c
}

Usage example with sending an email:

email {
     to preference.email.admin
     subject "onCourse transaction summary ${startDate.format("dd/MM/yy")} to ${endDate.format("dd/MM/yy")}"
     content "'Trial Balance' report for the previous 7 days."
     attachment "Trial_Balance.pdf", "application/pdf", report {
         keycode "ish.onCourse.trialBalance"
         records accounts
         param 'localdateRange_from' : startDate, 'localdateRange_to' : endDate
     }
}

background(background)

The name of the background the report engine will use to render the output PDF file. The background sits behind the components printed on the report. This is useful for a header or certificate background.

  • background String name of background. You can skip this option for a white background.

generatePreview(generatePreview)

  • generatePreview Boolean Documentation not yet available

keycode(keyCode)

Pass the keycode of the report template in onCourse you want to run.

  • keyCode String keyCode of the report passed to the report engine

param(param)

Additional optional parameters passed to the report engine. Reports must be provided with the correct number and types they accept to run. For example:

report {
    keycode "ish.onCourse.trialBalance"
    records accounts
    param 'localdateRange_from' : startDate, 'localdateRange_to' : endDate
}
  • param Map parameters passed to the report

records(records)

Pass a list of records to the report engine. These records will be iterated through in the report engine to produce the report output.

  • records List records which are included in the report

records(record)

Pass a record to the report engine.

  • record Object record which is included in the report

Sms script block

SMS message sending API.

Usage example:

sms {
    to contact1, contact2
    text "test SMS text"
}

text(text)

Set SMS message text.

  • text String message text

  • Returns def Documentation not yet available

to(recipients)

Set recipients for the SMS message.

  • recipients Contact recipients of the message

  • Returns def Documentation not yet available

to(recipients)

Set list of recipients for the SMS message.

  • recipients List of Contact list of recipients of the message

  • Returns def Documentation not yet available

SurveyGizmoScriptClosure

SurveyMonkeyScriptClosure

SystemUserService

systemUsersByRole(name)

  • name String of role @return a list of all system users with certain access role

  • Returns List of SystemUser a list of all system users with certain access role

TCSIScriptClosure

tcsi {
    name "VET Student Loans integration"
     action UPLOAD_STUDENTS
}

Taggable

Entities which implement this interface may have TagRequirement, for example Student, Tutor but real TagRelation always created for Contact entity

TalentLMSScriptClosure

Export successful enrolment record to Talent LMS system. This action will search for students matching the onCourse email address against the Talent LMS email, and creates them if not found. That student will be enrolled in the Learndash course with code matching the course code in onCourse

talentLMS {
    action "enrol"
    course enrolment.courseClass.course.code
    student enrolment.student
}

II: Data Entities

These are objects which represent the data stored in onCourse. You will typically search for them using the onCourse query language. These objects will be in the Cayenne Context named 'context' by default, so you can make changes and store them back into onCourse using context.commitChanges(). The database tables often don’t match the description of the entities here since we use inheritance and different naming to better describe the data schema in code.

ACLAccessKey

Access keys define access to a specific feature of onCourse for an ACLRole

createdOn

  • Returns Date the date and time this record was created

keycode

  • Returns Not null KeyCode the keycode this access right refers to

mask

  • Returns Not null Integer the mask for the access key, including any always allowed masks and removing any always denied

modifiedOn

  • Returns Date the date and time this record was modified

role

  • Returns Not null ACLRole the role for this key

ACLRole

An ACLRole (or just "Role") is a grouping of authorisation rights @see ish.oncourse.server.cayenne.ACLAccessKey to various parts of the system. Every login user @see ish.oncourse.server.cayenne.SystemUser is assigned to a single ACLRole, or no role at all if they are an adminstrator.

accessKeyForKeyCode(keyCode)

  • keyCode KeyCode the KeyCode to gain ACLAccessKey for @return ACLAccessKey of the given keyCode

  • Returns Nullable ACLAccessKey ACLAccessKey of the given keyCode

accessKeys

  • Returns Not null List of ACLAccessKey a list of all access keys for this role

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of the Role

systemUsers

  • Returns Not null List of SystemUser a list of all users attached to this role

Account

An Account is a representation of a General Ledger transactional account for the finance backend of onCourse.

accountCode

  • Returns Not null String an account code as used in an external accounting system or general ledger

balance(until)

  • until LocalDate get data up to a given date @return balance up until a given

  • Returns Money balance up until a given

createdOn

  • Returns Nullable Date the date and time this record was created

description

  • Returns Not null String a description which will appear in the user interface alongside the account code

isEnabled

Accounts cannot be deleted once used, so you can only disable them in order to prevent them from being used in the future. Note that disabling an account doesn’t "turn it off", it only hides that account from being selected in the user interface. Existing records already linked to that account will continue to be linked and use that account.

  • Returns Not null Boolean whether the account is enabled

modifiedOn

  • Returns Date the date and time this record was modified

movements(from, to)

  • from LocalDate Documentation not yet available

  • to LocalDate Documentation not yet available

  • Returns Money Documentation not yet available

type

  • Returns Not null AccountType the type of account (asset, liability, etc)

isAsset

  • Returns boolean true if the account is an asset type

isCOS

  • Returns boolean true if the account is a cost of sale type (this is a particular type of expense)

isCredit

Is this account one of the credit types. * LIABILITY * INCOME

  • Returns boolean true if the account is an equity type

isDebit

Is this account one of the debit types. * ASSET * COS * EQUITY * EXPENSE

  • Returns boolean true if the account is an equity type

isEquity

Equity account types are rarely used in onCourse.

  • Returns boolean true if the account is an equity type

isExpense

  • Returns boolean true if the account is an expense type

isIncome

  • Returns boolean true if the account is an income type

isLiability

  • Returns boolean true if the account is a liability type

AccountTransaction

AccountTransactions are entries against the general ledger in onCourse. They are immutable (cannot be edited) and can only be created in pairs.

account

  • Returns Not null Account the account for this transaction

amount

  • Returns Not null Money the value of this transaction

contactName

Get contact related to the transaction through invoice or payment.

  • Returns Nullable String contact name

createdOn

  • Returns Not null Date the date and time this record was created

id

  • Returns Not null Long The primary key for this record. This value will never change once the record is created.

invoiceNumber

Get number of related invoice if transaction type is {@link AccountTransactionType#INVOICE_LINE} or null if it is not.

  • Returns Nullable Long invoice number

isLocked

Return true if transaction day cannot be changed.

  • Returns Not null boolean true if transaction day is locked

modifiedOn

  • Returns Not null Date the date and time this record was modified

printTitle

Returns the name of the contact related to this transaction. If transaction is: # invoice line: return invoice.contact.name # payment in: return paymentIn.contact.name # payment out: return paymentOut.payee.name

  • Returns Nullable String name of contact related to this AccountTransaction

relatedInvoiceLine

  • Returns Nullable InvoiceLine the related invoiceLine to this AccountTransaction, if it exists

sourceClass

  • Returns Nullable Class extends [PersistentObject] the Persistent class to which this transaction is linked

transactionDate

  • Returns Not null LocalDate the transaction date. This may be different to the creation or modification date

transactionDescription

Generate description for transaction:

  • Invoice transaction → invoice number + contact name

  • Payment in/out → payment type (cc/cheque/cash/etc) + contact name

  • Returns Nullable String string describing transaction

Application

Applications are a way for students to express interest in a course and process through the steps of sending in supporting materials, arranging interviews or getting custom pricing from the college. The college can then track the status changes of the application through: <br>

  • New<br>

  • Offered<br>

  • Accepted<br>

  • Rejected<br>

  • Withdrawn<br><br>

    Once an application is "Offered" then the student is able to enrol online into any class for that course, at the
    special price (if any).
    Tags can be used for more detailed workflow and tracking of progress.

confirmationStatus

We track whether the confirmation email has been sent for this particular record in order to avoid sending it twice.

course

Applications are always linked to a course rather than to a specific class.

  • Returns Not null Course course to which this application is linked

createdOn

  • Returns Not null Date the date and time this record was created

enrolBy

The Application can sometimes be valid for a specific length of time.

  • Returns Date date until when students can apply

feeOverride

Class fee can be overridden for enrolments using applications.

  • Returns Money fee which student will pay when enrolling with this application if fee is overridden per application, null otherwise

modifiedOn

  • Returns Not null Date the date and time this record was modified

reason

  • Returns String reason for decision (accept or reject) on this application

source

  • Returns Not null PaymentSource source where application was created: website or onCourse

status

student

  • Returns Not null Student the student who lodged the application

tags

  • Returns Not null List of Tag The list of tags assigned to application

ApplicationFieldConfiguration

A field configuration which is used to collect application information

createdOn

  • Returns Not null Date the date and time this record was created

fieldHeadings

  • Returns Not null List of FieldHeading a list of all headings attached to this field configuration

fields

  • Returns Not null List of Field a sorted list of all fields attached to this field configuration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of this field configuration. Not shown to students anywhere.

Article

Represents an instance of generic product which has been sold through onCourse.

ArticleProduct

Represents generic product type which can be sold.

weight

  • Returns Nullable Double weight of this product

Assessment

active

  • Returns Not null Boolean true if active

assessmentClasses

AssesmentClasses is the relational object between an Assesment and a CourseClass

  • Returns Not null List of AssessmentClass all assesmentclasses this assesment is linked to

code

  • Returns Not null String Documentation not yet available

createdOn

  • Returns Not null Date the date and time this record was created

description

  • Returns Nullable String Documentation not yet available

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String Documentation not yet available

AssessmentClass

assessment

  • Returns Not null Assessment Documentation not yet available

assessmentSubmissions

courseClass

  • Returns Not null CourseClass Documentation not yet available

createdOn

  • Returns Not null Date the date and time this record was created

dueDate

  • Returns Not null Date Documentation not yet available

modifiedOn

  • Returns Not null Date the date and time this record was modified

modules

Gets a list of modules associated with this assessment

  • Returns Not null List of Module a list of modules related to this assessment

releaseDate

If a task does not have a release date, it will be available to enrolled students in the portal immediately after enrolment, like other course/class resources.

  • Returns Nullable Date release date

tutors

  • Returns Not null List of Tutor a list of tutors related to this assessment

AssessmentSubmission

assessmentClass

createdOn

  • Returns Not null Date the date and time this record was created

enrolment

  • Returns Not null Enrolment Documentation not yet available

modifiedOn

  • Returns Not null Date the date and time this record was modified

studentComments

  • Returns Nullable String Documentation not yet available

submittedBy

  • Returns Not null Contact Documentation not yet available

tutorComments

  • Returns Nullable String Documentation not yet available

AttachmentData

Represents attachment file stored in onCourse database. Note that this class is not used for customers using Amazon S3 for their storage.

content

  • Returns Not null byte[] binary content of the attachment

createdOn

  • Returns Date the date and time this record was created

documentVersion

  • Returns Not null DocumentVersion document version meta data associated with this attachment

modifiedOn

  • Returns Date the date and time this record was modified

Attendance

This entity represents the relationship between a tutor or student, and the sessions that comprise a CourseClass. They can be used to track whether students show up for sessions (and for how long) and also whether tutors should be paid for delivery.

attendanceType

Attendance types represent the result of particular attendance marking.

attendedFrom

If null, then assume the attendance started when the session started.

  • Returns Date the time that this attendance started

attendedUntil

If null, then assume the attendance ended when the session ended.

  • Returns Date the time this attendance ended

createdOn

  • Returns Date the date and time this record was created

durationMinutes

  • Returns Integer the duration in minutes of the attendance

markedByTutor

Tutors can login and mark student attendances for their classes in onCourse portal

  • Returns Not null Tutor the ID of a tutor who marked student’s attendance

markedByTutorDate

  • Returns Nullable Date date and time when attendance was marked by a tutor

modifiedOn

  • Returns Date the date and time this record was modified

note

  • Returns String any additional notes entered by the tutor

session

  • Returns Not null Session the session this attendance is linked to

student

  • Returns Not null Student which student the attendance is for

AutomationBinding

Banking

adminSite

If the banking was done manually then this is the location (site) at which the banking was done. This can be useful to group cash and cheque banking performed at a single location.

  • Returns Nullable Site admin site

createdBy

The user who created the banking. Null if it was generated automatically.

createdOn

  • Returns Nullable Date the date and time this record was created

modifiedOn

  • Returns Nullable Date the date and time this record was modified

paymentsIn

All the payments-in banked in this batch

  • Returns Not null List of PaymentIn list of payments-in

paymentsOut

All the payments-out banked in this batch

  • Returns Not null List of PaymentOut list of payments-out

settlementDate

The settlement date represents the date on which money should be available to a bank account.

  • Returns Not null LocalDate which money should be available

type

The type of banking event this record represents. Typically this is separated into automatic gateway banking which is created once a day, and

Certificate

A certificate is an object describing a qualification or set of outcomes issued to a student. Certificates might be created at the end of a single enrolment to capture just the outcomes from that class. Or they might bring today outcomes from separate enrolments and from RPL.

Certificates cannot be deleted once they are printed or issued to the student. They can however be revoked.

addToOutcomes(outcome)

Attaches Certificate to the given Outcome

  • outcome Outcome The Outcome to attach the certificate to

  • Returns def Documentation not yet available

certificateNumber

  • Returns Not null Long a unique number for this certificate

createdOn

  • Returns Date the date and time this record was created

isQualification

  • Returns Not null Boolean true if this certificate is for a full qualification (or accredited course)

lastOutcome

  • Returns def the CertificateOutcome with the most recent EndDate attached to this certificate

modifiedOn

  • Returns Date the date and time this record was modified

outcomes

Outcomes attached to the Certificate

  • Returns def list of outcomes

printedOn

  • Returns LocalDate the date this certificate was first printed

privateNotes

  • Returns String any private notes

publicNotes

  • Returns String public visible notes

qRCodeImage

Returns a 128x128 PNG of the unique QR code used to validate this certificate. This is to be used to render the QR code on a printed Certficate report.

  • Returns def QRCode

qrUniqueCode

return existing uniqueCode or generate it if it’s NULL.

  • Returns def uniqueCode for this certificate

qualification

A certificate can be issued for outcomes toward a certain qualification even if the qualification itself is not issued. Check getIsQualification() to see whether this was a full qualification.

revokedOn

If a certificate is revoked, this field will be not null. It is important to check this value before a certificate is exported or printed.

  • Returns LocalDate the date of revocation

student

  • Returns Not null Student the student who received the qualification

studentFirstName

A certificate stores the student name as at the time the certificate is created.

  • Returns String student first name

studentLastName

A certificate stores the student name as at the time the certificate is created.

  • Returns String student last name

successfulOutcomes

  • Returns def list of Outcomes with an ASSESSABLE OutcomeStatus

uniqueCode

  • Returns Nullable String Certificate unique code

verificationURL

Returns a web URL that can be entered into a web browser to validate this certificate.

  • Returns def QRCode

ClassCost

Object representing income or expense associated with running particular class. This includes enrolment fees, tutor wages, discounts and other incomes or expenses.

budgetedCost

  • Returns Money Documentation not yet available

contact

  • Returns Not null Contact contact linked to this class cost (e.g. tutor for wage cost types)

courseClass

  • Returns Not null CourseClass class linked to this class cost

createdBy

  • Returns Not null SystemUser onCourse user who created this class cost

createdOn

  • Returns Date the date and time this record was created

currentOncostRate

  • Returns Nullable BigDecimal

description

  • Returns String description of this class cost record

discountCourseClass

  • Returns Not null DiscountCourseClass discount record linked to this class cost (applies for flow type "discount")

flowType

  • Returns Not null ClassCostFlowType flow type of this class cost record: expense, income, wages or discount

invoiceToStudent

  • Returns Not null Boolean true if class cost is invoiced to student

isSunk

  • Returns Not null Boolean true if this class cost is sunk

minimumCost

  • Returns Money minimum amount for this class cost

modifiedOn

  • Returns Date the date and time this record was modified

onCostRate

  • Returns BigDecimal

payableOnEnrolment

  • Returns Not null Boolean true if this class cost is payable on student enrolment

paylines

  • Returns Not null List of PayLine paylines generated from this class cost record

perUnitAmountExTax

  • Returns Money per unit amount excluding tax

repetitionType

  • Returns Not null ClassCostRepetitionType repetition type for this class cost: fixed, per session, per enrolment, per unit, discount, per timetabled hour or per student contact hour

sessionCount(until)

  • until Date Documentation not yet available

  • Returns Integer number of sessions if this class cost record has "per session" repetition type

sessionPayableHours(until)

  • until Date Documentation not yet available

  • Returns BigDecimal amoount of payable hours if this class cost record has "per timetabled hour" or "per student contact" hour repetition type

tax

  • Returns Not null Tax tax linked to this class cost record

taxAdjustment

  • Returns Not null Money tax adjustment value (used for rounding)

tutorRole

  • Returns Nullable CourseClassTutor the tutor role for this class cost. This may determine pay rates based on the date of the class or session.

unit2

  • Returns String Documentation not yet available

unitCount

  • Returns BigDecimal number of units for this class cost

valueForKey(key)

  • key String Documentation not yet available

  • Returns Object

isAmountOverride

  • Returns boolean Documentation not yet available

ConcessionType

ConcessionTypes are a user definable set of concessions which can be linked to students. You might like to define concessions like a Senior’s Card or Centrelink card. Or you could create a concession for something less concrete like 'staff member' or 'alumni'.

The main purpose of these concessions is to control the application of discounts.

concessionTypeDiscounts

createdOn

  • Returns Date the date and time this record was created

hasConcessionNumber

  • Returns Not null Boolean true if entering of concession card number is required

hasExpiryDate

  • Returns Not null Boolean true if concession expiry date must be always specified

isEnabled

  • Returns Not null Boolean true if this concession type is active

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of this Concession

Contact

Contacts are at the heart of onCourse. A Contact might be an individual or a company. Contacts can be extended by Student or Tutor classes, however a Contact can also exist on its own.

abn

  • Returns Nullable String ABN (Australian Business Number) mostly for companies, but tutors might also have one for payment

address

  • Returns Not null String address details concatenated together: suburb, state, postcode with line breaks as appropriate

address

A simple convenience function to assemble the address in a formatted block.

Street
Suburb State Postcode
  • Returns String address concatenated from street, suburb, state and postcode fields

allowEmail

  • Returns Not null Boolean whether the contact opted into email marketing

allowPost

  • Returns Not null Boolean whether the contact opted into postal (mail) marketing

allowSms

  • Returns Not null Boolean whether the contact opted into SMS marketing

birthDate

  • Returns Nullable LocalDate yep, the contact’s date of birth as LocalDate

classCosts

  • Returns Not null List of ClassCost ClassCost records associated with this contact

concessionsAuthorised

  • Returns Not null List of StudentConcession list of concessions authorised by this contact

contactType

corporatePasses

  • Returns Not null List of CorporatePass CorporatePass records associated with this contact

country

Some validation rules (such as postcode) only apply if this country is "Australia"

  • Returns Nullable Country the country for the address of this contact

createdOn

  • Returns Nullable Date the date and time this record was created

dateOfBirth

  • Returns Date the contact’s date of birth as Date

deliveryStatusEmail

  • Returns Not null Integer number of failed consecutive attempts to deliver email to this contact, when this value reaches 6 onCourse considers emails to this contact undeliverable

deliveryStatusPost

  • Returns Not null Integer number which shows if postal messages can be delivered to this contact, 0 means messages can be delivered, 6 means that postage is undeliverable

deliveryStatusSms

  • Returns Not null Integer number of failed consecutive attempts to deliver SMS message to this contact, when this value reaches 6 onCourse considers messages to this contact undeliverable

email

  • Returns Nullable String the contact’s main email address

fax

  • Returns Nullable String facsimile number (do we still use those?)

firstName

  • Returns Nullable String first name, null for companies

fromContacts

  • Returns Not null List of ContactRelation contact records which have relationship to this contact

fullName

  • Returns Nullable String the full name for this contact including the middle name, or just the name of the company

gender

  • Returns Nullable Gender gender for the contact

homePhone

  • Returns Nullable String home phone number, formatted just how it was entered in the UI

honorific

  • Returns Nullable String the honorific is the bit before the name (eg. Dr, Mrs, The Honorable)

invoiceTerms

When an invoice is created in Quick Enrol, or as a manual invoice, use value from the contact to set the due date. This date can still be changed during creation to another date by the user. Picks up the default preference value if it isn’t overridden by the contact.

  • Returns Nullable Integer invoice terms

invoices

Remember that a contact’s invoices don’t necessarily represent what they enrolled in. A contact might be billed for someone else’s enrolments or other purchases.

  • Returns Not null List of Invoice all the invoices linked to this contact, including those already paid

isCompany

  • Returns Not null Boolean true if this contact is a company

lastName

  • Returns String last name of this contact

memberships

  • Returns Not null List of Membership all the memberships (including expired) subscribed to by this contact

message

  • Returns Nullable String message (alert for operator) associated with this contact

messages

  • Returns Not null List of MessagePerson list of all MessagePerson records which were sent to this contact

middleName

  • Returns String middle name

mobilePhone

  • Returns Nullable String contact’s mobile phone

modifiedOn

  • Returns Date the date and time this record was modified

name

Convenience method, same as getName(false)

  • Returns Nullable String contact name in a format it is most commonly used in reports: 'Smith, John'

name(firstNameFirst)

A method for returning a formatted contact name. See also fullName() if you want the middle name as well. This method works for companies.

  • firstNameFirst boolean - true for "John Smith", false for "Smith, John" @return formatted name

  • Returns Nullable String formatted name

owingInvoices

  • Returns Not null List of Invoice invoices that belong to contact which have positive amount owing value

payments

  • Returns Not null List of PaymentInterface all payment in and payment out records linked to this contact

paymentsIn

  • Returns Not null List of PaymentIn all PaymentIn records associated with this contact

paymentsOut

  • Returns Not null List of PaymentOut all PaymentOut records associated with this contact

payslips

  • Returns Not null List of Payslip all Payslip records associated with this contact

portalLink(target, timeout)

Generates signed URL granting access to specific page in portal. For example following statement restrictedPortalURL(courseClass, '2016-01-11') if executed on 1 Jan 2016 will yield the following URL: https://www.skillsoncourse.com.au/portal/class/1531?valid=20160111&key=k9_S8uk68W5PoCvq5lSUp70sqQY

Target - the specific object on the basis of which url to certain portal page will be assembled.

Available objects are:

courseClass - link to class page
enrolment - link to class page
invoice - link to one invoice details
document - link to download file directly
"USI" string - link to USI details entering page in portal
"someOtherPagePath" string - link to page defined by customer (for example: 'timetable', 'results', 'resources', 'subscriptions' and other

Timeout - acceptable for different parameter types:

 java.util.Date - date after which URL will expire and no longer be valid,<
 java.lang.String - string representation of date (format is 'yyyy-MM-dd') after which URL will expire and no longer be valid,
 java.lang.Integer - number of days after which URL will expire and no longer be valid.

If timeout == null or not defined then url link will be valid for 7 days.

  • target def object on the basis of which url to certain portal page will be assembled @param date or time after which the generated URL will expire @return signed portal url to certain page (target)

  • timeout def Documentation not yet available

  • Returns def signed portal url to certain page (target)

portalLoginURL

Generates URL to portal login page.

  • Returns String portal login page URL

postcode

  • Returns Nullable String contact’s postcode

productItems

  • Returns Not null List of ProductItem all ProductItem records associated with this contact

state

  • Returns Nullable String contact’s state

street

  • Returns Nullable String contact’s address

student

  • Returns Nullable Student Student record associated with this contact

suburb

  • Returns Nullable String contact’s suburb

tags

  • Returns Not null List of Tag The list of tags assigned to this contact

tfn

  • Returns Nullable String contact’s TFN (Tax File Number)

title

  • Returns Nullable String contact’s title

toContacts

  • Returns Not null List of ContactRelation contact records which this are related from this contact

totalOwing

  • Returns Money total of all owing amounts for this contact, regardless of due date or payment plan

tutor

  • Returns Nullable Tutor Tutor record associated with this contact

unbalancedInvoices

Get unbalanced invoices

  • Returns List of Invoice unbalanced invoices

uniqueCode

  • Returns Not null String alphanumeric 16 character unique code associated with this contact

workPhone

  • Returns Nullable String contact’s work phone

ContactRelation

Object representing relation between two individual contacts. For example parent-child, employer-employee, etc.

createdOn

  • Returns Date the date and time this record was created

fromContact

  • Returns Not null Contact contact on the left side of the relation

modifiedOn

  • Returns Date the date and time this record was modified

relationType

toContact

  • Returns Not null Contact contact on the right side of the relation

ContactRelationType

Object representing type of relation between two contacts. For example parent-child, employer-employee, etc.

createdOn

  • Returns Date the date and time this record was created

delegatedAccessToContact

  • Returns Not null Boolean true if contact on the left side of the relation can access portal account of the other related contact

fromContactName

  • Returns Not null String name of the left side of the relation, e.g. "parent", "employer", etc.

membeshipDiscountRelations

modifiedOn

  • Returns Date the date and time this record was modified

toContactName

  • Returns Not null String name of the right side of the relation, e.g. "child", "employee", etc.

CorporatePass

CorporatePass allows corporate users to enrol students or purchase items without paying immediately. Using CorporatePass will create invoice in onCourse which can be paid later.

contact

  • Returns Not null Contact contact linked to this corporate pass

corporatePassCourseClasses

  • Returns Not null List of CorporatePassCourseClass list of CorporatePassCourseClass relation records linked to this corporate pass, corporate pass can be used only when enrolling into classes from this list

corporatePassProduct

  • Returns Not null List of CorporatePassProduct list of products linked to this corporate pass, corporate pass can be used only when purchasing products from this list

createdOn

  • Returns Date the date and time this record was created

email

  • Returns Nullable String Returns the email of the invoice recipient

expiryDate

  • Returns Date expiry date of this corporate pass

invoiceEmail

  • Returns String email to which invoice will be sent if this corporate pass is used

invoiceLines

  • Returns def collection of all invoices lines from linked invoices

invoices

  • Returns Not null List of Invoice list of invoices for purchases made using this corporate pass

linkedClassesList

  • Returns def all related classes unique codes in a comma separated list

modifiedOn

  • Returns Date the date and time this record was modified

password

  • Returns Not null String password code for this corporate pass

timesUsed

  • Returns def how many times this corporate pass used

totalAmount

  • Returns def sum of invoice totals across all linked invoices

totalAmountOwing

  • Returns def sum of total amount owing across all linked invoices

validClasses

  • Returns Not null List of CourseClass list of classes linked to this corporate pass, corporate pass can be used only when enrolling into classes from this list

CorporatePassCourseClass

Object representing relation between CorporatePass and class. CorporatePass can only be used for enrolling into classes which are linked to it.

corporatePass

courseClass

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

CorporatePassProduct

Object representing relation between CorporatePass and product. CorporatePass can only be used for purchasing products which are linked to it.

corporatePass

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

product

  • Returns Not null Product product record

Country

This table is read-only since it is updated through an automated process, pulling changes and new records from an onCourse update service. That data is turn is fed from updates to the ABS (Australian Beureau of Statistics) reference data.

Note that the ABS will sometimes remove entries, however we will always preserve historic records.

createdOn

  • Returns Date the date and time this record was created

isoCodeAlpha3

  • Returns String the three character ISO code for the country

isoCodeNumeric

  • Returns Integer the ISO numeric code for the country

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the human readable name for the country

saccCode

  • Returns Integer the numerical statistical code for the country. This one is used for AVETMISS reporting.

isAustralia

The countries in this table are not unique. For example, there are at least five records pointing to Australia.

  • Returns boolean true if this country is one of the "Australia" countries

Course

Courses are the 'product' students purchase when they enrol. They are enrolled into an instance of a Course, called a CourseClass. The Course carries all the marketing information and is typically what you tag to create a navigation structure on the website.

Traineeships are just a special type of course.

allowWaitingLists

Courses can have waiting lists enabled to allow students to add and remove themselves from a waiting list.

  • Returns Not null Boolean true if waiting lists are enabled for this course

applications

  • Returns Not null List of Application application records linked to this course

code

This code must be unique across all courses. It cannot contain spaces or hyphens. Because it is used to generate a URL for the course, it should also be selected for readability, websafe characters and SEO.

  • Returns Not null String course code

courseClasses

  • Returns Not null List of CourseClass all courseClasses, whether current, past or future

courseModules

  • Returns Not null List of CourseModule CourseModule records linked to this course

createdOn

  • Returns Date the date and time this record was created

currentlyOffered

  • Returns Not null Boolean true if the course is currently advertised

enrolmentType

Courses can have classes which are enrolled into directly, or they can be 'course by application' where students apply to the course and then (if accepted) are able to enrol into a class.

enrolments

  • Returns Not null List of Enrolment all enrolments from all classes

fieldConfigurationSchema

Data collection rules allow a course to have a defined {@link FieldConfigurationScheme} which is used to define the data collection form displayed to users at time of enrolment, waiting list or application.

fieldOfEducation

  • Returns String the NCVER 'Subject field of education' identifer code

isShownOnWeb

  • Returns Not null Boolean whether this course is displayed on the website for browsing and searching

isSufficientForQualification

  • Returns Not null Boolean true, if students completing this course will be granted a qualification

isTraineeship

  • Returns Boolean true if this course is really a traineeship rather than standard course

isVET

  • Returns Not null Boolean whether this is a VET course

modifiedOn

  • Returns Date the date and time this record was modified

modules

  • Returns Not null List of Module modules linked to this course

name

Note that course names don’t need to be the VET official name. It is preferable that they are names appropriate for the best marketing of the course.

  • Returns Not null String the human readable name of the course

printedBrochureDescription

  • Returns String a shorter plaint text description suitable for a brochure

qualification

  • Returns Nullable Qualification qualification linked to this course

relatedCourses

  • Returns Not null List of Course a list of all courses related to this one

relatedCourses(name)

  • name String Documentation not yet available

  • Returns Not null List of Course a list of all courses related to this one by type with specified name

relatedFromCourses

  • Returns Not null List of Course a list of courses this one relate to

relatedFromCourses(name)

  • name String Documentation not yet available

  • Returns Not null List of Course a list of courses this one relate to by type with specified name

relatedFromProducts

  • Returns Not null List of Product a list of courses this one relate to

relatedProducts

  • Returns Not null List of Product a list of all products related to this one

relatedToCourses

  • Returns Not null List of Course a list of courses related to this one

relatedToCourses(name)

  • name String Documentation not yet available

  • Returns Not null List of Course a list of courses related to this one by type with specified name

relatedToProducts

  • Returns Not null List of Product a list of products related to this one

reportableHours

If this is a VET course, it might have reportable hours recorded for AVETMISS reporting

  • Returns BigDecimal number of reportable hours

sessions

  • Returns Not null List of Session list of sessions linked to this course

tags

  • Returns Not null List of Tag The list of tags assigned to course

voucherProduct

  • Returns Not null List of VoucherProduct list of sutable Vouchers for this course

waitingLists

  • Returns Not null List of WaitingList all the waiting list entries for this course

webDescription

The course description is displayed on the course detail page. It can contain rich text for embedding images, blocks, video, dynamic text, and more. It also supported unicode for multi-language support.

  • Returns String a rich text field for display on the web

CourseClass

The CourseClass entity is what you see in the user interface called just "class". The term 'CourseClass' is used because 'class' is a reserved word in Java and will cause ambiguity.

A CourseClass is the object which can be enrolled in by students, has a price, timetable and represents the instance of the Course which is sold and delivered.

actualCustomInvoices

  • Returns def Documentation not yet available

actualDiscounts

  • Returns def Documentation not yet available

actualFeeIncome

  • Returns def Documentation not yet available

actualOtherIncome

  • Returns def Documentation not yet available

actualTotalCost

  • Returns def Documentation not yet available

actualTotalIncome

  • Returns def Documentation not yet available

actualTotalProfit

  • Returns def Documentation not yet available

assessmentClasses

  • Returns Not null List of AssessmentClass the list of related AssessmentClasses

attendance

An alias for getAttendance(true)

  • Returns def attendance lines for this particular courseClass including tutors

attendanceType

attendanceWithoutTutor

An alias for getAttendance(false)

  • Returns def attendance lines for this particular courseClass excluding tutors

budgetedCustomInvoices

  • Returns def Documentation not yet available

budgetedDiscounts

  • Returns def Documentation not yet available

budgetedFeeIncome

  • Returns def Documentation not yet available

budgetedOtherIncome

  • Returns def Documentation not yet available

budgetedPlaces

  • Returns Not null Integer number of budgeted places

budgetedTotalCost

  • Returns def Documentation not yet available

budgetedTotalIncome

  • Returns def Documentation not yet available

budgetedTotalProfit

  • Returns def Documentation not yet available

cancelWarningMessage

  • Returns String class cacellation warning message

category

Returns the first child of the 'Subject' tag of the course this courseClass belongs to Subject/[Languages]/Japanese

  • Returns def the name of the Subject child tag applied to this CourseClass

censusDate

  • Returns LocalDate the census date for NCVER reporting

classTotalFeeIncomeExTaxForRefundedAndCancelledEnrolments

  • Returns def all enrolments with a CANCELLED or REFUNDED status

code

  • Returns Not null String class code

corporatePassCourseClass

Returns all CorperatePasses that can be used with this CourseClass

costs

  • Returns Not null List of ClassCost all ClassCosts linked to this CourseClass

course

  • Returns Not null Course course record linked to this class

createdOn

  • Returns Date the date and time this record was created

deliveryMode

  • Returns Not null DeliveryMode standard deliveryMode value for AVETMISS reporting

deposit

description

  • Returns Not null String description for this class containing its course name and venue where it is held

detBookingId

DET Booking ID are used for NSW ePayments AVETMISS reporting.

  • Returns String standard DET Booking ID string

discountCourseClasses

Returns all Discount that can be used with this CourseClass

discountedInvoiceLinesForEnrolments

Collects all successful enrolments attached to this courseClass used a discount

  • Returns def InvoiceLines sorted by discount name

discounts

This is a faked flattened relationship via discountCourseClasses.discount.

  • Returns Not null List of Discount the discounts for this class

discountsDescription

Returns a string with the format "discount.name discount.description discount.feeExGst" for all discounts attached to this CourseClass

  • Returns def

displayableLocation

  • Returns Not null String a string representation of the site name, street, suburb, and postcode.

endDateTime

  • Returns Date end date and time of the last session of the class

enrolments

  • Returns Not null List of Enrolment complete list of enrolments (successful, failed or cancelled) ever made to this class

enrolmentsCount

  • Returns def Integer number of successful enrolments in this CourseClass

enrolmentsToProceed

Get number of enrolments for class to cover its running costs.

  • Returns def required number of enrolments

enrolmentsToProfit

Get number of enrolments for class to be profitable.

  • Returns def required number of enrolments

enrolmentsWithinDateRange(from, to)

Get number of enrolments for class created in a given date range

  • from Date start Date range @param to end Date range @return number of enrolments created within the given range

  • to Date end Date range @return number of enrolments created within the given range

  • Returns def number of enrolments created within the given range

expectedHours

  • Returns BigDecimal

feeExGst

  • Returns Not null Money the class free exclusing GST

feeGST

  • Returns Money the GST of the class fee

feeHelpClass

  • Returns Not null Boolean

feeIncGst

  • Returns Money class fee including GST

finalDETexport

  • Returns String

firstRoom

  • Returns def the Room associated with the first session of the class

firstSession

Convenience method to get the very first (chronologically) session for a class

  • Returns Nullable Session first session (in chronological order)

firstSubjectTag

  • Returns def the first child of the Subject tag applied to this class

fullFeeEnrolments

  • Returns def all enrolments that did not use a discount

fullFeeEnrolmentsFeesSum

  • Returns def the sum of all enrolment fees for all enrolments that did not use a discount

fullTimeLoad

  • Returns String

hasZeroWages

  • Returns boolean Documentation not yet available

incomeAccount

initialDETexport

  • Returns String

invoiceLines

isActive

  • Returns Not null Boolean true if class is active and can accept enrolments

isCancelled

  • Returns Not null Boolean true if class has been cancelled

isClassFeeApplicationOnly

  • Returns Not null Boolean

isDistantLearningCourse

  • Returns Not null Boolean

isShownOnWeb

  • Returns Not null Boolean true if class is visible and searchable on college website

isTraineeship

  • Returns boolean Documentation not yet available

manuallyDiscountedEnrolments

  • Returns def all enrolments in this courseClass enrolled with a manual discount

maxStudentAge

  • Returns Integer the maximum age of students allowed to enrol in this courseClass

maximumDays

  • Returns Integer

maximumPlaces

  • Returns Not null Integer maximum number of enrolments class can accept

maximumTotalCost

  • Returns def Documentation not yet available

maximumTotalIncome

  • Returns def Documentation not yet available

maximumTotalProfit

  • Returns def Documentation not yet available

message

  • Returns String

midwayDETexport

  • Returns String

minStudentAge

  • Returns Integer the minimum age of students allowed to enrol in this courseClass

minimumPlaces

  • Returns Not null Integer minimim number of enrolments required for class to proceed

minutesPerSession

  • Returns Integer duration of the session in minutes

modifiedOn

  • Returns Date the date and time this record was modified

outcomes

  • Returns def all outcomes of all enrolments in this courseCLass

payableClassroomHours

  • Returns BigDecimal sum of payable hours in all sessions of this courseClass

percentageOfDeliveredScheduledHoursBeforeDate(treshold)

Convenience method to get the percentage of delivered hours

  • treshold Date - date to calculate the ratio @return percentage of delivered hours

  • Returns BigDecimal percentage of delivered hours

placesLeft

  • Returns int Documentation not yet available

placesLeft

  • Returns def number of enrolments left before reaching the maxiumum number of enrolments in the courseClass

prepaidFeesForMonth(monthsCount)

  • monthsCount int Documentation not yet available

  • Returns def Documentation not yet available

publicRelativeURL

  • Returns Not null String /class/uniqueCode

refundedAndCancelledEnrolments

  • Returns def Documentation not yet available

relatedFundingSource

Returns the funding source for this CourseClass.

  • Returns Nullable FundingSource funding source used for this class

reportableHours

  • Returns BigDecimal

reportingPeriod

  • Returns Integer

room

  • Returns Not null Room main room associated with this class

sessionModules

  • Returns def Documentation not yet available

sessionRepeatInterval

  • Returns Integer

sessions

  • Returns Not null List of Session list of sessions linked to this class

sessionsCount

  • Returns Not null Integer number of sessions class has

sessionsCountForTutor(t)

  • t Tutor Documentation not yet available

  • Returns int

sessionsSkipWeekends

  • Returns Boolean

startDateTime

  • Returns Date start date and time of the first session of the class

subcategory

Returns the first child of the 'Subject' tag of the course this courseClass belongs to Subject/Languages/[Japanese]

  • Returns def the name of the 2nd Subject child tag applied to this CourseClass

successAndQueuedEnrolments

  • Returns Not null List of Enrolment list of successful and in transaction enrolments made to this class

suppressAvetmissExport

  • Returns Not null Boolean true if this class is suppressed from AVETMISS export

tags

  • Returns Not null List of Tag The list of tags assigned to course class

taxAdjustment

timeZone

  • Returns TimeZone time zone of the class venue or default server time zone if not specified

timetableSummary

  • Returns def Documentation not yet available

totalIncomeAmount

  • Returns def Documentation not yet available

totalIncomeAmountWithoutPrepaidFees

  • Returns def Documentation not yet available

tutorNames

  • Returns def Documentation not yet available

tutorNamesAbriged

  • Returns def Documentation not yet available

tutorRoles

Returns the a list of TutorRole objects that is used to relate CourseClasses and Tutors

  • Returns Not null List of CourseClassTutor relation TutorRole object of each Tutor assigned to this class

tutorsAbridged

  • Returns String Documentation not yet available

uniqueCode

  • Returns Not null String a unique identifier in the form {@code courseCode-classCode}.

uniqueSessionModules

  • Returns def Documentation not yet available

validEnrolmentCount

  • Returns int number of successful and in transaction enrolments made to this class

valueForKey(key)

  • key String Documentation not yet available

  • Returns Object

vetCourseSiteID

  • Returns Integer

vetFundingSourceStateID

  • Returns String

vetPurchasingContractID

  • Returns String

vetPurchasingContractScheduleID

  • Returns String

webDescription

  • Returns String web description field that is rendered on courseClass webpage

isActual

Checks if CourseClass isn’t finished and isn’t cancelled in the moment of method call

  • Returns def

CourseClassTutor

A CourseClass record may have one or more Tutors attached to it. The same Tutor may even be attached several times with different roles. For example, as a lecturer and an assessor. This then feeds the tutor attendance and payroll functionality.

confirmedOn

  • Returns Date the date this tutor has been confirmed on

courseClass

createdOn

  • Returns Date the date and time this record was created

definedTutorRole

  • Returns Not null DefinedTutorRole the role with which the Tutor has been attached to the CourseClass

inPublicity

  • Returns Not null Boolean returns true if this tutor is publically shown in class information

modifiedOn

  • Returns Date the date and time this record was modified

sessionSummary

A summary of the CourseClass sessions. Returns the number of sessions and the sum of hours in all sessions The output for a class with 3 sessions and 5 hours per session would be:

3 (15)
  • Returns def number of sessions and total hours

sessionsTutors

  • Returns Not null List of TutorAttendance the attendance records related to this tutor and their role in the courseClass

tutor

  • Returns Not null Tutor the linked Tutor

CourseModule

Object representing relation between course and module.

course

  • Returns Not null Course linked course record

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

module

  • Returns Not null Module linked module record

CustomField

A CustomField value. Only String is currently supported.

createdOn

  • Returns Not null Date the date and time this record was created

customFieldType

modifiedOn

  • Returns Not null Date the date and time this record was modified

value

  • Returns String the stored value

CustomFieldType

A definition of a custom field which can be used to extend the Contact object. Custom fields currently can only be attached to Contacts and can only contain string data.

createdOn

  • Returns Not null Date the date and time this record was created

defaultValue

When a new records is created, the custom field can be populated with a default value

  • Returns String default value for this custom field type

isMandatory

  • Returns Not null Boolean if true, the custom field must be not null and not empty in order to save the Contact record

key

Key, by which custom field may be referenced (for example in groovy DSL). Once set, cannot be changed, unlike Name E.g. for getting value from contact custom field "Passport number" with key "passNum" following expression can be used: 'contact.passNum' as alternative to 'contact.customField("Passport Number")'

  • Returns Not null String set fieldKey value

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

Name of the custom field, mandatory, can be changed

  • Returns Not null String the human readable name of the field

DefinedTutorRole

Tutor roles represent the type of engagement a tutor has in a class. They might be a 'trainer', 'assistant' or 'assessor' or any number of other roles. The DefinedTutorRole objects are set up in preferences and typically not changed often.

Each role can have a set of pay rates, although the specific pay rate can also be overridden per tutor per class.

active

Tutor roles need the capacity to be retired. So if active is false they no longer appear in the drop down list inside the class add tutor process

  • Returns Not null Boolean true if TutorRole is active and can be applied for class

currentPayrate

  • Returns PayRate Documentation not yet available

description

  • Returns String the description for this tutor role

name

  • Returns Not null String the name of this role

payRateForCourseClass(courseclass)

For the start date of a particular class, get the pay rate for this role. If the class has no schedule, and therefore no start date, use today’s date.

  • courseclass CourseClass calculate the payrate for a particular class @return the applicable pay rate

  • Returns Nullable PayRate the applicable pay rate

payRateForDate(date)

For a particular date, get the rate which is valid. If nothing is applicable, return null

  • date Date date to get payrate for @return the applicable pay rate

  • Returns Nullable PayRate the applicable pay rate

payRateForSession(session)

For a particular session, get the pay rate. If you pass a session without a defined start date, then use today’s date.

  • session Session calculate the payrate for a particular session @return the applicable pay rate

  • Returns Nullable PayRate the applicable pay rate

payRates

Pay rates can be given a starting date in which case the new rate takes over from the previous one on that date. In this way forward planning for pay rises can be built in.

  • Returns Not null List of PayRate a list of applicable pay rates for this role

Discount

A discount represents a set of rules used to determine whether a different price can be applied to an enrolments. Discounts can be negative (in which case they represent a surcharge).

addByDefault

  • Returns Not null Boolean true if discount is added by default when creating a new class

applicableDiscounts(courseClass)

  • courseClass CourseClass class to check @return list of applicable discounts

  • Returns List of Discount list of applicable discounts

code

  • Returns String promotion code for this discount

cosAccount

  • Returns Nullable Account cos account for this discount

createdOn

  • Returns Date the date and time this record was created

discountConcessionTypes

discountCourseClasses

  • Returns Not null List of DiscountCourseClass list of classes linked to this discount, discount can be applied only if enrolling to classes from this list

discountDollar

  • Returns Money discount’s dollar value

discountMax

Maximum discount value sets a cap on the discount value which can be applied. For example, if invoice line amount is $100, discount is 30% and maximum discount value is set to $10, only $10 discount will be applied.

  • Returns Money maximum value for this discount

discountMemberships

discountMin

Minimum discount value sets a minimal discount value for this discount For example, if invoice line amount is $100, discount is 10% and minimum discount value is set to $20, then $20 discount will be applied instead of $10.

  • Returns Money minimum value for this discount

discountPercent

  • Returns BigDecimal discount’s percentage

discountType

  • Returns Not null DiscountType type of discount: percent, dollar value or fee override

discountedEnrolments

Get all the active enrolments which used this discount and the amount of the discount isn’t $0

  • Returns Not null List of Enrolment a list of enrolments

discountedEnrolments(from, to)

Get all the active enrolments which used this discount and the amount of the discount isn’t $0 Filter that list of enrolments to a date range. If you pass a null date in either option, then that part of the filter is not applied. The date range applies to the invoice creation date, not the enrolment date.

  • from Date the starting date of the range. This date will automatically be extended to the previous midnight @param to the ending date of the range. This date will automatically be extended to the next midnight @return a list of enrolments

  • to Date the ending date of the range. This date will automatically be extended to the next midnight @return a list of enrolments

  • Returns Not null List of Enrolment a list of enrolments

hideOnWeb

  • Returns Not null Boolean true if this discount is hidden from promotions list on website

isAvailableOnWeb

  • Returns Not null Boolean true if discount is available to students enrolling on website

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of the discount. Will be displayed on the website as well.

predictedStudentsPercentage

  • Returns Not null BigDecimal predicted percentage of students using this discount

publicDescription

  • Returns String a description which may be displayed to students

rounding

After the discount is applied, different rounding options can be applied to the resulting amount.

studentAge

The discount can be limited to students up to a certain age.

  • Returns String Maximum student age in years TODO: why does this return String?

studentEnrolledWithinDays

  • Returns Integer number of days from last enrolment student should not exceed to receive the discount

studentPostcode

The discount can be limited to students who live in certain postcodes. If more than one postcode is needed, separate them with commas ",".

  • Returns String one or more postcodes for the student’s address

studentPostcodes

  • Returns Not null List of [String] list of postcodes whose residents are eligible for this discount

totalDiscountExTax(from, to)

Get the total amount of discount (ex tax) applied to all invoices created in the date range. If you pass a null date in either option, then that part of the filter is not applied.

  • from Date the starting date of the range. This date will automatically be extended to the previous midnight @param to the ending date of the range. This date will automatically be extended to the next midnight @return total amount of discount ex tax

  • to Date the ending date of the range. This date will automatically be extended to the next midnight @return total amount of discount ex tax

  • Returns Not null def total amount of discount ex tax

totalDiscountIncTax(from, to)

Get the total amount of discount (including tax) applied to all invoices created in the date range. If you pass a null date in either option, then that part of the filter is not applied.

  • from Date the starting date of the range. This date will automatically be extended to the previous midnight @param to the ending date of the range. This date will automatically be extended to the next midnight @return total amount of discount inc tax

  • to Date the ending date of the range. This date will automatically be extended to the next midnight @return total amount of discount inc tax

  • Returns Not null Money total amount of discount inc tax

validFrom

If this value is null the discount doesn’t have a start date.

  • Returns Date the date before which the discount will not be applied

validTo

If this value is null the discount doesn’t have an expiry date.

  • Returns Date the date after which the discount will not be applied

DiscountConcessionType

Object representing relation between discount and concession type.

concessionType

createdOn

  • Returns Date the date and time this record was created

discount

  • Returns Not null Discount linked discount

modifiedOn

  • Returns Date the date and time this record was modified

DiscountCourseClass

Object representing relation between discount and course class.

classCost

  • Returns Not null ClassCost linked class cost record linked

courseClass

createdOn

  • Returns Date the date and time this record was created

discount

  • Returns Not null Discount linked discount

discountedEnrolments(from, to)

Returns all the discounted enrolments in the related courseclasses created in the provided date ranged

  • from Date start of date range @param to end of date range @return discount enrolments in the related courseClass

  • to Date end of date range @return discount enrolments in the related courseClass

  • Returns def discount enrolments in the related courseClass

discountedInvoiceLines(from, to)

Returns all the invoicelines for enrolments in the related courseclasses created in the provided date ranged

  • from Date start of date range @param to end of date range @return invoicelines joined to discount enrolments in the related courseClass

  • to Date end of date range @return invoicelines joined to discount enrolments in the related courseClass

  • Returns def invoicelines joined to discount enrolments in the related courseClass

modifiedOn

  • Returns Date the date and time this record was modified

predictedStudentsPercentage

  • Returns BigDecimal predicted percentage of students using this discount

totalDiscountedValue(from, to)

Returns the total amount discounted for enrolments created in a given date range

  • from Date start of date range @param to end of date range @return total amount discounted

  • to Date end of date range @return total amount discounted

  • Returns def total amount discounted

DiscountMembership

Object representing relation between discount and membership.

applyToMemberOnly

  • Returns Not null Boolean true if discount can only be applied to the owner of the membership and can’t be applied to their related contacts

createdOn

  • Returns Date the date and time this record was created

discount

  • Returns Not null Discount linked discount

discountMembershipRelationTypes

membershipProduct

modifiedOn

  • Returns Date the date and time this record was modified

DiscountMembershipRelationType

Object representing relation between DiscountMembership object and contact relation type. Used to describe membership owner’s contact relations which can use linked discount along with them.

contactRelationType

createdOn

  • Returns Date the date and time this record was created

discountMembership

modifiedOn

  • Returns Date the date and time this record was modified

Document

Document is a file (like text document, image, pdf, etc.) which can be attached to different types of records in onCourse. Documents can have multiple versions allowing to track historic information for RTO compliance purposes.

createdOn

  • Returns Date the date and time this record was created

currentVersion

description

  • Returns String text description of this document

fileUUID

Unique file identifier is assigned to every document stored in Amazon S3. This id is used to generate HTTP links to the document.

  • Returns String unique id for this attachment in Amazon S3 storage

isRemoved

  • Returns Not null Boolean true if the document has been marked as removed

isShared

  • Returns Not null Boolean true if document can be attached to multiple records at once

  • Returns String Documentation not yet available

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of this document

tags

  • Returns Not null List of Tag The list of tags assigned to document

versions

  • Returns Not null List of DocumentVersion historical list of versions of this document

webVisibility

  • Returns Not null AttachmentInfoVisibility visibility setting for this document: private, public, enrolled students and tutors or tutors only

isActive

  • Returns Boolean Documentation not yet available

DocumentVersion

Specific version of a document record stored in onCourse.

attachmentData

  • Returns Not null AttachmentData attachment file data stored in onCourse database (only works if Amazon S3 is not configured)

byteSize

  • Returns Long size of attachment in bytes

createdByUser

  • Returns Nullable SystemUser onCourse user who created this document version

createdOn

  • Returns Date the date and time this record was created

description

  • Returns String description of this document version

document

  • Returns Not null Document linked document

fileName

  • Returns String default file name for this document version

hash

  • Returns String SHA-1 hash of the attachment file data

mimeType

  • Returns String MIME type of the attachment

modifiedOn

  • Returns Date the date and time this record was modified

pixelHeight

  • Returns Integer height of the image attachment in pixels, null if attachment is not image

pixelWidth

  • Returns Integer width of the image attachment in pixels, null if attachment is not image

thumbnail

  • Returns byte[] 140x140 thumbnail of the image attachment, null if attachment is not image

timestamp

  • Returns Not null Date date and time when this document version was created

versionId

  • Returns String identifier of this document version used by Amazon S3 storage

EmailTemplate

Email template defines generic structure of an email suited for some particular purpose (enrolment confirmation, invoice, cancellation notice) which is meant to be filled in with specific data and sent out repeatedly. Email templates in onCourse use Groovy templates engine which uses Groovy language syntax.

bodyHtml

  • Returns String email HTML body template

bodyPlain

  • Returns String email plain text body template

createdOn

  • Returns Date the date and time this record was created

entity

  • Returns String specific record type email is linked to (e.g. enrolment for enrolment confirmation)

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of this email template

subject

  • Returns String email subject

Enrolment

An enrolment joins a student to a class. There can be only one enrolment per student per class.

An enrolment doesn’t directly carry any financial information about the cost of the enrolment, however it might be linked to one or more invoice lines which you can interrogate to determine the cost, discounts and follow through to the invoice and payments. The join between InvoiceLine and Enrolment is one of the few places in onCourse where financial data touches educational data. This is a quite deliberate delineation between the two.

An enrolment also doesn’t carry information about attendance; there is an Attendance object which joins the Enrolment to each Session in the CourseClass.

If you are looking for Outcomes for each unit of competency (Module) undertaken by the Student, then of course follow the relation to Outcomes for this Enrolment.

allowedToPrint

  • Returns boolean true if this enrolment will be printed

attendanceType

cancelWarningMessage

  • Returns String class cacellation warning message

confirmationStatus

  • Returns Not null ConfirmationStatus enrolment confirmation email status: not sent, sent or suppressed from sending

courseClass

courseModules

  • Returns List of Module all modules belongs to the course this enrolment belongs to

createdOn

  • Returns Date the date and time this record was created

creditFOEId

  • Returns String

creditLevel

creditOfferedValue

  • Returns String

creditProvider

  • Returns String

creditProviderType

creditType

  • Returns CreditType details of prior study for which credit/RPL was offered

creditUsedValue

  • Returns String

cricosConfirmation

  • Returns Nullable String

eligibilityExemptionIndicator

  • Returns Not null Boolean

feeHelpAmount

feeHelpStatus

feeStatus

modifiedOn

  • Returns Date the date and time this record was modified

originalInvoiceLine

  • Returns InvoiceLine original invoice line which was created during enrolment process. Such invoice line store original enrolment price, discount amount and other properties which usually uses by customers in reports, exports and other components.

originalInvoiceLine

  • Returns def original invoice line which was created during enrolment process. Such invoice line store original enrolment price, discount amount and other properties which usually uses by customers in reports, exports and other components.

outcomes

Non-VET classes will still have a single outcome for each enrolment, even though that outcome isn’t linked to a Module.

VET classes may have one or many outcomes. These outcomes are initially attached to the enrolment by creating one Outcome for each Module attached to the Course. However a user may remove and attach other Modules by creating or deleting Outcomes for this specific Enrolment.

  • Returns Not null List of Outcome a list of outcomes

relatedFundingSource

Returns the funding source for this enrolment.

  • Returns Nullable FundingSource funding source used for this enrolment

source

Payment can be made in onCourse (office) or from the onCourse website (web).

  • Returns Not null PaymentSource where the payment for this enrolment was made

status

student

  • Returns Not null Student the student who enrolled

studentIndustryANZSICCode

  • Returns Integer ANZSIC standard code for industrial classification

studyReason

  • Returns Not null StudyReason standard set of values for AVETMISS reporting

suppressAvetmissExport

  • Returns Boolean true if enrolment is suppressed from appearing in AVETMISS export

surveys

  • Returns Not null List of Survey all survey results for this enrolment

trainingPlanDeveloped

  • Returns Boolean

vetClientID

  • Returns String

vetFeeExemptionType

vetFeeIndicator

  • Returns Not null Boolean

vetFundingSourceStateID

An AVETMISS reporting requirement for the VET Funding source state ID of an enrolment. If the VET Funding source state ID is not overridden in the enrolment, this function will return the value from the class.

  • Returns String

vetIsFullTime

  • Returns Not null Boolean returns true if this is a full time enrolment

vetPurchasingContractID

An AVETMISS reporting requirement for the purchasing contract ID of an enrolment. If the purchasing contract ID is not overridden in the enrolment, this function will return the value from the class.

  • Returns String

vetTrainingContractID

  • Returns String

hasAttendance

  • Returns boolean true if related attendances exist for this enrolment

EnrolmentFieldConfiguration

A field configuration which is used to collect enrolment information

createdOn

  • Returns Not null Date the date and time this record was created

fieldHeadings

  • Returns Not null List of FieldHeading a list of all headings attached to this field configuration

fields

  • Returns Not null List of Field a sorted list of all fields attached to this field configuration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of this field configuration. Not shown to students anywhere.

EntityRelation

Entity relation describes generic link between two records in onCourse.

createdOn

  • Returns Date the date and time this record was created

fromEntity

fromRecordId

  • Returns Not null Long ID of the entity record on the left side of the relation

modifiedOn

  • Returns Date the date and time this record was modified

relationType

toEntity

toRecordId

  • Returns Not null Long ID of entity record on the right side of the relation

EntityRelationType

considerHistory

  • Returns Boolean true if need to consider history

createdOn

  • Returns Date the date and time this record was created

description

  • Returns String the text description of this relation type

discount

  • Returns Discount the discount which is applied if item from left side of the relation would be selected

entityRelations

fromName

  • Returns Not null String the type name of entity record on the left side of the relation

isShownOnWeb

  • Returns Boolean true if relation type is shown on web

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of relation type

shoppingCart

@see ish.common.types.EntityRelationCartAction

toName

  • Returns Not null String the type name of entity record on the right side of the relation

ExportTemplate

Export template describes the way records from onCourse are transformed into specific export format (XML, CSV, etc.) Export templates in onCourse rely on Groovy script for defining transformation logic.

body

  • Returns Not null String body of this export template

createdOn

  • Returns Date the date and time this record was created

entity

  • Returns Not null String type of entity this export template can be applied to

keyCode

  • Returns Not null String unique key code identifier of this export template

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of this export template

Field

Data collection rules {@link FieldConfigurationScheme} are made up of Fields. They are ordered and grouped with headings.

Note that some fields have special treatment in the user interface. For example validation on email address or date of birth, or autocomplete on suburb and postcode.

createdOn

  • Returns Not null Date the date and time this record was created

description

  • Returns Nullable String a description of the field is typically used for help or hover text in the UI

fieldConfiguration

Fields are grouped into FieldConfigurations

fieldHeading

  • Returns Nullable FieldHeading the FieldHeading under which this Field is grouped

mandatory

  • Returns Not null Boolean true if this field is required to have a non-null value to validate the data collection

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of the field is usually shown as a label in the UI

property

  • Returns Not null String a string property key which identifies which attribute this fields points to

FieldConfiguration

Data collection rules {@link FieldConfigurationScheme} comprise several FieldConfigurations:

  1. waiting list

  2. enrolment

  3. application

  4. survey

A {@link FieldConfiguration} can be reused as part of several different schemes

createdOn

  • Returns Not null Date the date and time this record was created

fieldHeadings

  • Returns Not null List of FieldHeading a list of all headings attached to this field configuration

fields

  • Returns Not null List of Field a sorted list of all fields attached to this field configuration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of this field configuration. Not shown to students anywhere.

schemes

FieldConfigurationScheme

Data collection rules {@link ish.oncourse.cayenne.FieldConfigurationScheme} comprise several FieldConfigurations:<br>

  1. waiting list<br>

  2. enrolment<br>

  3. application<br>

  4. survey<br>

A {@link ish.oncourse.cayenne.FieldConfiguration} can be reused as part of several different schemes. Although called {@link ish.oncourse.cayenne.FieldConfigurationScheme} here in the API, the user interface refers only to Data Collection Rules.

Each course is linked to a single scheme which then determines how forms are displayed to a student.

FieldConfiguration contains both FieldHeading and Field in a sorted order.

applicationFieldConfiguration

courses

  • Returns Not null List of Course a list of all courses attached. Careful, this could be a long list and isn’t paginated.

createdOn

  • Returns Not null Date the date and time this record was created

enrolFieldConfiguration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

This is displayed in the UI when attaching a course to a scheme but never shown to students.

  • Returns Not null String The name of the scheme.

waitingListFieldConfiguration

FieldHeading

Data collection rules {@link FieldConfigurationScheme} have zero or more headings under which the Fields are grouped.

createdOn

  • Returns Not null Date the date and time this record was created

description

The description is usually shown in the UI under the name, within some sort of border or panel

  • Returns Nullable String a description: it might be several paragraphs

fieldConfiguration

FieldHeadings are grouped into FieldConfigurations

fields

  • Returns Not null List of Field a sorted list of the fields under this heading

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of the heading is usually shown in a large font in the UI

FundingSource

active

  • Returns Not null Boolean true if active

createdOn

  • Returns Nullable Date the date and time this record was created

enrolments

  • Returns Not null List of Enrolment enrolments created using this funding source

flavour

modifiedOn

  • Returns Nullable Date the date and time this record was modified

name

  • Returns Not null String name of this funding source

FundingUpload

createdOn

  • Returns Nullable Date the date and time this record was created

fundingUploadOutcomes

modifiedOn

  • Returns Nullable Date the date and time this record was modified

outcomeCount

  • Returns Nullable Long Documentation not yet available

status

systemUser

  • Returns Not null SystemUser Documentation not yet available

FundingUploadOutcome

createdOn

  • Returns Nullable Date the date and time this record was created

endDate

  • Returns Not null LocalDate Documentation not yet available

fundingUpload

modifiedOn

  • Returns Nullable Date the date and time this record was modified

outcome

  • Returns Not null Outcome Documentation not yet available

startDate

  • Returns Not null LocalDate Documentation not yet available

Import

Import describes the way some external format (XML, CSV, etc.) can be transformed into onCourse records. Imports in onCourse rely on Groovy script for defining transformation logic.

createdOn

  • Returns Date the date and time this record was created

keyCode

  • Returns Not null String the unique keycode for this import

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the visible name for this import in the UI

script

  • Returns Not null String The groovy script which processes the import

Invoice

Invoices are where the accounting side of onCourse meets the training and delivery parts of the database. Invoices can be created to any contact. The financial data on them is immutable, that is the dates and dollar amounts cannot be modified after creation.

Invoice lines may join to enrolments or products for sale.

Negative invoices represent credit notes.

printHeading

Prints 'Tax Invoice' or 'Credit Note' depending on the amount owing on this invoive

  • Returns def invoice print heading

unpaidInvoiceDueDates

  • Returns def all unpaid InvoiceDueDates for this Invoice

hasNonTaxableInvoiceLines

  • Returns def Documentation not yet available

hasTaxableInvoiceLines

  • Returns def

InvoiceDueDate

Object representing single payment due date of a payment plan.

amount

  • Returns Not null Money amount due to be paid

createdOn

  • Returns Nullable Date the date and time this record was created

dueDate

  • Returns Not null LocalDate the date when payment is due

invoice

  • Returns Not null Invoice invoice record linked to this

modifiedOn

  • Returns Nullable Date the date and time this record was modified

unpaidAmount

  • Returns def amount that still unpaid for the associate invoice

InvoiceLine

Includes the behavior implemented in InvoicePayableLineWrapper

account

  • Returns Not null Account account linked to this invoice line

cosAccount

  • Returns Nullable Account COS account linked to this invoice line

courseClass

  • Returns Not null CourseClass class linked to this invoice line

createdOn

  • Returns Date the date and time this record was created

description

  • Returns String invoice line description

discountEachExTax

  • Returns Not null Money discount amount excluding tax per single item on this invoice line

discountEachIncTax

  • Returns Money discount amount including tax per single item on this invoice line

discountTotalExTax

  • Returns Money total discount amount (discount per single item times quantity) excluding tax

discountTotalIncTax

  • Returns Money total discounted amount including tax for all items on this invoice line (discount for single item times quantity)

discountedPriceTotalExTax

  • Returns Money total price (price per single item times quantity) including discount and excluding tax

discountedPriceTotalIncTax

  • Returns Money total price (price per single item times quantity) including discount and including tax

discountedPriceTotalTax

  • Returns Money total tax amount calculated by subtracting total discounted price excluding tax from total discounted price including tax

discountedTaxOnPriceEach

  • Returns Money discounted tax amount per single item on this invoice line

discounts

  • Returns Not null List of Discount list of discounts linked to this invoice line

enrolment

  • Returns Not null Enrolment enrolment linked to this invoice line

finalPriceToPayExTax

  • Returns Money final price for this invoice line excluding tax

finalPriceToPayIncTax

  • Returns Money final price for this invoice line including tax

invoice

  • Returns Not null Invoice parent invoice linked to this invoice line

invoiceLineDiscounts

invoiceTax

  • Returns Not null Tax tax associated with this invoice line

modifiedOn

  • Returns Date the date and time this record was modified

prepaidFeesAccount

  • Returns Not null Account prepaid fees liability account

prepaidFeesRemaining

  • Returns Not null Money remaining amount on prepaid fees liability account which is not yet transferred to income account

priceEachExTax

  • Returns Not null Money price per single item without discounts excluding tax

priceEachIncTax

  • Returns Money price per single item without discounts including tax

priceTotalExTax

  • Returns Money total price (price per single item times quantity) without discount excluding tax

priceTotalIncTax

  • Returns Money total price (price per single item times quantity) without discount including tax

productItems

  • Returns Not null List of ProductItem product items linked to this invoice line

quantity

  • Returns Not null BigDecimal quantity of items

tax

  • Returns Not null Tax tax linked to this invoice line

taxEach

  • Returns Not null Money tax amount per single item

taxRate

  • Returns float the of tax rate expressing found by dividing the tax amount by the total price

title

  • Returns Not null String invoice line title

totalTax

  • Returns Money total tax amount (tax amount per single item times quantity)

unit

  • Returns String quantity unit of measurement (e.g. kg)

voucherPaymentIn

  • Returns Not null List of VoucherPaymentIn voucher payment records linked to this invoice line

isTaxableAccount

Is it possible for tax to be applied to this account? For now this is a simplistic test: liability and asset accounts cannot have tax applied.

  • Returns def true if tax could be applied

InvoiceLineDiscount

Object representing relation between InvoiceLine and Discount.

createdOn

  • Returns Date the date and time this record was created

discount

  • Returns Not null Discount linked discount

invoiceLine

modifiedOn

  • Returns Date the date and time this record was modified

Language

This table is read-only since it is updated through an automated process, pulling changes and new records from an onCourse update service. That data is turn is fed from updates to the ABS (Australian Beureau of Statistics) reference data.

Note that the ABS will sometimes remove entries, however we will always preserve historic records.

absCode

  • Returns String The language code defined by the ABS

createdOn

  • Returns Date the date and time this record was created

isActive

When older languages are removed from the government standards list, they aren’t deleted here but just disabled.

  • Returns Not null Boolean whether this language is still available for use

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of the language

Membership

A persistent class mapped as "Membership" Cayenne entity.

MembershipProduct

A persistent class mapped as "MembershipProduct" Cayenne entity.

discountMemberships

  • Returns Not null List of DiscountMembership relational object mapping this object to the Discount used to purchase it

discountsAvailable

  • Returns Not null List of Discount Discounts available to be used with purchase of this Membership

Message

A message sent to a Contact record can represent an SMS, email or postal document. A Message might be sent as email, SMS or post all at the same time and be delivered by two or more of those means to the same users. It is possible for a Message to sent to a single Contact or to thousands.

Email and SMS messages are queued on the onCourse server and delivered in the background in a batch process every minute or so.

contacts

If some contacts don’t have email addresses or mobile phone numbers at the time of creation, then some messages may fail to be delivered. If the Message contains two or more of SMS, email or postal components then some of the Contacts in this list may only receive some those components. For example, some contacts may have a mobile phone number and not an email; others have email and no phone, and others have both.

  • Returns Not null List of Contact the list of contacts to whom the message is sent

createdBy

  • Returns Not null SystemUser the SystemUser who created the message

createdOn

  • Returns Date the date and time this record was created

creatorKey

  • Returns Nullable String specific key of the message. It can be set in scripts.

emailBody

If this message is an email, this returns the plaintext body. Although it is possible to send an email with an html part only, it is recommended that you always send a plaintext part as well in order to support all users with different devices.

  • Returns String plaintext message

emailFrom

  • Returns String a properly formatted email address

emailHtmlBody

If this message is an email, this returns the html body. It is possible for this part to be null or empty even if the message is an email, in which case only the plaintext message will be sent.

  • Returns String html message

emailSubject

If this message is an email, this must contain a not empty subject string

  • Returns String subject

messagePersons

  • Returns Not null List of MessagePerson the intermediate table linking to Contacts

modifiedOn

  • Returns Date the date and time this record was modified

postDescription

If this message is sent by snail mail (post), this contains a description of what was sent

  • Returns String a human entered description of the message

smsText

If this message is an SMS, this contains the text. If the text is longer than a standard SMS length, it will be delivered as two or more SMS messages, incurring additional charges

  • Returns String SMS content

tags

  • Returns Not null List of Tag The list of tags assigned to message

MessagePerson

When a Message is sent to a Contact, the MessagePerson object represents the specific delivery attempt of each message to each Contact. Because a Message can be delivered to different media at the same time (eg both SMS and email), there might be more than one MessagePerson object joining the same Contact and Message objects.

attemptCount

  • Returns Not null Integer the number of times we attempted to deliver the message

contact

  • Returns Not null Contact the contact to whom the message will be delivered

createdOn

  • Returns Date the date and time this record was created

destinationAddress

This field will be null for postal messages, contain a mobile phone number for SMS or email address for email messages

  • Returns Not null String a destination address

message

  • Returns Not null Message the message to deliver

modifiedOn

  • Returns Date the date and time this record was modified

response

  • Returns String the response from the mail server or SMS gateway, if any

sentOn

  • Returns Date the time and date on which the message was delivered

status

  • Returns Not null MessageStatus the delivery status of this message

type

  • Returns Not null MessageType a type representing email, SMS or post

Module

The Module class contains records from both modules (state based) and units of competetency (national) from the training.gov.au website. You cannot create or delete records in this table since they are automatically kept in sync with data from the official website.

courses

  • Returns Not null List of Course a list of courses linked to this module

createdOn

  • Returns Date the date and time this record was created

fieldOfEducation

  • Returns String the NCVER 'Subject field of education' identifer code

isOffered

  • Returns Not null Boolean true if this module is offered by the college

modifiedOn

  • Returns Date the date and time this record was modified

nationalCode

  • Returns String national code

nominalHours

  • Returns BigDecimal nominal hours

title

  • Returns String title

type

  • Returns Not null ModuleType the ModuleType of this outcome

setIsOffered(isOffered)

Setting this field reduces the choices available to users in the UI of onCourse to only those modules which are offered.

  • isOffered Boolean true if this college offers the module

Note

A Note is a freeform piece of text attached to another record. Each note is timestamped and we record who created it and when they did. Normally you’d set access rights so that most users can create but not edit notes in order to create a comprehensive audit trail.

changedBy

  • Returns SystemUser the user who last changed this note

createdOn

  • Returns Not null Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

note

  • Returns Not null String the text of the note itself

systemUser

  • Returns Not null SystemUser the user who created this note

Outcome

Outcomes are a relationship between a student and a Module/Unit of Competency and represents a student’s progress through training, and the result of their assessment. Typically an outcome is linked to a single enrolment, but it is possible for outcomes to be created which aren’t linked to an enrolment at all for recognition of prior learning.

certificate

All the certificates this outcome has ever been linked to. Be careful since this might return a large number of records. You might be better performing a query on the certificate entity to get just the results you need.

  • Returns Not null List of Certificate a list of certificates

code

  • Returns String the national code of this outcome. If it is not VET, then the code of the course or name of prior learning

createdOn

  • Returns Date the date and time this record was created

deliveryMode

An AVETMISS reporting requirement for the delivery mode of an outcome. TODO: review why this isn’t picking up the status from the class when this value is null

endDate

  • Returns def end date and time of the outcome

enrolment

  • Returns Nullable Enrolment onCourse enrolment linked to the outcome

fundingSource

An AVETMISS reporting requirement for the funding source of an outcome. If the funding source is not overridden in the outcome, this function will return the value from the enrolment.

hoursAttended

  • Returns Integer

markedByTutor

Tutors can login and mark outcomes for their students in onCourse portal

  • Returns Nullable Tutor the ID of a tutor who marked the outcome

markedByTutorDate

  • Returns Nullable Date date and time when outcome was marked by a tutor

modifiedOn

  • Returns Date the date and time this record was modified

module

  • Returns Nullable Module unit of competency linked to the outcome

name

  • Returns String the title of this outcome. If it is not VET, then the name of the course or prior learning

priorLearning

PriorLearning is an outcome that was imported into onCourse from outside sources (e.g. different college) or was added manually without a link to existing enrolment

reportableHours

  • Returns BigDecimal

specificProgramIdentifier

  • Returns String specific program identifier used for NCVER reporting

startDate

  • Returns def start date and time of the outcome

status

An AVETMISS reporting requirement for the outcome status. If this payline was created from a classCost record, then this is Nonnull

vetFundingSourceStateID

An AVETMISS reporting requirement for the funding source state ID of an outcome. If the funding source state ID is not overridden in the outcome, this function will return the value from the enrolment and if not set there from the class.

  • Returns String funding source state ID

vetPurchasingContractID

An AVETMISS reporting requirement for the purchasing contract ID of an outcome. If the purchasing contract ID is not overridden in the outcome, this function will return the value from the enrolment and if not set there from the class.

  • Returns String purchasing contract ID

vetPurchasingContractScheduleID

An AVETMISS reporting requirement for the purchasing contract schedule ID of an outcome. If the purchasing contract schedule ID is not overridden in the outcome, this function will return the value from the class.

  • Returns String VET purchasing contract schedule ID

PayLine

A persistent class mapped as "PayLine" Cayenne entity.

budgetedQuantity

If this payline was created from a classCost record, then this is the quantity budgeted. The amount might have been overriden, but this is the original value.

  • Returns Nullable BigDecimal value of original budget quantity

budgetedTaxValue

If this payline was created from a classCost record, then this is the amount budgeted for tax. The amount might have been overriden, but this is the original value. Tax is typically only applicable for contractors who charge GST. This is not PAYG tax.

  • Returns Nullable Money value of original budget tax

budgetedValue

If this payline was created from a classCost record, then this is the amount budgeted. The amount might have been overriden, but this is the original value.

  • Returns Nullable Money value of original budget

classCost

  • Returns Nullable ClassCost class cost associated to this payline

createdOn

  • Returns Not null Date the date and time this record was created

dateFor

  • Returns LocalDate the date this payline is for

description

A description derived from the class, course name and other data to show the recipient on a payslip.

  • Returns Nullable String description

modifiedOn

  • Returns Not null Date the date and time this record was modified

payslip

Paylines are grouped together in a payslip

quantity

  • Returns Not null BigDecimal

session

If this payline is related to a specific session, you can retrieve it here.

taxValue

  • Returns Not null Money the amount of tax against this payline

value

  • Returns Not null Money the value of this payline

PayRate

A persistent class mapped as "PayRate" Cayenne entity.

createdOn

  • Returns Not null Date the date and time this record was created

definedTutorRole

  • Returns Not null DefinedTutorRole the DefinedTutorRole this payrate is applied to

description

  • Returns String the description of this payrate

editedByUser

  • Returns Not null SystemUser the last user who has edited this record

modifiedOn

  • Returns Not null Date the date and time this record was modified

oncostRate

  • Returns Not null BigDecimal

rate

  • Returns Not null Money the rate of pay

type

validFrom

  • Returns Not null Date the date from when this payrate is valid

PaymentIn

A payment received by the college. Each payment can be linked to one or more invoices (or credit notes), and may partially pay an invoice or fully discharge the amount owing.

account

Returns the account this PaymentIn is payed in to

  • Returns def account associated with this payment

accountIn

This account is copied from the PaymentMethod object when the PaymentIn is created. We keep a copy here because the PaymentMethod account might change from time to time and we need to store the value at time of creation.

  • Returns Not null Account this is the asset account into which the payment is deposited

administrationCentre

Some sites can be designated as "administration centres" meaning that they are allowed to accept payments and perform banking functions. A user can choose their site when they log in and all payments created by them from that point are linked to that Site. This is then used to group payments when performing banking.

  • Returns Nullable Site the site which received the payment

amount

  • Returns Not null Money amount of money paid

chequeBank

  • Returns String bank information of a cheque

chequeBranch

  • Returns String branch information for a cheque

chequeDrawer

  • Returns String drawer name for a cheque

confirmationStatus

  • Returns Not null ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending

createdBy

  • Returns Not null SystemUser user who created this payment

createdOn

  • Returns Date the date and time this record was created

creditCardClientReference

  • Returns Nullable String the onCourse payment gateway reference. This value will start with "W" for payments taken online.

dateBanked

  • Returns Nullable LocalDate date when payment was banked

gatewayReference

  • Returns String the reference code returned by the banking system

gatewayResponse

This is typically only useful for debugging since the data here can vary a lot.

  • Returns String the details of the response received from the banking system.

invoices

  • Returns Not null List of Invoice list of invoices linked to this payment record

modifiedOn

  • Returns Date the date and time this record was modified

payer

  • Returns Not null Contact contact who is the payer

paymentInLines

  • Returns Not null List of PaymentInLine list of payment lines linked to this payment

paymentLines

  • Returns Not null List of <<? extends PaymentLineInterface>> list of payment lines linked to this payment

paymentMethod

  • Returns Not null PaymentMethod the method used to make this payment

privateNotes

Private notes are typically not to be shared with the customer.

  • Returns String any private notes stored on the payment

reconciled

  • Returns Not null Boolean true if this payment is reconciled

reversalOf

  • Returns PaymentIn another payment instance which current payment reverses, null if this payment is not a reversal

reversedBy

A user can reverse a payment, which cancels it and reverses the general ledger transactions.

  • Returns Nullable PaymentIn payment in which reversed this payment, null if payment is not reversed

source

  • Returns Not null PaymentSource this records whether the payment was created online or in the office

status

During processing in onCourse payment undergoes a number of status changes until it settles on one of the final statuses. On creation payment receives NEW status immediately, after payment details are settled and processing begins payment is set to IN TRANSACTION status, then after processing is finished payment receives final status which may be one of the FAILED statuses or a SUCCESSFUL status.

  • Returns PaymentStatus current status of processing for this payment

statusString

Returns the PaymentStatus of this PaymentIn

  • Returns def PaymentStatus as a stringz`

voucherPayments

  • Returns Not null List of VoucherPaymentIn list of vouchers linked to this payments

isFinalised

See PaymentStatus for a list of statuses which are final.

  • Returns boolean true if the payment is in a final state which can no longer be changed

PaymentInLine

Payment line links payment with one or multiple invoices which are getting paid for.

account

  • Returns Not null Account account linked to this PaymentInLine

accountOut

amount

  • Returns Not null Money amount of money paid against this particular invoice

createdOn

  • Returns Date the date and time this record was created

invoice

  • Returns Not null Invoice linked invoice record

modifiedOn

  • Returns Date the date and time this record was modified

payment

paymentIn

  • Returns Not null PaymentIn linked payment record

payslip

PaymentMethod

Payment methods are user definable ways that a payment might be taken. Typically you’d have cash, credit card, cheque, EFT as the basic payment methods. But you might add more such as "internal transfer" or perhaps different types of cheques to be handled and banked separately.

account

Each payment method is linked to an asset account into which the payment is deposited.

  • Returns Not null Account account linked with this payment method

active

A payment method which has already been used cannot be deleted, but it can be deactivated so it can no longer be used for future payments.

  • Returns Not null Boolean true if the method is active

bankedAutomatically

If set, this payment will be marked as banked immediately upon creation. This is useful for payments which are processed in real time, such as credit cards.

  • Returns Not null Boolean true is this method banks automatically

name

Each payment method can have an arbitrary name set.

  • Returns Not null String name of this payment method

reconcilable

If set, this payment will be marked as reconciled immediately upon creation.

  • Returns Not null Boolean true if reconcilable on creation

type

Return the special internal payment type. These payment types invoke special actions, such as opening a credit card processing window in a browser.

PaymentOut

A payment or refund from college to someone else. Each payment can be linked to one or more invoices (or credit notes), and may partially pay an invoice or fully discharge the amount owing.

account

  • Returns def account linked with this PaymentOut

accountOut

  • Returns Not null Account account linked with this PaymentOut

administrationCentre

Some sites can be designated as "administration centres" meaning that they are allowed to accept payments and perform banking functions. A user can choose their site when they log in and all payments created by them from that point are linked to that Site.

  • Returns Not null Site the site which issued the PaymentOut

amount

  • Returns Not null Money amount of money paid

chequeBank

  • Returns String

chequeBranch

  • Returns String

chequeDrawer

  • Returns String

chequeNumber

  • Returns String

confirmationStatus

  • Returns Not null ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending

contact

  • Returns Not null Contact contact who receives the payment

createdBy

  • Returns Not null SystemUser user who created this payment

createdOn

  • Returns Date the date and time this record was created

dateBanked

  • Returns Nullable LocalDate date when payment was banked

gatewayReference

  • Returns String payment reference code in the banking system

modifiedOn

  • Returns Date the date and time this record was modified

payee

  • Returns Not null Contact contact who receives the payment

paymentDate

  • Returns Not null LocalDate

paymentInGatewayReference

  • Returns String

paymentLines

  • Returns Not null List of <<? extends PaymentLineInterface>> list of linked payment lines

paymentMethod

  • Returns Not null PaymentMethod the method used to make this payment

paymentOutLines

  • Returns Not null List of PaymentOutLine list of payment lines linked to this payment

privateNotes

Private notes are typically not to be shared with the customer.

  • Returns String any private notes stored on the payment

reconciled

  • Returns Not null Boolean true if this payment has been reconciled

status

During processing in onCourse payment undergoes a number of status changes until it settles on one of the final statuses. On creation payment receives NEW status immediately, after payment details are settled and processing begins payment is set to IN TRANSACTION status, then after processing is finished payment receives final status which may be one of the FAILED statuses or a SUCCESSFUL status.

  • Returns PaymentStatus current status of processing for this payment

statusString

  • Returns def the display name of the PaymentOut status

type

  • Returns Not null String payment method name

PaymentOutLine

Payment line links payment with one or multiple invoices which are getting paid for.

accountIn

  • Returns Not null Account account linked to this invoice line

amount

  • Returns Not null Money amount of money paid against this particular invoice

createdOn

  • Returns Date the date and time this record was created

invoice

  • Returns Not null Invoice linked invoice record

modifiedOn

  • Returns Date the date and time this record was modified

payment

paymentOut

  • Returns Not null PaymentOut linked payment record

Payslip

A payslip is a collection of paylines for a specific tutor, generated at one time. They can be altered until exported after which the numerical data within the paylines is immutable.

Payslips are generated either from a specific set of classes, or across the whole college. In either case, the user specifies an end-date and paylines are only generated for payments until that date.

contact

  • Returns Not null Contact the contact for the tutor this payslip belongs to

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

notes

  • Returns String public notes appended to this payslip

paylines

  • Returns Not null List of PayLine all paylines attached to this payslip

paymentInLines

  • Returns Not null List of PaymentInLine paymentInLines attached to this payslip

paymentOutLines

  • Returns Not null List of PaymentOutLine paymentOutLines attached to this payslip

privateNotes

  • Returns String private notes appended to this payslip

status

  • Returns Not null PayslipStatus the workflow status of the payslip

Preference

Preferences are key-value entities containing settings defining onCourse behavior in various situations.

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of the preference

uniqueKey

  • Returns String unique key of the preference (equal to name if non user specific preference)

user

  • Returns SystemUser onCourse user to whom preference belongs, null if non user specific preference

value

  • Returns byte[] preference value in binary form

valueString

  • Returns String preference string value

PriorLearning

Student’s prior learning record.

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

notes

  • Returns String notes linked to this prior learning record

qualification

  • Returns Nullable Qualification qualification linked to this prior learning record

student

  • Returns Not null Student student linked to this prior learning record

Product

Product is an abstract entity describing product type which can be sold through onCourse. Currently this includes article, membership and voucher.

createdOn

  • Returns Date the date and time this record was created

description

  • Returns String description of this product type

expiryDays

  • Returns Integer number of days after purchase product is valid

expiryType

  • Returns ExpiryType expiry type of this product type

feeGST

  • Returns Money GST tax amount for this product type

incomeAccount

  • Returns Not null Account income account linked to this product type

isOnSale

  • Returns Not null Boolean true if this product can be currently purchased

isWebVisible

  • Returns Not null Boolean true if this product type can be purchased on website

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns String name of this product type

notes

  • Returns String private notes associated with product types

priceExTax

  • Returns Money price for this product type excluding tax

productItems

  • Returns Not null List of ProductItem product items of this product type

relatedCourses

  • Returns Not null List of Course courses related to this product type

sku

  • Returns Not null String SKU of this product type

tax

  • Returns Not null Tax tax linked to this product type

taxAdjustment

  • Returns Not null Money tax adjustment value (used for rounding)

ProductItem

ProductItem is an abstract entity describing product item which has been sold through onCourse. Currently this includes articles, memberships and vouchers.

confirmationStatus

  • Returns Not null ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending

contact

  • Returns Not null Contact contact who owns this product item

createdOn

  • Returns Date the date and time this record was created

expiryDate

  • Returns Date date when product item (e.g. membership) expires

invoiceLine

  • Returns Not null InvoiceLine purchase invoice line for this product item

modifiedOn

  • Returns Date the date and time this record was modified

product

  • Returns Not null Product product type of this item

status

  • Returns ProductStatus current status of this product item: active, cancelled, credited, redeemed, expired or delivered

Qualification

The Qualification class contains records from both accredited courses (state based) and qualifications (national) from the training.gov.au website. You cannot create or delete records in this table since they are automatically kept in sync with data from the official website.

anzsco

  • Returns String ANZSCO code

courses

  • Returns Not null List of Course all courses linked to this qualification

createdOn

  • Returns Date the date and time this record was created

fieldOfEducation

  • Returns String the NCVER 'Subject field of education' identifer code

isOffered

  • Returns Not null Boolean true if this module is offered by the college

level

  • Returns String the level as a string

modifiedOn

  • Returns Date the date and time this record was modified

nationalCode

  • Returns String the national code. This value is unique.

nominalHours

  • Returns BigDecimal nominal hours

title

  • Returns String the qualification title

type

  • Returns Not null QualificationType the type of qualification (eg. accredited course, qualification, skill set)

Report

Report template which can be printed or saved to PDF.

Reports are usually printed from onCourse user interface, but can also be generated from within a script. For example:

        report {
            keycode "ish.onCourse.studentDetailsReport"
            records ObjectSelect.query(Contact).select(args.context)
        }

Optionaly you can use extended list of arguments:

        report {
            keycode "ish.onCourse.studentDetailsReport"
            entity "Contact"
            records ObjectSelect.query(Contact).select(args.context)
            background  "backgroundName"
            param "dateRange_from" :  Date.parse("yyyy-MM-dd", "2016-01-01"),  "dateRange_to" : Date.parse("yyyy-MM-dd", "2016-01-02")
        }

'param' argument is Map<String, Object> which currently acceptable for dateRange_from/dateRange_to values.

This parameters are required for some reports when you need to determine reportable period (the same possibility presented on user interface). If client app run in different time zone with server app you need to provide date range parameters in corresponded server time zone to be sure that output report result will correct: Date.parse("yyyy-MM-dd Z", "2016-01-01 +1100")

If you want to print report from records source which has different type with report entity type (Account Transaction report from contacts records for example) then you need provide 'entity' (entity "Contact") parameter

Keep 'param' map as generic (Object data type) to possible extension of acceptable arguments in future.

'background' argument is name of available ReportOverlay records which stored in onCourse system.

This will return PDF report represented in binary format, which you can for example save to a file or send in an email as an attachment:

smtp {
                from "test@test.com"
        to "test@test.com"
        subject "report example"
        content "report printing example"
        attachment "report.pdf", "application/pdf", report {
         keycode "ish.onCourse.studentDetailsReport"
         records ObjectSelect.query(Contact).select(args.context)
        }
}

body

  • Returns Not null String body of this report

createdOn

  • Returns Date the date and time this record was created

data

  • Returns Not null byte[] report content as byte array

description

  • Returns String description of this report

entity

  • Returns Not null String root entity for this report

followingReports

A report can be set to automatically chain another report to immediately follow it and print together.

  • Returns Nullable String the keycode of another report which follows this one

isVisible

  • Returns Not null Boolean true if report is shown in the print dialog selection list (mainly used to hide subreports)

keyCode

  • Returns Not null String unique key code of this report

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of this report

pageBreakType

Reports can be a list type where every record appears right after the previous, breaking pages only when we run out of paper. Or they can have a page break after each record. For example, each invoice might start on a new page.

  • Returns Nullable PageBreakType the type of page breaking for this report

report

  • Returns Nullable String report as string

tags

  • Returns Not null List of Tag The list of tags assigned to report

ReportOverlay

A report can be printed with an overlay to add logos, headers or other graphics. More correctly this 'overlay' is an 'underlay' since it is added to the output PDF underneath the report itself.

A user can print any report with any overlay, and onCourse will default to the last overlay used by each user.

Common overlays are 'letterhead' for invoices and a certificate background with logos and signatures.

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of the overlay which appears in the user interface

overlay

Overlays are stored in the database as a PDF.

  • Returns byte[] the binary PDF data

isPortrait

  • Returns Boolean Documentation not yet available

Room

A room in a location in which training is delivered. It may be a virtual room (linked to a virtual site) or a physical location.

Every site must have at least one room.

courseClasses

Use of this method is discouraged since it can return a very large number of objects. Instead consider a query to find only the records you require.

  • Returns Not null List of CourseClass all courseclasses held or to be held in this room

createdOn

  • Returns Date the date and time this record was created

directions

Directions should be relative to the site. That is, a person arrives at the site by public transport or driving and then these directions will get them from the site to the room itself.

  • Returns String directions (rich text)

facilities

  • Returns String facilities available in this room (not usually made public)

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String The public name for this room. For example "The great hall" or "Room 143"

seatedCapacity

  • Returns Not null Integer The number of people this room holds.

sessions

Use of this method is discouraged since it can return a very large number of objects. Instead consider a query to find only the records you require.

  • Returns Not null List of Session all sessions held or to be held in this room

site

  • Returns Not null Site The site in which this room is located

tags

  • Returns Not null List of Tag The list of tags assigned to room

SaleOrder

Sale order (in development)

Script

Definition of script instance. onCourse supports scripts written in Groovy programming language. Scripts can be executed on demand or scheduled to be executed at certain time (cron schedule) or when certain event happens (record creation/removal, new enrolment etc.) onCourse has variety of pre defined scripts to satisfy common needs but also allows users to add their own scripts to solve specific problems.

createdOn

  • Returns Date the date and time this record was created

cronSchedule

  • Returns String cron schedule for this script

enabled

  • Returns Not null Boolean true if this script is enabled

entityClass

  • Returns String name of entity whose change triggers this script

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String name of this script

script

  • Returns Not null String script content

Session

Sessions represent the classroom sessions a student attends when enrolled in a class. Sessions are a timetabled event. Not all classes have sessions. Self paced classes will no related sessions attached to them.

activeAttendances

  • Returns Not null List of Attendance attendance records for all SUCCESS enrolments

attendance

  • Returns Not null List of Attendance attendance records for all students/tutors enrolled/teaching this session

course

This is just a convenience to save having to write {@code session.courseClass.course}

  • Returns Not null Course the course related to this session

courseClass

  • Returns Not null CourseClass the class related to this session

createdOn

  • Returns Date the date and time this record was created

durationInHours

  • Returns BigDecimal the duration of this session in hours

end

  • Returns LocalDateTime JSR-310 compatible end date time of the session

endDatetime

  • Returns Date the end time for this session

modifiedOn

  • Returns Date the date and time this record was modified

modules

  • Returns Not null List of Module all modules delivered as part of the training plan

payAdjustment

  • Returns Not null Integer difference between actual session duration and payable duration in minutes

payLines

  • Returns Not null List of PayLine payroll entries for this session

payableDurationInHours

The payable duration may differ from the actual session duration. If no adjustment has been made to the regular session duration, then the regular session duration is returned here.

  • Returns BigDecimal duration in hours

privateNotes

  • Returns String private notes for this session

publicNotes

  • Returns String public notes (rich text)

room

  • Returns Not null Room the room in which the session is held

start

  • Returns LocalDateTime JSR-310 compatible start date time of the session

startDatetime

  • Returns Date the start time for this session

timeZone

Every session has a natural timezone which is derived from the site in which that session is delivered. For sessions not linked to a room or site, the default timezone for the college is returned.

Note that on the onCourse website, virtual sessions (eg. online delivery) will be shown in the browser’s local timezone.

  • Returns TimeZone timezone

tutors

  • Returns Not null List of Tutor all tutors delivering this session

hasModule(module)

Returns {@code true} when session linked to specified module.

  • module Module module to search @return if session linked to specified module

  • Returns boolean if session linked to specified module

SessionModule

Object representing relation between session and module.

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

module

  • Returns Not null Module linked module

moduleEndDate

  • Returns def the date of the last sessions that this module is attached to

moduleStartDate

  • Returns def the date of the first sessions that this module is attached to

session

  • Returns Not null Session linked session

tutorNames

  • Returns def a list of all tutors delivering this session

Site

A Site is a location where training occurs or payments are received (an administrative site). A virtual site can be used for online training.

A site has latitude and longitude and directions, and contains one or more rooms in which training is delivered. Even if a site contains only a single room, it is important to create both the site and room.

country

  • Returns Nullable Country the country of this site

createdOn

  • Returns Date the date and time this record was created

drivingDirections

  • Returns String driving directions for the site (rich text)

isAdministrationCentre

An administration centre is a site which is used for the collection of money. When cash or cheques are receipted, they are linked to a particular administration centre so that banking can be performed separately for each centre.

  • Returns Not null Boolean true if this is an admin centre

isShownOnWeb

  • Returns Not null Boolean whether this site is visible on the website in the /sites list

isVirtual

Virtual sites are a special online type for delivery of online training. Typically you would have just one of these.

  • Returns Not null Boolean true for virtual sites

latitude

Use for directions on your website and allowing students to find classes "near me"

  • Returns BigDecimal latitude of this site

localTimezone

Timezones are vital for interpreting the session times for delivery at a particular site. If you deliver in multliple timezones, your website will automatically detect the student timezone and adjust delivery times for online training.

  • Returns Not null String the timezone of the site

longitude

Use for directions on your website and allowing students to find classes "near me"

  • Returns BigDecimal longitude of this site

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the public name for this site.

postcode

  • Returns String the postcode of the site

publicTransportDirections

  • Returns String public transport directions for the site (rich text)

rooms

A site must have at least one room. Even virtual sites have virtual rooms.

  • Returns Not null List of Room all the rooms located in this site

specialInstructions

  • Returns String special instructions are displayed on the website (rich text)

state

  • Returns String the state of the site (eg. NSW, VIC, QLD)

street

  • Returns String the street address of the site

suburb

  • Returns String the suburb of the site

tags

  • Returns Not null List of Tag The list of tags assigned to site

waitingLists

  • Returns Not null List of WaitingList all the waiting list records linked to this site

Student

A student is a type of contact who is able to be enrolled. Every Student object will be linked to exactly one Contact. Only student specific data is stored here: for all regular contact attributes and relationships, refer to the Contact object.

A contact can be both a student and tutor at the same time.

applications

  • Returns Not null List of Application applications made by this student

attendancePercent

  • Returns def the culmative attendance percentage for all sessions for all classes this student has been enrolled in

attendancePercent(start, end)

  • start Date Documentation not yet available

  • end Date Documentation not yet available

  • Returns Integer the culmative attendance for all sessions in a given date period

attendances

  • Returns Not null List of Attendance list of all attendance records for this student

certificates

  • Returns Not null List of Certificate list of all certificates awarded to this student

chessn

Commonwealth Higher Education Student Support Number

  • Returns String CHESSN number for this student

citizenship

  • Returns Not null StudentCitizenship the a value represneting the citzenship of this student for AVETMISS reporting

concessions

  • Returns Not null List of StudentConcession list of all concessions linked to this student

contact

  • Returns Contact contact record linked to this student

countryOfBirth

  • Returns Country country where student was born

countryOfResidency

  • Returns Country student’s country of residency

createdOn

  • Returns Date the date and time this record was created

disabilityType

englishProficiency

enrolments

  • Returns Not null List of Enrolment list of all enrolments (either successful, failed or cancelled) linked to this student

feeHelpEligible

  • Returns Not null Boolean true if the student is eligible for fee help

fullName

  • Returns Nullable String full name of the student, including the middle name if any.

highestSchoolLevel

  • Returns Not null AvetmissStudentSchoolLevel a value representing the students highest level of school completed for AVETMISS reporting

indigenousStatus

invoices

  • Returns Not null List of Invoice list of invoices linked to this student

isOverseasClient

  • Returns Not null Boolean true if this is an overseas client

isStillAtSchool

  • Returns Boolean true if this student is still at school

labourForceStatus

language

  • Returns Language the language spoken by this student

medicalInsurance

  • Returns String

modifiedOn

  • Returns Date the date and time this record was modified

passportNumber

  • Returns String passport number for this student

priorEducationCode

specialNeeds

  • Returns String special needs of this student

specialNeedsAssistance

  • Returns Boolean true if the student needs assistance

studentNumber

  • Returns Not null Long unique student number

townOfBirth

  • Returns String where this student was born

uniqueLearnerIndentifier

  • Returns String

usi

  • Returns String the USI for this student

usiStatus

A verified USI can be validated against the government verification service.

  • Returns Not null UsiStatus the verification status fof the students USI

visaExpiryDate

  • Returns Date the date this students visa expires

visaNumber

  • Returns String the visa number of this student

visaType

  • Returns String the visa type of this student

waitingLists

  • Returns Not null List of WaitingList a list of all the waiting lists for this student

yearSchoolCompleted

  • Returns Integer the year this student left/completed schooling

StudentConcession

StudentConcessions are attributes of Students describing the properties of a particular ConcessionType held by that student.

For example, a student may hold a Senior’s Card with no expiry date (they aren’t getting younger), or a Centrelink unemployment benefit which expires a year after creation.

The main purpose of these concessions is to control the application of discounts.

authorisedBy

  • Returns Contact user who created concession

concessionNumber

Concession numbers are not validated by onCourse.

  • Returns String an identifier for the concession

concessionType

createdOn

  • Returns Date the date and time this record was created

expiresOn

  • Returns Date the date after which the conncession will not longer be valid

modifiedOn

  • Returns Date the date and time this record was modified

student

  • Returns Not null Student student to whom this concession belongs

Survey

Surveys are a record of student satisfaction with a particular enrolment. We score three different attributes: course, tutor and venue.

Each score is a value from 0 to 5.

We also store a net promoter score to measure loyalty, a public testimonial and a flag for whether that testimonial should be published.

comment

Where students are given the opportunity to record a comment, it is stored here. This comment is not intended to be shared publically.

  • Returns String comments made by student on survey

courseScore

  • Returns Not null Integer a score from 0-5 for the course and materials

createdOn

  • Returns Not null Date the date and time this record was created

enrolment

  • Returns Not null Enrolment the enrolment for which the student is reporting their results

modifiedOn

  • Returns Not null Date the date and time this record was modified

netPromoterScore

A net promoter score as a mark out of 10 as the answer to the question: {@code How likely is it that you would recommend our company/product/service to a friend or colleague?}

It is designed to measure loyalty.

  • Returns Nullable Integer NPS as a value from 0-10

testimonial

The college admin staff may wish to edit student comments before displaying it publicly. The edited version will be available here.

  • Returns Nullable String public facing text which might be displayed on a website

tutorScore

  • Returns Not null Integer a score from 0-5 for the tutor(s)

venueScore

  • Returns Not null Integer a score from 0-5 for the room and site

visibility

Visibility of survey on a website or other location.

SurveyFieldConfiguration

A field configuration which is used to collect survey information

createdOn

  • Returns Not null Date the date and time this record was created

fieldHeadings

  • Returns Not null List of FieldHeading a list of all headings attached to this field configuration

fields

  • Returns Not null List of Field a sorted list of all fields attached to this field configuration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of this field configuration. Not shown to students anywhere.

SystemUser

These objects represent people who are allowed to log into onCourse.

canEditCMS

  • Returns Not null Boolean true if the user can log into the CMS

createdOn

  • Returns Date the date and time this record was created

defaultAdministrationCentre

  • Returns Not null Site default administration site for this user

email

  • Returns String the user’s email address

firstName

  • Returns Not null String the user’s first name

fullName

Convenience method to return 'firstName lastName'

  • Returns def the user’s full name

isActive

  • Returns Not null Boolean true if the user is allowed to log into onCourse or the CMS

isAdmin

  • Returns Not null Boolean true if the user is an administrator who bypasses all access control checks

lastLoginIP

  • Returns String the IP address from which the user logged in last time

lastLoginOn

  • Returns Date the last time this user logged in

lastName

  • Returns Not null String the user’s last name

login

  • Returns Not null String the login name

modifiedOn

  • Returns Date the date and time this record was modified

passwordLastChanged

  • Returns Nullable LocalDate date of last password update

passwordUpdateRequired

  • Returns Not null Boolean true if user needs to update password on next log into onCourse

preferences

  • Returns Not null List of Preference preferences belonging to this user

Tag

A tag is a piece of arbitrary information which can be attached to many other types of objects. Tags are arranged hierarchically, and each tree of tags has a root node also called a "tag group" The tag group "Subjects" is special and always exists in every onCourse database.

The complete path to a tag is unique (that is, siblings cannot have the same tag name).

allChildren

The resulting map has the tag name as the key and the tag itself as a value.

  • Returns Not null Map of String, Tag map of children tags

childTags

  • Returns Not null List of Tag all the children of this tag @see Tag#getAllChildren()

contents

  • Returns String the description of the tag (rich text)

createdOn

  • Returns Date the date and time this record was created

generation

This method returns the 'depth' of the tag For example, calculating the generation on the tag 'Japanese' with the following path would return 2. 'Japanese' has parent 'Languages', which has the parent 'Subjects'

Subjects/Languages/Japanese

  • Returns int the depth of a tag

isWebVisible

  • Returns Not null Boolean true if this tag is visible on the website

modifiedOn

  • Returns Date the date and time this record was modified

name

  • Returns Not null String the name of the tag

parentTag

  • Returns Not null Tag the parent of this tag

pathName

  • Returns Not null String full path name for this tag starting from root delimited with "-"

root

  • Returns Not null Tag the top-most tag of this tree. Also known as a tag group.

shortName

Tags can have a shorter name which is used in URLs on a website The short name must be unique amongst siblings. If the short name is null, then the long name is used for the URL.

  • Returns String the short name

siblings

This method gets all tags with the same parent as the current tag

  • Returns List of Tag siblings of this tag

tagRequirements

  • Returns Not null List of TagRequirement all the requirements for this tag group

weight

A weight is an arbitrary number for determining ordering. The actual value of the weight should be ignored and this value should only be used for sorting.

  • Returns Integer weight

isMultipleFor(entity)

Some objects can have multiple tags from the same tag group attached to them. For example, a course may be tagged with both "Finance" and "Computing" subjects.

  • entity Class extends Taggable the entity which is being tagged @return true if multiple tags from the same group are allowed

  • Returns boolean true if multiple tags from the same group are allowed

isRequiredFor(entity)

The objects from some entities must be tagged with at least one tag from a certain tag group

  • entity Class extends Taggable the entity class which is being tagged @return true if a tag is required from the tag group this tag is part of

  • Returns boolean true if a tag is required from the tag group this tag is part of

isRoot

  • Returns boolean true if this tag is the top of the tree (the tag group)

TagRelation

Object representing relation between tag and entity record tagged with it.

createdOn

  • Returns Date the date and time this record was created

entity

  • Returns TaggableClasses entity type of the related record TODO: change the model to use the enum directly so we don’t need this hack

entityAngelId

  • Returns Not null Long angel id of the related record

modifiedOn

  • Returns Date the date and time this record was modified

tag

  • Returns Not null Tag linked tag

taggableClassesIdentifier

To be overridden returning a constant from the TaggableClasses enum.

TagRequirement

Object representing requirements and limitations put on applicability of a tag to certain entity type, e.g. make tag mandatory or allow entity to have only one of certain type.

createdOn

  • Returns Date the date and time this record was created

entityClass

  • Returns Nullable Class extends Taggable class of entity this tag requirement applies to

entityIdentifier

  • Returns Not null TaggableClasses entity type identifier of entity this tag requirement applies to

isRequired

  • Returns Not null Boolean true if entity records are required to be tagged with at least one child tag of this tag

manyTermsAllowed

  • Returns Not null Boolean true if entity records are allowed to have more than one child of this tag simultaneously

modifiedOn

  • Returns Date the date and time this record was modified

tag

  • Returns Not null Tag linked tag

Tax

createdOn

  • Returns Date the date and time this record was created

description

  • Returns String

isGSTTaxType

  • Returns Not null Boolean

modifiedOn

  • Returns Date the date and time this record was modified

payableToAccount

rate

  • Returns BigDecimal the rate of this tax expressed as a decimal (so a 10% tax would return 0.1)

receivableFromAccount

taxCode

  • Returns Not null String

TrainingPackage

The Training Package class contains records from training packages (national) from the training.gov.au website. You cannot create or delete records in this table since they are automatically kept in sync with data from the official website.

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

nationalISC

  • Returns String national ISC

title

  • Returns String the title of the training package

Tutor

A tutor is a type of contact who is able to deliver training. Every Tutor object will be linked to exactly one Contact. Only tutor specific data is stored here: for all regular contact attributes and relationships, refer to the Contact object.

A contact can be both a student and tutor at the same time.

contact

  • Returns Not null Contact the contact object linked to this tutor

courseClassRoles

courseClasses

  • Returns Not null List of CourseClass all courseClasses linked via CourseClassTutor join

createdOn

  • Returns Date the date and time this record was created

dateFinished

  • Returns Date the termination date for this tutor

dateStarted

  • Returns Date the date this tutor was first hired

familyNameLegal

A tutor can have a different legal name to their regular publicised name. Use this one for official reports, like payroll.

  • Returns String legal last (family) name

givenNameLegal

A tutor can have a different legal name to their regular publicised name. Use this one for official reports, like payroll.

  • Returns String legal first name

modifiedOn

  • Returns Date the date and time this record was modified

payrollRef

  • Returns String

resume

  • Returns String this tutor’s resume

sessions

This returns a list of every single session this tutor is teaching, past or present. For tutors with a lot of history, this could be slow, so perform a query instead for the specific data you need.

  • Returns Not null List of Session all sessions linked to this tutor

wwChildrenCheckedOn

Working with children check was verified

  • Returns Nullable Date date of the check

wwChildrenExpiry

Working with children check was verified

  • Returns Nullable Date date that the verification expires and should be checked again

wwChildrenRef

Working with children check was verified

  • Returns Nullable String reference code from the WWC authority

wwChildrenStatus

Working with children check was verified

TutorAttendance

This entity represents the relationship between a tutor and the sessions that comprise a CourseClass. They can be used to track whether tutor was present at a session (and for how long) and also whether they should be paid for delivery.

approvedByUser

  • Returns Not null SystemUser user who approved this attendance

attendanceType

courseClassTutor

createdOn

  • Returns Date the date and time this record was created

durationMinutes

  • Returns Integer duration of the attendance

markedByUser

  • Returns Not null SystemUser user who marked this attendance

modifiedOn

  • Returns Date the date and time this record was modified

note

  • Returns String private notes about attendance, to be seen only by the college staff

session

  • Returns Not null Session session linked to this attendance

UnavailableRule

Rule determining period of time when room or tutor is unavailable.

allDay

  • Returns Not null Boolean if unavailability spans for the whole day

createdOn

  • Returns Date the date and time this record was created

endDateTime

  • Returns Not null Date end date and time of unavailability

explanation

  • Returns String explanation fot the unavailability

modifiedOn

  • Returns Date the date and time this record was modified

recurrenceInterval

  • Returns Integer unavailability repeat interval if custom repeat type is chosen

repetitionCount

  • Returns Integer number of times this rule will repeat

startDateTime

  • Returns Not null Date date and time when unavailability starts

untilDateTime

  • Returns Date date and time until unavailability is will be repeated

Voucher

A Voucher is an instance of a Voucher Product which is purchased by a particular contact

code

  • Returns String voucher code user is required to enter to use it

redeemableBy

  • Returns Not null Contact contact who can redeem this voucher, null if voucher can be redeemed by anyone

redeemedCourseCount

  • Returns Integer for enrolment count vouchers - number of enrolments which have been purchased with this voucher, null for money vouchers

redemptionValue

  • Returns Money remaining money value of this voucher

source

  • Returns PaymentSource whether this voucher was purchased online or in the office

valueOnPurchase

  • Returns Money starting money value of this voucher when it was purchased

voucherPaymentsIn

A voucher can be redeemed mutiple times as long as the total does not exceed the total value of the voucher

  • Returns Not null List of VoucherPaymentIn all VoucherPaymentInLines joined to this voucher

voucherProduct

VoucherPaymentIn

Object representing relation between voucher and payment record made using it.

createdOn

  • Returns Date the date and time this record was created

enrolmentsCount

  • Returns Integer number of enrolments purchased for enrolment count vouchers, null for money vouchers

invoiceLine

  • Returns InvoiceLine invoice line paid for with the voucher

modifiedOn

  • Returns Date the date and time this record was modified

paymentIn

  • Returns Not null PaymentIn linked payment record

status

voucher

  • Returns Not null Voucher linked voucher record

VoucherProduct

The Voucher Product represents an item available for sale (through the office or on the website). When sold, a Voucher is created for the contact. So think of VoucherProduce as the template for what that voucher will look like once sold.

A voucher may be for a dollar amount or for a certain number of enrolments in particular courses.

Vouchers should be thought of as a storage of value. When sold, they do not create a tax invoice since they aren’t a taxable sale. They are only a way for a customer to store value with the college, similar to the student storing value in a bank account. For this reason, income is not posted to the GL on sale. Instead a liability is created which is extinguished only when the student redeems the voucher or the voucher expires.

liabilityAccount

VoucherProducts are a liability when created. This method can return the account of the general ledger these liabilities are created in

  • Returns Not null Account the account joined to this voucher product

maxCoursesRedemption

If this value is not null, the voucher can be redeemed for one or more enrolments. If this value is not null, then getValue() will be null.

  • Returns Integer the maximum number of enrolments which can be redeemed with this voucher

value

If this value is not null, the voucher can be redeemed for a specific dollar value. If this value is not null, then getMaxCoursesRedemption() will be null.

If getMaxCoursesRedemption() is null and getValue() is also null, then the value of the Voucher on creation will be equal to the sale price. For example, if the voucher is sold for $100 then it will also be worth $100 in redemption value. This allows you to create VoucherProduct records which can be sold for any arbitrary value.

  • Returns Money a dollar value for this voucher

WaitingList

A waiting list represents a student’s interest in a course.

Typically students add themselves to a waiting list when they don’t want any of the class dates or locations currently on offer. Or just want to be reminded in the future for new availability.

course

  • Returns Not null Course the course the student is waiting for

createdOn

  • Returns Date the date and time this record was created

modifiedOn

  • Returns Date the date and time this record was modified

notes

  • Returns String internal notes created by the staff

sites

  • Returns Not null List of Site a list of preferred sites (can be empty)

student

  • Returns Not null Student the student who is waiting

studentCount

  • Returns Not null Integer the number of enrolments (including the primary student)

studentNotes

  • Returns String notes the student entered when creating the waiting list

WaitingListFieldConfiguration

A field configuration which is used to collect waiting list information

createdOn

  • Returns Not null Date the date and time this record was created

fieldHeadings

  • Returns Not null List of FieldHeading a list of all headings attached to this field configuration

fields

  • Returns Not null List of Field a sorted list of all fields attached to this field configuration

modifiedOn

  • Returns Not null Date the date and time this record was modified

name

  • Returns Not null String the name of this field configuration. Not shown to students anywhere.

III: Enumerations

These are Java classes which represent a list of options, where that list is hardcoded into the application and cannot be extended by the user. In normal use you would not care about the database value and instead use the enumeration by name. For example:

if (myAccount.type == AccountType.ASSET) {
   # do something
}

AccountTransactionType

General ledger Account Transactions have a 'type' depending on which entity created them.

INVOICE_LINE

Database value: I Transaction attached to Invoice line (e.g. payments performed during Quick Enrol or web enrol)

PAYMENT_IN_LINE

Database value: P Transactions created by performing Payment In (e.g. payments for unpaid invoices)

PAYMENT_OUT_LINE

Database value: O Transactions created by performing Payment Out (e.g. payments for credit notes)

PURCHASE_LINE

Database value: U

DEPRECIATION

Database value: D

JOURNAL

Database value: J Transaction added using 'Create GL journal entry' from Financial menu

AccountType

General ledger accounts have a type that defines their behaviour. This has two main effects:

  • filtering the accounts so they are only available in appropriate places (eg. income for student fee)

  • ensuring negative and positive signs are applied properly to balanced transaction pairs

ASSET

Database value: 1

LIABILITY

Database value: 2

EQUITY

Database value: 3

INCOME

Database value: 4

COS

Database value: 5

COS is a type of expense.

EXPENSE

Database value: 6

ApplicationStatus

A basic workflow for applications. Each application moves through the statuses, resulting in scripts firing off emails and different behaviour in the skillsOnCourse portal.

Tags can be used for more detailed workflow and tracking of progress.

NEW

Database value: 0

Student applied for the class. Application is up for reviewing by college.

OFFERED

Database value: 1

College reviewed NEW student application and allowed an enrolment to class.

ACCEPTED

Database value: 2

Set automatically once student with OFFERED application enrol to the class.

REJECTED

Database value: 3

College reviewed NEW student application and rejected it.

WITHDRAWN

Database value: 4

OFFERED application was rejected by student.

IN_PROGRESS

Database value: 5

Status of un-actioned applications and new applications which are being assessed, but a judgement to offer or reject has not yet been made.

AttachmentInfoVisibility

Document visibility. Although the class is named AttachmentInfoVisibility it applies to the document itself.

PRIVATE

This document is only visible in the onCourse application. The document is viewable only using a time-limited and securely signed URL. This makes it harder for users to share the URL with other people.

TUTORS

These documents cannot be seen by the general public, but are available to tutors within the skillsOnCourse portal. You would commonly only use this visibility type for documents attached to courses and classes, or to tutors.

URLs to these documents are time-limited and securely signed. This makes it harder for users to share the URL with other people.

STUDENTS

These attachments cannot be seen by the general public, but are available to tutors and students enrolled in the course, typically within the skillsOnCourse portal. You would commonly only use this visibility type for attachments to courses and classes.

URLs to these documents are time-limited and securely signed. This makes it harder for users to share the URL with other people.

This document can be shared with a URL that is not time limited. A user with this link could share it with anyone.

PUBLIC

This document can be shared with a URL that is not time limited. A user with this link could share it with anyone. This document may also appear on the public facing website without any restrictions, depending on what it is attached to. For example, if attached to a Course it might appear on the course page.

AttachmentSpecialType

A special type of attachment. This will result in special behaviour inside onCourse.

PROFILE_PICTURE

The profile picture for a contact is seen in Quick Enrol, the contact edit view and within the skillsOnCourse portal. There can be only one of these attachments per Contact.

Database value: 0

AttendanceType

Attendance of a student or tutor at a session can be given a status.

UNMARKED

This attendance record has not yet been marked.

Database value: 0

ATTENDED

The student or tutor attended the session in full.

Database value: 1

DID_NOT_ATTEND_WITH_REASON

The student or tutor was absent and gave a suitable reason.

Database value: 2

DID_NOT_ATTEND_WITHOUT_REASON

The student or tutor was absent without good cause.

Database value: 3

PARTIAL

The student or tutor attended, but for less than the full duration. The attendance duration can be stored in another attribute in the Attendance record.

Database value: 4

AuditAction

Actions logged in Audits

CREATE

UPDATE

DELETE

SCRIPT_FAILED

SCRIPT_EXECUTED

COLLISION

AvetmissStudentDisabilityType

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0

NONE

Database value: 100

HEARING

Database value: 1

PHYSICAL

Database value: 2

INTELLECTUAL

Database value: 3

LEARNING

Database value: 4

MENTAL

Database value: 5

BRAIN_IMPAIRMENT

Database value: 6

VISION

Database value: 7

MEDICAL_CONDITION

Database value: 8

OTHER

Database value: 9

AvetmissStudentEnglishProficiency

A set of values for AVETMISS reporting from the version 7 standard describing how well student speaks English. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0

VERY_WELL

Database value: 1

WELL

Database value: 2

NOT_WELL

Database value: 3

NOT_AT_ALL

Database value: 4

AvetmissStudentIndigenousStatus

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0 Not stated

ABORIGINAL

Database value: 1 Aboriginal

TORRES

Database value: 2 Torres Strait Islander

ABORIGINAL_AND_TORRES

Database value: 3 Aboriginal and Torres Strait Islander

NEITHER

Database value: 4 Neither

AvetmissStudentLabourStatus

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0 Not stated

FULL_TIME

Database value: 1 Full-time employee

PART_TIME

Database value: 2 Part-time employee

SELF_EMPLOYED

Database value: 3 Self-employed, not employing others

EMPLOYER

Database value: 4 Employer

UNPAID_FAMILY_WORKER

Database value: 5 Employed - unpaid in family business

UNEMPLOYED_SEEKING_FULL_TIME

Database value: 6 Unemployed - seeking full-time work

UNEMPLOYED_SEEKING_PART_TIME

Database value: 7 Unemployed - seeking part-time work

UNEMPLOYED_NOT_SEEKING

Database value: 8 Not employed - not seeking employment

AvetmissStudentPriorEducation

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0 Not stated

BACHELOR

Database value: 1 Bachelor degree or higher degree level

ADVANCED_DIPLOMA

Database value: 2 Advanced diploma or associate degree level

DIPLOMA

Database value: 3 Diploma level

CERTIFICATE_IV

Database value: 4 Certificate IV

CERTIFICATE_III

Database value: 5 Certificate III

CERTIFICATE_II

Database value: 6 Certificate II

CERTIFICATE_I

Database value: 7 Certificate I

MISC

Database value: 8 Miscellaneous education

NONE

Database value: 100 None

AvetmissStudentSchoolLevel

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

DEFAULT_POPUP_OPTION

Database value: 0 Not stated

DID_NOT_GO_TO_SCHOOL

Database value: 1

COMPLETED_YEAR_8_OR_BELOW

Database value: 2

COMPLETED_YEAR_9

Database value: 3

COMPLETED_YEAR_10

Database value: 4

COMPLETED_YEAR_11

Database value: 5

COMPLETED_YEAR_12

Database value: 6

BankingType

onCourse tracks the banking of payments in order to provide a proper audit trail of the cash flow into and out of the business. Different types of payments are grouped together for the purpose of banking and reconciliation against bank statements.

MANUAL

GATEWAY

AUTO_MCVISA

AUTO_AMEX

AUTO_OTHER

ClassCostFlowType

Each class cost has a type which determines its behaviour in the budget.

EXPENSE

Database value: 0

A regular expense in the budget, other than wages.

INCOME

Database value: 1

Additional funding other than class fees.

WAGES

Database value: 2

Money paid to tutors which will appear on the payroll export.

DISCOUNT

Database value: 3

Discounts expected to be offered.

ClassCostRepetitionType

Some class costs can be repeated multiple times for the one class. If these repetitions are attached to a payroll amount, then these repeating payroll entries will be created.

FIXED

Database value: 1

A fixed amount. For payroll, the amount will be paid once the first session has been delivered.

PER_SESSION

Database value: 2

This cost is a fixed amount per session. This is common for room hire where the amount doesn’t depend on the duration of the session.

PER_ENROLMENT

Database value: 3

A cost per enrolment (like class materials).

PER_UNIT

Database value: 4

This is just like the fixed amount but with a multiplier against an arbitrary number of units.

DISCOUNT

Database value: 5

Discounts are a special type. You can’t directly create these sorts of costs, but they are automatically created for you when you attach a discount to a class.

PER_TIMETABLED_HOUR

Database value: 6

Total session duration. For wages, this amount is the payable session hours, not the actual hours.

PER_STUDENT_CONTACT_HOUR

Database value: 7

Timetabled hours multiplied by the number of enrolments

ClassFundingSource

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

COMMONWEALTH_AND_STATE_GENERAL

Database value: 0

Commonwealth and state - general recurrent

COMMONWEALTH_SPECIFIC

Database value: 1

Commonwealth - specific

STATE_SPECIFIC

Database value: 2

State - specific

DOMESTIC_FULL_FEE

Database value: 3

Domestic full fee paying student

INTERNATIONAL_FULL_FEE

Database value: 4

International full fee paying student. Revenue provided by or for an international client to undertake education and training and who temporarily resides in Australia and holds a student visa or a temporary residency permit, or who resides in an overseas country and whose funding source does not come from any of the other funding categories

INTERNATIONAL_ONSHORE

Database value: 6

International onshore client. Revenue provided by or for an international client to undertake education and training and who temporarily resides in Australia and holds a student visa or a temporary residency permit and whose funding source does not come from any of the other funding categories

INTERNATIONAL_OFFSHORE

Database value: 7

International offshore client. Revenue provided by or for an international client to undertake education and training and who resides in an overseas country and whose funding source does not come from any of the other funding categories

REVENUE_FROM_OTHER_TO

Database value: 5

Revenue from other RTO

ClientIndustryEmploymentType

A set of values for AVETMISS reporting for Victoria only. Consult the AVETMISS documentation for more detail about these options. See http://www.education.vic.gov.au/training/employers/industry/Pages/marketinfo.aspx for reference.

NOT_SET

Database value: 0

AGRICULTURE

Database value: 1

MINING

Database value: 2

MANUFACTURING

Database value: 3

ELECTRICITY

Database value: 4

CONSTRUCTION

Database value: 5

WHOLESALE

Database value: 6

RETAIL

Database value: 7

ACCOMODATION

Database value: 8

TRANSPORT

Database value: 9

MEDIA

Database value: 10

FINANCIAL

Database value: 11

RENTAL

Database value: 12

PROFESSIONAL

Database value: 13

ADMIN

Database value: 14

EDUCATION

Database value: 15

HEALTH

Database value: 16

ARTS

Database value: 17

OTHER

Database value: 18

ClientOccupationIdentifierType

A set of values for AVETMISS reporting for Victoria only. Consult the AVETMISS documentation for more detail about these options.

NOT_SET

Database value: 0

MANAGER

Database value: 1

PROFESSIONALS

Database value: 2

TECHNICIANS

Database value: 3

COMMUNITY

Database value: 4

CLERICAL

Database value: 5

SALES

Database value: 6

MACHINERY

Database value: 7

LABOURERS

Database value: 8

ConfirmationStatus

Records such as enrolment, invoice and application can be created from a website or onCourse interaction. Sometimes (such as in the QE window) a user can prevent email notifications to the student.

NOT_SENT

Database value: 1

An email for this record is not yet sent.

SENT

Database value: 2

An email for this record has been sent.

DO_NOT_SEND

Database value: 2

A user has chosen to prevent an email being sent for this record.

ContactDuplicateStatus

A set of values

POSSIBLE_MATCH

REJECTED_MATCH

IN_TRANSACTION

PROCESSED

ContactType

PLAIN_CONTACT

STUDENT

TUTOR

TUTOR_STUDENT

COMPANY

CourseClassAttendanceType

A set of values for AVETMISS reporting for Victoria only. Consult the AVETMISS documentation for more detail about these options.

OUA_AND_NOT_HIGHER_DEGREE_REASEARCH_STUDENT_USE

Database value: 0

For OUA and non-higher degree research student use only

FULL_TIME_ATTENDANCE

Database value: 1

Full-time attendance for: higher degree research student, higher education course completions for all full time students and VET student

PART_TIME_ATTENDANCE

Database value: 2

Part-time attendance for: higher degree research student, higher education course completions for all part time students and VET student

NO_INFORMATION

Database value: 9

No information

CourseEnrolmentType

Courses can either be applied for, or its classes can be directly enrolled in.

OPEN_FOR_ENROLMENT

Database value: 1

Allow students to enrol directly in classes for this course.

ENROLMENT_BY_APPLICATION

Database value: 2

Allow students to only apply for the class. Enrolment will be opened once the application is reviewed and accepted by college.

CreditCardType

Credit cards accepted by onCourse.

VISA

Database value: V

MASTERCARD

Database value: M

BANKCARD

AMEX

Database value: A

CreditLevel

Level of education of prior VET study for which credit/RPL was offered http://heimshelp.education.gov.au/sites/heimshelp/2015_data_requirements/2015dataelements/pages/563

NO_CREDIT_RPL_WAS_OFFERED_FOR_VET

Database value: 0

VOCATIONAL_GRADUATE_CERTIFICATE

Database value: 1

VOCATIONAL_GRADUATE_DIPLOMA

Database value: 2

ADVANCED_DIPLOMA

Database value: 411

STATEMENT_OF_ATTEINMENT_AT_ADVANCED_DIPLOMA_LEVEL

Database value: 412

BRIDGING_AND_ENABLING_COURSE_AT_ADVANCED_DIPLOMA

Database value: 415

DIPLOMA

Database value: 421

STATEMENT_OF_ATTEINMENT_AT_DIPLOMA_LEVEL

Database value: 422

BRIDGING_AND_ENABLING_COURSE_AT_DIPLOMA

Database value: 423

CERTIFICATE_4_LEVEL

Database value: 511

STATEMENT_OF_ATTEINMENT_AT_CERTIFICATE_4_LEVEL

Database value: 512

BRIDGING_AND_ENABLING_COURSE_AT_CERTIFICATE_4_LEVEL

Database value: 513

CERTIFICATE_3_LEVEL

Database value: 514

STATEMENT_OF_ATTEINMENT_AT_CERTIFICATE_3_LEVEL

Database value: 515

BRIDGING_AND_ENABLING_COURSE_AT_CERTIFICATE_3_LEVEL

Database value: 516

CERTIFICATE_2_LEVEL

Database value: 521

STATEMENT_OF_ATTEINMENT_AT_CERTIFICATE_2_LEVEL

Database value: 522

BRIDGING_AND_ENABLING_COURSE_AT_CERTIFICATE_2_LEVEL

Database value: 523

CERTIFICATE_1_LEVEL

Database value: 524

STATEMENT_OF_ATTEINMENT_AT_CERTIFICATE_1_LEVEL

Database value: 525

OTHER

Database value: 999

CreditProviderType

NO_CREDIT_RPL_WAS_OFFERED_FOR_VET

Database value: 0

UNIVERSITY

Database value: 10

OTHER_HIGHER_EDUCATION_PROVIDER

Database value: 19

TAFE

Database value: 20

SECONDARY_SCHOOLS_OR_COLLEGES

Database value: 21

OTHER_REGISTERED_TRAINING_ORGANIZATIONS

Database value: 29

NOT_ELSEWHERE_CATEGORIZED

Database value: 90

CreditType

NO_CREDIT_RPL_WAS_OFFERED

Database value: 0

CREDIT_RPL_FOR_PRIOR_HIGHER_EDUCATION_STUDY_ONLY

Database value: 100

CREDIT_RPL_FOR_PRIOR_VET_STUDY_ONLY

Database value: 200

CREDIT_RPL_FOR_COMBINATION_OF_PRIOR_HIGHER_EDUCATION_AND_VET_STUDY

Database value: 300

CREDIT_RPL_FOR_STUDY_OUTSIDE_AUSTRALIA

Database value: 400

CREDIT_RPL_FOR_WORK_EXPERIENCE

Database value: 500

OTHER

Database value: 600

DataType

Data types for AutomationBinding records represent the type of data they can hold.

TEXT

Text value, also known as a String

Database value: 0

LONG_TEXT

Renders as a multiline field with three lines by default. No validation. Allows new lines.

Database value: 9

DATE

Date (without time or timezone)

Database value: 1

DATE_TIME

Date and time, includes a timezone (by default the same as the server timezone)

Database value: 2

BOOLEAN

Boolean (true or false)

Database value: 3

ENTITY

Entity (the objectclass of a record in the database)

Database value: 4

FILE

File (extra file for evaluate scripts)

Database value: 5

MONEY

Money value

Database value: 6

LIST

Choices list

Database value: 7

MAP

Map of label - code

Database value: 8

URL

String which is validated to be a URL.

Database value: 10

EMAIL

String which is validated to be a email address.

Database value: 11

MESSAGE_TEMPLATE

Message template drop down list.

Database value: 12

DeliveryMode

A set of values for AVETMISS reporting from the standard. Consult the AVETMISS documentation for more detail about these options.

Delivery mode can be set for the whole class, or individually per Outcome

NOT_SET

Database value: 0

Not Set

CLASSROOM

Database value: 1

Classroom-based

ONLINE

Database value: 2

Electronic-based

WORKPLACE

Database value: 3

Employment-based

OTHER

Database value: 4

Other delivery

NA

Database value: 9

Not applicable - recognition of prior learning/credit transfer

WA_LOCAL_CLASS

Database value: 11

WA: Local Class

WA_REMOTE_CLASS

Database value: 12

WA: Remote Class - Live Conferencing

WA_SELF_PACED_SCHEDULED

Database value: 13

WA: Self Paced - Scheduled

WA_SELF_PACED_UNSCHEDULED

Database value: 14

WA: Self Paced - Unscheduled

WA_EXTERNAL

Database value: 15

WA: External - Correspondence

WA_WORKPLACE

Database value: 16

WA: Workplace

WA_VIDEO_LEARNING

Database value: 18

WA: Video/Television Learning

WA_INTERNET_SITE

Database value: 19

WA: Internet Site - Online Learning

CLASSROOM_AND_ONLINE

Database value: 20

Classroom-based

CLASSROOM_AND_WORKSPACE

Database value: 21

Classroom-based

ONLINE_AND_WORKSPACE

Database value: 22

Classroom-based

CLASSROOM_ONLINE_AND_WORKSPACE

Database value: 23

Classroom-based

DeliverySchedule

ON_ENROL

Database value: 1

ON_START

Database value: 2

MIDWAY

Database value: 3

AT_COMPLETION

Database value: 4

ON_DEMAND

Database value: 5

DiscountType

Every discount can be one of three different types.

PERCENT

Discount amount will be calculated based on the percent of the original price. The value will be rounded according to the discount round property. Discount min and max value can be also applied when the discount has defined them.

Database value: 1

DOLLAR

Discount amount will be a set dollar value off the full price. This value applies to the original price before tax. Tax value will be calculated after the discounted price is calculated.

Database value: 2

FEE_OVERRIDE

Discounts of this type override the original price (before tax) of the class. Tax, if applicable, will be added to the defined dollar value.

Database value: 3

EnrolmentStatus

Enrolments pass through various states as the enrolment process is completed. These statuses are particularly important for communication with the onCourse website and the progression of the enrolment through checks for number of places remaining and having the payment processed.

Do not change the state of enrolments directly since enrolment state has important ramifications throughout onCourse. Changing state without also adjusting invoice lines, outcomes and other objects may create broken data relationships.

CORRUPTED

Indicates an state of conflict with data integrity rules (e.g., between the website and onCourse). i.e., something that should never happen and needs resolution.

Database value: -99

NEW

Enrolments in NEW state will almost never be seen. Many of the older workflows have now been changed so enrolments in NEW state aren’t even saved to the database until they progress to IN_TRANSACTION. You should not set enrolments to this state.

Database value: 0

QUEUED

Indicates a payment or enrolment that was unable to retrieve a result from willow on first attempt (i.e., on post-persist from quick enrol) and is as such queued for later processing by a server-side thread.

Database value: 1

IN_TRANSACTION

Indicates current processing of a payment. E.g., the user has agreed to pay and all details are valid. However, all payments with STATUS_QUEUED will move again to a state of STATUS_IN_TRANSACTION prior to attempting subsequent processing. Enrolments in this state will be automatically picked up by server-sides processing threads and moved to a final state.

Database value: 2

SUCCESS

Indicates successful and confirmed completion of a payment or enrolment.

Database value: 3

FAILED

Indicates a failed response due to an error.

Database value: 4

FAILED_CARD_DECLINED

Indicates a failed response given by the credit card gateway.

Database value: 6

FAILED_NO_PLACES

Indicates that the enrolment and payment could not be accepted because there were no enrolment places left.

Database value: 7

CANCELLED

Indicates that an enrolment that was previously successful has been cancelled.

Database value: 8

REFUNDED

Indicates an equivalent status to that of cancelled but that a credit note was also created for the student in the system.

Database value: 9

EnrolmentVETFeeHelpStatus

VET FEE HELP is an Australian government loan programme for funding education. Each enrolment in an eligible FEE HELP class can have one of these states. These states only make sense if the CourseClass has FEE HELP enabled.

NOT_ELIGIBLE

Database value: 0

HELP_NOT_REQUESTED

Database value: 1

HELP_REQUESTED

Database value: 2

EntityRelationIdentifier

Courses and products can be related to other courses and products. This type points to what sort of record to expect at the other end of the polymorphic join.

COURSE

Database value: 1

Related record is Course

PRODUCT

Database value: 2

Related record is Product

ExpiryType

Memberships can expire after a certain period of time. Once expired, new sales will not be allowed to take advantage of the membership.

DAYS

Database value: 1

This membership expires after a certain numbers of days.

FIRST_JANUARY

Database value: 2

This membership lasts until the beginning of the new year.

FIRST_JULY

Database value: 3

This membership lasts until the 1 July.

LIFETIME

Database value: 4

This membership never expires.

ExportJurisdiction

The AVETMISS export can run in one of several modes, depending on the state it is exported to. It isn’t so much a standard as a collection of mutually incompatible standards.

PLAIN

NSW

OLIV

SMART

QLD

SA

TAS

VIC

WA

AQTF

RAPT

NTVETPP

AVETARS

FieldConfigurationType

Type of Field Configuration is condition under which it will be used.

ENROLMENT

Database value: 1 Field Configuration will be used during web enrol process

APPLICATION

Database value: 2 Field Configuration will be used during web application process

WAITING_LIST

Database value: 3 Field Configuration will be used when joining waiting lists on web

SURVEY

Database value: 4 Field Configuration will be used for surveys

PAYER

Database value: 5 Field Configuration will be used for payers

PARENT

Database value: 6 Field Configuration will be used for parents or guardians

FundingStatus

EXPORTED

SUCCESS

FAILED

Gender

FEMALE

Database value: 0

MALE

Database value: 1

OTHER_GENDER

Database value: 2

InvoiceType

INVOICE

Database value: 1

SALE_ORDER

Database value: 2

KeyCode

Keycode values are used for access rights. Each value specified is attached to an entity or a specific part of user interface. Each KeyCode can have some or all of the following rights: View, Print, Create, Edit, Delete.

Some Keycodes have rights which cannot be disabled and other rights which can never be enabled.

NTIS_DATA

Database value: 1

Qualification, module and unit of competency reference data. Always enabled: view & print Always disabled: create & delete

CERTIFICATE

Database value: 2

Relates to VET Statements of Attainment and Qualifications only. All contacts with class print permissions can create non-vocational certificates of attendance.

WAITING_LIST

Database value: 3

Permission to work with all wait list records

ENROLMENT

Database value: 4

Requires student edit and create. Enables quick enrol. Always disabled: delete

ENROLMENT_DISCOUNT

Database value: 5

Allow discount to be entered manually in Quick Enrol. Also allows negative charges' in QE.

SITE

Database value: 6

Ability to add and modify sites. Always enabled: view

ROOM

Database value: 7

Ability add room to sites. Always enabled: view

COURSE

Database value: 8

Permission to work with any course type, including traineeships, Vocational and non-vocational courses. Always enabled: view

VET_COURSE

Database value: 9

Restrict only VET tab on the course edit view. Always enabled: view

CLASS

Database value: 10

Permission to work with any class type. Always enabled: view

OUTCOMES

Database value: 11

Restrict outcomes tab in class, enrolments tab in student, outcomes tab in enrolment, certificate window Always enabled: view

BUDGET

Database value: 12

Restrict access only to the budget tab within the class edit view

SESSION

Database value: 13

Permission relates to sessions as they belong to classes. Always enabled: view Always disabled: print

DISCOUNT

Database value: 14

This permission relates to the creation of discount strategies

PROMO_CODE

CONTACT

Database value: 16

Rights to create, edit and delete Contacts (Students, Tutors, Companies). Required for working with enrolments. Always enabled: view

ACL_ROLE

Database value: 19

Only the admin user is able to get to the access rights management views.

SYSTEMUSER

Database value: 20

System Users are the users who log into onCourse or onCourse CMS. Always disabled: delete

PURCHASE

INVOICE

Database value: 22

This is the right to create a bare invoice (not part of Quick Enrol). Always disabled: delete

INVOICE_CREDIT

Database value: 23

Right to create a credit note (not part of cancelling class)

PAYMENT_IN

Database value: 24

Permission relates only to manual payment in records, not those created during Quick Enrol.

PAYMENT_OUT

Database value: 25

This permission is about creating refunds, usually processed in real time back to payer’s credit cards. Always disabled: delete

BANKING

Database value: 26

Run the banking process, including marking payments as banked. Special single option.

RECONCILIATION

Database value: 27

Run the reconciliation process. Special single option.

ACCOUNT

Database value: 28

Account settings for onCourse chart of accounts

TRANSACTION

Database value: 29

General ledger transaction records created during all financial transactions. Always disabled: delete & edit

REPORT

Database value: 30

The right to edit reports. Note that a user with this right could create a report which contains any other data from the whole database. Always enabled: view & print

ATTACHMENT_INFO

Database value: 31

Always enabled: view & print

TAG

Database value: 32

Permission relating to all tag groups, including those that drive the website navigation. This permission is not required to add tags to records, only to edit tag groups. Always enabled: view

WEBPAGE

MAILING_LIST

Database value: 34

Permission to work with and add contacts to mailing list records. Always enabled: view

CONCESSION_TYPE

Database value: 35

Permission to modify available concessions. This permission is not needed to add concession types to contact records.

PRODUCT

Database value: 36

This permission relates to the creation and editing of Products. Always enabled: view

PAY_PERIOD

Database value: 37

PAYSLIP

Database value: 38

This permission relates to the creation and editing of payslips

TUTOR_ROLE

Database value: 39

Determine pay rates for teaching staff. Always enabled: view

APPLICATION

Database value: 40

Application function allows adding an approval process for the student requesting a place in a class

MEMBERSHIP

Database value: 41

This permission relates to the creation and editing of Memberships. Always enabled: view

VOUCHER

Database value: 42

This permission relates to the creation and editing of Vouchers. Always enabled: view

SALE

Database value: 43

Product sales. Always enabled: view

FINANCIAL_PREFERENCES

Database value: 60

he onCourse preferences that set the default accounts for various transaction types

GENERAL_PREFERENCES

Database value: 61

Relates to onCourse application preferences that affect all users

SPECIAL_DUPLICATE

Database value: 70

Class duplication and rollover. Special single option.

SPECIAL_CLASS_CANCEL

Database value: 71

Permission to cancel classes. Special single option.

SPECIAL_EXPORT_XML

Database value: 72

Permission to perform export. Special single option.

SPECIAL_CERTIFICATE

Database value: 73

Create certificate from class. Special single option.

SPECIAL_SMS_50

Database value: 74

Send SMS to up to 50 contacts. Special single option.

SPECIAL_EMAIL_50

Database value: 75

Send email to up to 50 contacts. Special single option.

SPECIAL_SMS_MASS

Database value: 76

Send SMS to over 50 contacts. Special single option.

SPECIAL_EMAIL_MASS

Database value: 77

Send email to over 50 contacts. Special single option.

SPECIAL_DE_DUPE

Database value: 78

Merge two contacts. Special single option.

SPECIAL_CANCEL_TRANSFER_ENROLMENTS

Database value: 79

Cancel and transfer enrolments Special single option.

SPECIAL_AVETMISS_EXPORT

Database value: 80

Export training data for government reporting. Special single option.

SPECIAL_IMPORT

Database value: 81

Import date. Note that this gives the user the ability to create records they may not otherwise be able to create with their existing rights. Special single option.

SPECIAL_DET_EXPORT

SPECIAL_CHANGE_ADMINISTRATION_CENTRE

Database value: 83

Permission to specify custom administration centre. Special single option.

SPECIAL_OVERRIDE_TUTOR_PAYRATE

Database value: 84

Ability to override tutor payrates in class budget. Special single option.

EXPORT_TEMPLATE

Database value: 85

Permission to modify Export Templates. Always enabled: view

UNAVAILABLE_RULE

Database value: 86

Setting up days (e.g. holidays) that will be marked unavailable in class timetable

EMAIL_TEMPLATE

Database value: 87

Permission to modify Email Templates. Always enabled: view

CORPORATE_PASS

Database value: 88

Permissions relating to the creation or editing of CorporatePass.

SPECIAL_MYOB_EXPORT

Database value: 89

Permission that allows a user to export/print MYOB Export from the Financial menu. Special single option.

SPECIAL_TRIAL_BALANCE

Database value: 90

Permission that allows a user to export/print Trial Balance from the Financial menu. Special single option.

PRINT_CERTIFICATE_WITHOUT_VERIFIED_USI

Database value: 91

Ability to print certificates without a USI verified for that student

PRINT_CERTIFICATE_WITHOUT_USI

Database value: 92

Ability to print certificates without a USI entered for that student

SCRIPT_TEMPLATE

Database value: 93

Permission to modify scripts. Always enabled: view

CONTACT_RELATION_TYPE

Database value: 94

Ability to create and edit relation types that can be used to link contacts (e.g. Parent - Child) Always enabled: view

PAYMENT_PLAN

Database value: 95

Ability to create payment plan lines for invoice Always disabled

SPECIAL_EDIT_NOTES

Database value: 96

Ability to edit notes Special single option.

SPECIAL_TWO_FACTOR_AUTHENTICATION

Database value: 97

Add additional two factor authentication mechanism to login. If this is enabled then a user who logs in without two factor authentication enabled is immediately shown the "Enable two factor authentication" dialog. Special single option.

PAYMENT_METHOD

Database value: 98

Ability to create payment methods for payments.

QUALITY_RULE

Database value: 100

Ability to edit quality rules

SUMMARY_EXTRACTS

Database value: 101

Allow to access "Summary extracts" item in financial menu Special single option.

AUDIT_LOGGING

Database value: 102

Allow to access "Audit logging" Special single option.

FUNDING_CONTRACT

Database value: 103

Allow to access "Funding contract"

FUNDING_UPLOAD

Database value: 104

Allow to access "Funding upload"

PRIVATE_DOCUMENTS

Database value: 105

Allow to access private documents

SURVEYS

Database value: 106

Allow to access "Student feedback"

OVERRIDE_TUTOR_SESSION_PAYABLE_TIME

Database value: 107

Allow to edit the payable time at the per tutor per session level in the class attendance tab Special single option.

BULK_CONFIRM_TUTOR_WAGES

Database value: 108

Allow to click the 'confirm now' button in the Generate tutor payroll sheet that confirms all the unconfirmed paylines Special single option.

GENERAL_PREFERENCES_HTML

Database value: 109

Relates to onCourse application preferences that affect all users and open in java embedded web browser

ASSESSMENT

Database value: 110

Permission to work with any assessment.

KeyCollision

Mechanism of automatic skipping sending emails for contacts have already received email with the same key.

If key is not set sending email is going as usual. If key is set creator key property is added to Message. Also Message is created for emails which are sent by SMTP. This Message has no MessagePerson records but contains a creator key.

accept

drop

error

MessageStatus

Each MessagePerson object (the delivery record) starts as queued and then is processed by a special process which wakes up every few seconds.

QUEUED

Database value: 1

Message hasn’t been sent by onCourse server yet.

SENT

Database value: 2

Message was sent to contact successfully.

FAILED

Database value: 3

Message sending failed and won’t be attempted again.

MessageType

Messages can either be an email, SMS or postal mail. If postal email, only the message subject has relevant as a note to show what was sent.

EMAIL

Database value: 1

Messages sent to contact email.

SMS

Database value: 2

Messages sent ti contact address.

POST

Database value: 3

Messages sent to contact mobile phone number.

ModuleType

Represents type of training component

UNIT_OF_COMPETENCY

Database value: 0

Unit of competency type

MODULE

Database value: 1

Module type

UNIT_OF_STUDY

Database value: 2

Unit of study type

OTHER

Database value: 99

Other types

MoneyRounding

Enumeration of options for rounding money fields, e.g. after applying discounts.

ROUNDING_NONE

Database value: 0

No rounding is applied

ROUNDING_10C

Database value: 1

Rounding to nearest 10 cents, e.g. $1.93 becomes $1.90

ROUNDING_50C

Database value: 2

Rounding to nearest 40 cents, e.g. $1.34 becomes $1.50

ROUNDING_1D

Database value: 3

Rounding to nearest dollar, e.g. $9.70 becomes $10.00

NodeSpecialType

Some tags have a special meaning. Because tags were originally called "nodes" in onCourse, some of the old terminology still lingers.

SUBJECTS

Database value: 1

There can only be one tag group called "subjects" and there must always be one. It has special meaning in an onCourse website.

HOME_WEBPAGE

MAILING_LISTS

Database value: 3

Tag groups which are of type mailing list appear in a special place in the user interface but are still just a flag against a contact showing they are part of a mailing list.

PAYROLL_WAGE_INTERVALS

Database value: 4

Wage intervals are a tag group used to designate pay cycles.

ASSESSMENT_METHOD

Database value: 5

Assessment methods are a tag group used to mark assessments.

OutcomeStatus

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

STATUS_NOT_SET

Database value: 0

Not set

STATUS_ASSESSABLE_PASS

Database value: 20

Competency achieved/pass

STATUS_ASSESSABLE_FAIL

Database value: 30

Competency not achieved/fail

STATUS_ASSESSABLE_WITHDRAWN

Database value: 40

Withdrawn

STATUS_ASSESSABLE_WITHDRAWN_INCOMPLETE_DUE_TO_RTO

Database value: 41

Incomplete due to RTO closure

STATUS_ASSESSABLE_RPL_GRANTED

Database value: 51

RPL granted

STATUS_ASSESSABLE_RPL_NOT_GRANTED

Database value: 52

RPL not granted

STATUS_ASSESSABLE_RCC_GRANTED

Database value: 53

RCC granted

STATUS_ASSESSABLE_RCC_NOT_GRANTED

Database value: 54

RCC not granted

STATUS_ASSESSABLE_CREDIT_TRANSFER

Database value: 60

Credit Transfer

STATUS_SUPERSEDED_QUALIFICATION_QLD

Database value: 65

Superseded Qualification

STATUS_ASSESSABLE_DET_DID_NOT_START

Database value: 66

Did not start

STATUS_ASSESSABLE_CONTINUING_ENROLMENT

Database value: 70

Continuing enrolment

STATUS_NON_ASSESSABLE_COMPLETED

Database value: 81

Satisfactorily completed

STATUS_NON_ASSESSABLE_NOT_COMPLETED

Database value: 82

Withdrawn or not satisfactorily completed

STATUS_NO_RESULT_QLD

Database value: 90

Result not available

STATUS_WA_PARTICIPATING_WITH_EVIDENCE

Database value: 5

Participating, but studies not finished (with evidence of Training)

STATUS_WA_PARTICIPATING_WITHOUT_EVIDENCE

Database value: 55

Participating, but studies not finished (With NO evidence of Training)

STATUS_WA_RCC_GRANTED

Database value: 15

Recognition of Current Competencies (RCC) granted

STATUS_WA_RCC_NOT_GRANTED

Database value: 16

Recognition of Current Competencies (RCC) not granted

STATUS_WA_PROVISIONALLY_COMPETENT

Database value: 8

Provisionally competent off the job (apprentices only)

STATUS_WA_DISCONTINUED

Database value: 11

Discontinued - no formal withdrawal (after some participation)

STATUS_WA_NOT_YET_STARTED

Database value: 105

Not yet started

SUPERSEDED_SUBJECT

Database value: 61

Superseded subject

OutputType

Output types are the type of file created by an Export. This changes the output file extension and mime-type.utpu

CSV

JSON

XML

ICAL

TEXT

PDF

PageBreakType

Enum determining the strategy for adding page breaks between records in reports.

OFF

TARGET

SOURCE

PaymentSource

Payment can be made in onCourse (office) or from the onCourse website (web). Although named "PaymentSource" this enumeration is used for enrolments and other entities to mark where they were originated.

SOURCE_ONCOURSE

all payments made from onCourse will have this source

Database value: O

SOURCE_WEB

all payments made from onCourse website will have this source

Database value: W

PaymentStatus

Payments pass through a number of statuses as the enrolment or sale is completed and the credit card is processed. Once a final state is reached, the status may not be changed again.

CORRUPTED

Indicates an state of conflict with data integrity rules (e.g., between the website and onCourse). i.e., something that should never happen and needs resolution.

Database value: -99

NEW

NEW payments are rarely seen in the wild and exist for a short time before the gateway is contacted to process the transaction.

Database value: 0

QUEUED

Indicates a payment or enrolment that was unable to retrieve a result on first attempt and is queued for later processing by a server-side thread.

Database value: 1

IN_TRANSACTION

This payment is currently being processed against the gateway and should not be touched by any other thread.

Database value: 2

SUCCESS

Indicates successful and confirmed completion of a payment or enrolment.

FINAL STATUS Database value: 3

FAILED

Indicates a failed response due to an error.

FINAL STATUS Database value: 4

FAILED_CARD_DECLINED

Indicates a failed response given by the credit card gateway.

FINAL STATUS Database value: 6

FAILED_NO_PLACES

Indicates that the enrolment and payment could not be accepted because there were no enrolment places left.

FINAL STATUS Database value: 7

CARD_DETAILS_REQUIRED

Indicates that payment was saved in onCourse Web, but user needs to provide credit card details.

Database value: 10

isFinalState(status)

checks if a given status is a final status (not to be altered anymore)

  • status PaymentStatus to be verified @return true if the param belongs to statuses_final

  • Returns boolean true if the param belongs to statuses_final

PaymentType

Different types of payment

CASH

Payments made in cash. These payments will need to be manually banked.

Database value: 0

CHEQUE

Payments made with cheque. These payments will need to be manually banked.

Database value: 1

CREDIT_CARD

Payments made with credit card. These payments will need to be manually banked if the credit card gateway is not enabled. They will be marked as banked automatically if the gateway is available and the payment is successful.

Database value: 2

EFT

Payments made by any means of electronic fund transfer (bank transfer etc.). These payments will need to be manually banked.

Database value: 3

BPAY

Payments made using b-pay. These payments will need to be manually banked.

Database value: 4

INTERNAL

Internal payments (also known as "zero payments") are created by the system automatically, and cannot be created manually. They will be seen when you create an invoice in QuickEnrol or on the website where there is no payment and the payment is just created as a holding object to keep the workflow consistent with other regular payments.

Additionally if you use a dollar type voucher, and there is no additional monetary payment, then an Internal payment will also be created with a $0 value.

Payments of this type always have a total of $0 even though they may have payment lines which are not $0.

Database value: 5

OTHER

Other types of payment (internal accounts transfer etc) Database value: 6

CONTRA

Contra payments are created by a user manually in the onCourse user interface. They are created by cancelling out a credit note (or part of an invoice) against an invoice (or part of an invoice).

Contra payments can also be created when you cancel an enrolment, the invoice for that enrolment is unpaid and you choose to issue a credit note. Then the credit note and original invoice are linked by a Contra Payment automatically.

Payments of this type always have a total of $0 even though they will have payment lines which are not $0.

Database value: 7

VOUCHER

A special payment type created during voucher redemption. Banking is never needed.

Database value: 8

PAYPAL

payments using paypal. These payments will need to be manually banked. Database value: 9

REVERSE

A reversal is a special payment type used to link original and reversed invoices during payment cancellation or failure. This type cannot be created manually, but will appear when there is a failure during a payment transaction with the bank or some other transaction processing error.

In case of credit card failure, the operator is given a choice to keep the current invoice without payment, or cancel the enrolment and issue a credit note. In this case a REVERSE payment is created to link the invoice with the credit note and cancel out any amount owing.

Payments of this type always have a total of $0 even though they will have paymentLines which are not $0.

Database value: 10

EFTPOS

EFTPOS payments. These payments will need to be manually banked.

Database value: 11

PayslipStatus

Payslips go through a workflow set of statuses.

HOLLOW

These payslips are still being edited. Database value: 1

COMPLETED

These payslips are marked as complete and ready to be approved. Database value: 2

APPROVED

Once approved by an onCourse user with sufficient permissions, the payslip is ready to be exported. Database value: 3

FINALISED

Once exported, payslips may no longer be edited. Database value: 4

PostcodeType

Australian postcodes range

DELIVERY_AREA

Delivery Area Database value: 1

POST_OFFICE_BOXES

Post Office Boxes. These types of postcodes cannot be used for AVETMISS reporting. Database value: 2

LARGE_VOLUME_RECEIVER

Large Volume Receiver Database value: 3

ProductStatus

Products can have a status reflecting the sale. Since products include both real goods ({@see Articles}) and {@see Vouchers} some statuses only apply to specific types of products.

ACTIVE

Database value: 0

Base status product receives after payment was confirmed.

CANCELLED

Database value: 1

A product sale which is cancelled but not reversed.

CREDITED

Database value: 2

When a product sale has been reversed.

REDEEMED

Database value: 3

A voucher which has been sold and also redeemed. Doesn’t apply to other types of products.

NEW

Database value: 4

Represents status when voucher is persisted to database but its payment is not yet successful. This status will transition to another status soon. You should not set this status ordinarily.

EXPIRED

Database value: 5

Product is past it’s expiry date

DELIVERED

Database value: 6

Status that can be set manually for Article Product to confirm it’s delivery.

ProductType

Products are implemented in the database using vertical inheritance and require this discriminator column to identify the type of entity.

ARTICLE

Database value: 1

Product items offered by college, e.g, books. Located in Products → Products.

MEMBERSHIP

Database value: 2

Memberships offered by college. Located in Products → Memberships.

VOUCHER

Database value: 3

Money and enrolment vouchers sold by college. Voucher can be used to cover the payments for enrolling into classes. Located in Products → Voucher types.

QualificationType

Qualifications must be one of these types as per the AVETMISS standard

QUALIFICATION_TYPE

Qualification.

Database value: 0

COURSE_TYPE

Accredited course.

Database value: 1

SKILLSET_TYPE

Skill set.

Database value: 2

SKILLSET_LOCAL_TYPE

Local skill set.

Database value: 3

HIGHER_TYPE

Higher education.

Database value: 4

RecognitionOfPriorLearningIndicator

A code indicating whether an RPL is a unit of study or has an RPL component in the unit of study. http://heimshelp.education.gov.au/sites/heimshelp/2015_data_requirements/2015dataelements/pages/577

NOT_RPL_UNIT_OF_STUDY

Database value: 0

Unit of study is NOT an RPL unit of study.

UNIT_OF_STUDY_CONSISTS_WHOLLY_OF_RPL

Database value: 1

Unit of study consists wholly of RPL.

UNIT_OF_STUDY_HAS_A_COMPONENT_OF_RPL

Database value: 2

Unit of study has a component of RPL.

Severity

Collection of predefined {ish.oncourse.server.quality.api.QualityResultSpec} severity levels. You can use these values, or just any value between 0 and 100.

INFO

ADVICE

WARNING

ERROR

SETUP

StudentCitizenship

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

AUSTRALIAN_CITIZEN

Database value: 1

Australian citizen (including Australian citizens with dual citizenship)

NEW_ZELAND_CITIZEN

Database value: 2

New Zealand citizen or a diplomatic or consular representative of New Zealand, a member of the staff of such a representative or the spouse or dependent relative of such a representative, excluding those with Australian citizenship. (Note: includes any such persons who have Permanent Resident status)

STUDENT_WITH_PERMANENT_VISA

Database value: 3

Students/Applicants with permanent visa other than permanent humanitarian visa

STUDENT_WITH_TEMPORARY_ENTRY_PERMIT

Database value: 4

Student/Applicant has a temporary entry permit or is a diplomat or a dependent of a diplomat (except New Zealand) and resides in Australia during the unit of study

NONE_OF_THE_ABOVE_CATEGORIES

Database value: 5

Not one of the above categories and student/applicant is residing outside Australia during the unit of study/time of application

STUDENT_WITH_PERMANENT_HUMANITARIAN_VISA

Database value: 8

Students/Applicants with permanent humanitarian visa

NO_INFORMATION

Database value: 9

No information

StudentStatusForUnitOfStudy

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_NON_STATE_GOVERNMENT_SUBSIDISED

Database value: 1

Deferred all/part of tuition fee through VET FEE-HELP - non State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_RESTRICTED_ACCESS_ARRANGEMENT

Database value: 2

Deferred all/part of tuition fee through VET FEE-HELP - Restricted Access Arrangement

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_VICTORIAN_STATE_GOVERNMENT_SUBSIDISED

Database value: 3

Deferred all/part of tuition fee through VET FEE-HELP - Victorian State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_NEW_SOUTH_WALES_STATE_GOVERNMENT_SUBSIDISED

Database value: 4

Deferred all/part of tuition fee through VET FEE-HELP - New South Wales State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_QUEENSLAND_STATE_GOVERNMENT_SUBSIDISED

Database value: 5

Deferred all/part of tuition fee through VET FEE-HELP - Queensland State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_SOUTH_AUSTRALIAN_STATE_GOVERNMENT_SUBSIDISED

Database value: 6

Deferred all/part of tuition fee through VET FEE-HELP - South Australian State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_WESTERN_AUSTRALIAN_STATE_GOVERNMENT_SUBSIDISED

Database value: 7

Deferred all/part of tuition fee through VET FEE-HELP - Western Australian State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_TASMANIA_STATE_GOVERNMENT_SUBSIDISED

Database value: 8

Deferred all/part of tuition fee through VET FEE-HELP - Tasmania State Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_NORTHERN_TERRITORY_GOVERNMENT_SUBSIDISED

Database value: 9

Deferred all/part of tuition fee through VET FEE-HELP - Northern Territory Government subsidised

DEFERRED_ALL_OR_PART_OF_TUITION_FEE_THROUGH_VET_FEE_HELP_AUSTRALIAN_CAPITAL_TERRITORY_GOVERNMENT_SUBSIDISED

Database value: 10

Deferred all/part of tuition fee through VET FEE-HELP - Australian Capital Territory Government subsidised

StudyReason

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

STUDY_REASON_NOT_STATED

Database value: -1

Not stated

STUDY_REASON_JOB

Database value: 0

To get a job

STUDY_REASON_DEVELOP_BUSINESS

Database value: 1

To develop existing business

STUDY_REASON_START_BUSINESS

Database value: 2

To start own business

STUDY_REASON_CAREER_CHANGE

Database value: 4

To try for a different career

STUDY_REASON_BETTER_JOB

Database value: 8

To get a better job or promotion

STUDY_REASON_VOLUNTARY_WORK

Database value: 13

To get skills for community/voluntary work

STUDY_REASON_JOB_REQUIREMENT

Database value: 16

Was a requirement of a job

STUDY_REASON_EXTRA_JOB_SKILLS

Database value: 32

To get extra skills for a job

STUDY_REASON_FOR_ANOTHER_COURSE

Database value: 64

To get into another course of study

STUDY_REASON_OTHER

Database value: 128

Other reasons

STUDY_REASON_PERSONAL_INTEREST

Database value: 256

For personal interest or self-development

SurveyTypeSource

ONCOURSE

Database value: 1

INTEGRATION

Database value: 2

OTHER

Database value: 10

SurveyVisibility

Visibility of surveys on web

REVIEW

Database value: 0

Testimonial awaiting review

TESTIMONIAL

Database value: 1

Testimonial is shown on web

NOT_TESTIMONIAL

Database value: 2

Testimonial is hidden on web

STUDENT_HIDDEN

Database value: 3

Testimonial is hidden by student

TaggableClasses

COURSE

COURSE_CLASS

STUDENT

TUTOR

REPORT

ATTACHMENT_INFO

CONTACT

SITE

ROOM

MESSAGE

DOCUMENT

APPLICATION

ENROLMENT

PAYSLIP

WAITING_LIST

ASSESSMENT

TriggerType

Each script can be triggered in a particular way. This enum defined how the trigger is fired.

CRON

Database value: 1

This script will be executed at predefined times (as expressed in a cron string).

ENTITY_EVENT

Database value: 2

This script will be executed when a database object is created, edited or deleted.

ONCOURSE_EVENT

Database value: 3

This script will be executed on particular lifecycle events such as when an enrolment becomes confirmed or a class is cancelled.

ON_DEMAND

Database value: 4

This script will only be executed when user manually runs it.

UsiStatus

A USI can be validated against the government verification service.

DEFAULT_NOT_SUPPLIED

Database value: 0 The USI has not been entered at all.

NON_VERIFIED

Database value: 1 A verification was attempted, but it failed.

VERIFIED

Database value: 2 A verification was made and succeeded.

EXEMPTION

Database value: 3 A student objected to having a USI and obtained an exemption.

INTERNATIONAL

Database value: 4 A student did their training offshore and isn’t required to get a USI

VETFeeExemptionType

A set of values for AVETMISS reporting from the version 7 standard. Consult the AVETMISS documentation for more detail about these options.

UNSET

Database value: -1

Not set

NO

Database value: 0

No

YES

Database value: 1

Yes

C

Database value: 9

QLD only: Concessional Participant

D

Database value: 11

WA only: Pensioner Concession Card

E

Database value: 12

WA only: Repatriation Health Benefits Cards

F

Database value: 13

WA only: Fee Exempt

G

Database value: 2

VIC: VCE Scholarship, WA: AUSTUDY/ABSTUDY

H

Database value: 3

VIC only: Health Care Card

I

Database value: 14

WA only: Health Care Card Youth Allowance - Job seeker (Fee Free)

J

Database value: 15

WA only: Job Network Card (Fee Free)

L

Database value: 16

WA only: Under 18 Years of Age

M

Database value: 4

VIC only: Prisoner

N

Database value: 10

QLD: Non-concessional participant, WA: Health Care Card

O

Database value: 5

VIC: Other, WA: Youth Allowance

P

Database value: 6

VIC only: Pensioner concession card

Q

Database value: 17

WA only: Custodial Institution Inmates (Prison Inmates)

S

Database value: 18

WA only: Health Care Card - New Start (Fee Free)

V

Database value: 7

VIC: Veteran gold card concession, WA: Fees Waived (due to severe financial hardship)

Z

Database value: 8

VIC: None, WA: No Concession

VoucherPaymentStatus

Voucher verification status enumeration are set by onCourse Web when processing voucher payments coming from onCourse and used to display appropriate user message.

APPROVED

Database value: 0

Voucher is valid and can be used for enrolling/payment.

BUSY

Database value: 1

Voucher has already being used in some other transaction.

INCONSISTENT

Database value: 2

Voucher details are different on angel and willow.

WorkingWithChildrenStatus

NOT_CHECKED

APPLICATION_IN_PROGRESS

CLEARED

BARRED

INTERIM_BARRED