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: KeyCode the keycode this access right refers to
mask()
- Returns: 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: 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: ACLAccessKey ACLAccessKey of the given keyCode
accessKeys()
- Returns: 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: String the name of the Role
systemUsers()
- Returns: List of SystemUser a list of all users attached to this role
AbstractInvoiceLine
Includes the behavior implemented in InvoicePayableLineWrapper
cosAccount()
- Returns: Account COS account linked to this invoice line
createdOn()
- Returns: Date the date and time this record was created
description()
- Returns: String invoice line description
discountEachExTax()
- Returns: 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: List of Discount list of discounts 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
modifiedOn()
- Returns: Date the date and time this record was modified
prepaidFeesAccount()
- Returns: Account prepaid fees liability account
prepaidFeesRemaining()
- Returns: Money remaining amount on prepaid fees liability account which is not yet transferred to income account
priceEachExTax()
- Returns: 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
quantity()
- Returns: BigDecimal quantity of items
tax()
- Returns: Tax tax linked to this invoice line
taxEach()
- Returns: 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: 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)
Account
An Account is a representation of a General Ledger transactional account for the finance backend of onCourse.
accountCode()
- Returns: 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: Date the date and time this record was created
description()
- Returns: 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: 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: 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: Account the account for this transaction
amount()
- Returns: Money the value of this transaction
contactName()
Get contact related to the transaction through invoice or payment.
- Returns: String contact name
createdOn()
- Returns: Date the date and time this record was created
id()
- Returns: 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 is linked to an invoice line
- Returns: Long invoice number
isLocked()
Return true if transaction day cannot be changed.
- Returns: boolean true if transaction day is locked
modifiedOn()
- Returns: 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: String name of contact related to this AccountTransaction
relatedInvoiceLine()
- Returns: InvoiceLine the related invoiceLine to this AccountTransaction, if it exists
source()
- Returns: String a human readable string of the source class which generated this transaction
sourceClass()
- Returns: Class extends PersistentObject the Java class which generated this transaction
transactionDate()
- Returns: 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: 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:
- New
- Offered
- Accepted
- Rejected
- Withdrawn
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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
confirmationStatus()
We track whether the confirmation email has been sent for this particular record in order to avoid sending it twice.
- Returns: ConfirmationStatus status of confirmation email sending
course()
Applications are always linked to a course rather than to a specific class.
- Returns: Course course to which this application is linked
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
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: Date the date and time this record was modified
notes()
- Returns: String concatenated private notes
reason()
- Returns: String reason for decision (accept or reject) on this application
source()
- Returns: PaymentSource source where application was created: website or onCourse
status()
- Returns: ApplicationStatus current status of the application
student()
- Returns: Student the student who lodged the application
tags()
- Returns: List of Tag The list of tags assigned to application
ApplicationFieldConfiguration
A field configuration which is used to collect application information
createdOn()
- Returns: Date the date and time this record was created
fieldHeadings()
- Returns: List of FieldHeading a list of all headings attached to this field configuration
fields()
- Returns: List of Field a sorted list of all fields attached to this field configuration
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
confirmationStatus()
- Returns: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
contact()
- Returns: Contact contact who owns this product item
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
expiryDate()
- Returns: Date date when product item (e.g. membership) expires
invoiceLine()
- Returns: InvoiceLine purchase invoice line for this product item
modifiedOn()
- Returns: Date the date and time this record was modified
product()
- Returns: Product product type of this item
status()
- Returns: ProductStatus current status of this product item: active, cancelled, credited, redeemed, expired or delivered
ArticleProduct
Represents generic product type which can be sold.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
notes()
- Returns: String concatenated private notes
weight()
- Returns: Double weight of this product
Assessment
attachDocument(doc)
- doc: Document the document to be attached to this tutor
active()
- Returns: Boolean true if active
allNotes()
- Returns: List of Note all related notes
assessmentClasses()
AssesmentClasses is the relational object between an Assesment and a CourseClass
- Returns: List of AssessmentClass all assesmentclasses this assesment is linked to
code()
- Returns: String Documentation not yet available
createdOn()
- Returns: Date the date and time this record was created
description()
- Returns: String Documentation not yet available
documents()
- Returns: List of Document all attached documents
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String Documentation not yet available
notes()
- Returns: String concatenated private notes
AssessmentClass
assessment()
- Returns: Assessment Documentation not yet available
assessmentSubmissions()
- Returns: List of AssessmentSubmission Documentation not yet available
courseClass()
- Returns: CourseClass Documentation not yet available
createdOn()
- Returns: Date the date and time this record was created
dueDate()
- Returns: Date Documentation not yet available
modifiedOn()
- Returns: Date the date and time this record was modified
modules()
Gets a list of modules associated with this assessment
- Returns: 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: Date release date
tutors()
- Returns: List of Tutor a list of tutors related to this assessment
AssessmentSubmission
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allNotes()
- Returns: List of Note all related notes
assessmentClass()
- Returns: AssessmentClass the assessment class: connection between a courseClass and the assessment submission
assessmentName()
- Returns: String the assessment name
courseClassName()
- Returns: String the courseClass name in next format: 'courseName courseCode-classCode'
createdOn()
- Returns: Date the date and time this record was created
documents()
- Returns: List of Document all attached documents
enrolment()
- Returns: Enrolment the enrolment which is related to the assessment submission
markedBy()
- Returns: Contact the id of the assessor who marked the assessment submission
modifiedOn()
- Returns: Date the date and time this record was modified
notes()
- Returns: String concatenated private notes
studentName()
- Returns: String the full name of student
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
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.
- Returns: AttendanceType the attendance type
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: Tutor the ID of a tutor who marked student's attendance
markedByTutorDate()
- Returns: 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: Session the session this attendance is linked to
student()
- Returns: 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: Site admin site
createdBy()
The user who created the banking. Null if it was generated automatically.
- Returns: SystemUser user
createdOn()
- Returns: Date the date and time this record was created
modifiedOn()
- Returns: Date the date and time this record was modified
paymentsIn()
All the payments-in banked in this batch
- Returns: List of PaymentIn list of payments-in
paymentsOut()
All the payments-out banked in this batch
- Returns: 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: 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
- Returns: BankingType banking type
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
attachDocument(doc)
- doc: Document the document to be attached to this tutor
certificateNumber()
- Returns: Long a unique number for this certificate
createdOn()
- Returns: Date the date and time this record was created
documents()
- Returns: List of Document all attached documents
isQualification()
- Returns: 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
portalUrl()
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.
- Returns: String the qualification
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.
- Returns: Qualification the 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: Student the student who received the qualification
studentFirstName()
- Returns: String student first name @Deprecated Use certificate.student.contact.firstName instead
studentLastName()
- Returns: String student last name @Deprecated Use certificate.student.contact.lastName instead
successfulOutcomes()
- Returns: def list of Outcomes with an ASSESSABLE OutcomeStatus
uniqueCode()
- Returns: String Certificate unique code
verificationURL()
Returns a web URL that can be entered into a web browser to validate this certificate.
- Returns: def QRCode
Checkout
A shopping cart record typically created by a user who abandoned their cart during checkout on the onCourse website
createdOn()
- Returns: Date the date and time this record was created
modifiedOn()
- Returns: Date the date and time this record was modified
payer()
- Returns: Contact the contact set as the payer in the shopping cart
shoppingCartClasses()
Note: all products with ids from shopping cart should be replicated
- Returns: List of CourseClass list of all course classes, whose ids shopping cart contains
shoppingCartProductQuantity(productId)
-
productId: Long - angel id of product @return quantity of product with this id into shopping cart or null, if product not found
-
Returns: Integer quantity of product with this id into shopping cart or null, if product not found
shoppingCartProducts()
Note: all products with ids from shopping cart should be replicated
- Returns: List of Product list of all products, whose ids shopping cart contains
totalValue()
- Returns: Money the value of te shopping cart
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
calcActualCost()
- Returns: Money Documentation not yet available
calcMaximumCost()
- Returns: Money Documentation not yet available
calcPerUnitAmountExTax()
- Returns: Money Documentation not yet available
contact()
- Returns: Contact contact linked to this class cost (e.g. tutor for wage cost types)
courseClass()
- Returns: CourseClass class linked to this class cost
createdBy()
- Returns: SystemUser onCourse user who created this class cost
createdOn()
- Returns: Date the date and time this record was created
currentOncostRate()
- Returns: BigDecimal
description()
- Returns: String description of this class cost record
discountCourseClass()
- Returns: DiscountCourseClass discount record linked to this class cost (applies for flow type "discount")
flowType()
- Returns: ClassCostFlowType flow type of this class cost record: expense, income, wages or discount
invoiceToStudent()
- Returns: Boolean true if class cost is invoiced to student
isSunk()
- Returns: 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: Boolean true if this class cost is payable on student enrolment
paylines()
- Returns: List of PayLine paylines generated from this class cost record
perUnitAmountExTax()
- Returns: Money per unit amount excluding tax
repetitionType()
- Returns: 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 If until = null returns payable hours without date limitations
tax()
- Returns: Tax tax linked to this class cost record
taxAdjustment()
- Returns: Money tax adjustment value (used for rounding)
tutorRole()
- Returns: 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()
- Returns: List of DiscountConcessionType list of discounts linked to this concession type
createdOn()
- Returns: Date the date and time this record was created
hasConcessionNumber()
- Returns: Boolean true if entering of concession card number is required
hasExpiryDate()
- Returns: Boolean true if concession expiry date must be always specified
isEnabled()
- Returns: Boolean true if this concession type is active
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
abn()
- Returns: String ABN (Australian Business Number) mostly for companies, but tutors might also have one for payment
address()
- Returns: String address details concatenated together: suburb, state, postcode with line breaks as appropriate
address()
Provides formatted address (Australian format). should be used every time is required to ensure identical formatting everywhere.
- Returns: String String address
age()
Get the age in whole years
- Returns: Integer the contact's age
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
allowEmail()
- Returns: Boolean whether the contact opted into email marketing
allowPost()
- Returns: Boolean whether the contact opted into postal (mail) marketing
allowSms()
- Returns: Boolean whether the contact opted into SMS marketing
birthDate()
- Returns: LocalDate yep, the contact's date of birth as LocalDate
classCosts()
- Returns: List of ClassCost ClassCost records associated with this contact
concessionsAuthorised()
- Returns: List of StudentConcession list of concessions authorised by this contact
contactType()
- Returns: ContactType Documentation not yet available
corporatePasses()
- Returns: List of CorporatePass CorporatePass records associated with this contact
country()
Some validation rules (such as postcode) only apply if this country is "Australia"
- Returns: Country the country for the address of this contact
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
dateOfBirth()
- Returns: Date the contact's date of birth as Date
deliveryStatusEmail()
- Returns: 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: 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: 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
documents()
- Returns: List of Document all attached documents
email()
- Returns: String Documentation not yet available
fax()
- Returns: String facsimile number (do we still use those?)
firstName()
- Returns: String first name, null for companies
fullName()
- Returns: String the full name for this contact including the middle name, or just the name of the company
gender()
- Returns: Gender gender for the contact
homePhone()
- Returns: String home phone number, formatted just how it was entered in the UI
honorific()
- Returns: 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: 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: List of Invoice all the invoices linked to this contact, including those already paid
isCompany()
- Returns: Boolean true if this contact is a company
lastName()
- Returns: String last name of this contact
memberships()
- Returns: List of Membership all the memberships (including expired) subscribed to by this contact
message()
- Returns: String message (alert for operator) associated with this contact
messages()
- Returns: List of Message list of all Message records which were sent to this contact
middleName()
- Returns: String middle name
mobilePhone()
- Returns: String contact's mobile phone
modifiedOn()
- Returns: Date the date and time this record was modified
name()
Convenience method, same as getName(false)
- Returns: String contact name in a format it is most commonly used in reports: 'Smith, John'
notes()
- Returns: String concatenated private notes
owingInvoices()
- Returns: List of Invoice invoices that belong to contact which have positive amount owing value
payments()
- Returns: List of PaymentInterface all payment in and payment out records linked to this contact
paymentsIn()
- Returns: List of PaymentIn all PaymentIn records associated with this contact
paymentsOut()
- Returns: List of PaymentOut all PaymentOut records associated with this contact
payslips()
- Returns: 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: String signed portal url to certain page (target)
portalLoginURL()
Generates URL to portal login page.
- Returns: String portal login page URL
postcode()
- Returns: String contact's postcode
productItems()
- Returns: List of ProductItem all ProductItem records associated with this contact
quotes()
- Returns: List of Quote all the quotes linked to this contact
relatedContacts()
- Returns: List of Contact all contacts related to this one
relatedContacts(relationName)
Get all related contacts with a specific relationship type name
-
relationName: String (eg. 'parent') @return
-
Returns: List of Contact
state()
- Returns: String contact's state
street()
- Returns: String contact's address
student()
- Returns: Student Student record associated with this contact
suburb()
- Returns: String contact's suburb
tags()
- Returns: List of Tag The list of tags assigned to this contact
tfn()
- Returns: String contact's TFN (Tax File Number)
title()
- Returns: String contact's title
totalInvoiced()
- Returns: Money Total paid amount for all contact invoices
totalOwing()
- Returns: Money total of all owing amounts for this contact, regardless of due date or payment plan
tutor()
- Returns: Tutor Tutor record associated with this contact
unbalancedInvoices()
Get unbalanced invoices
- Returns: List of Invoice unbalanced invoices
uniqueCode()
- Returns: String alphanumeric 16 character unique code associated with this contact
workPhone()
- Returns: 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: Contact contact on the left side of the relation
modifiedOn()
- Returns: Date the date and time this record was modified
relationType()
- Returns: ContactRelationType type of the contact relation
toContact()
- Returns: 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: Boolean true if contact on the left side of the relation can access portal account of the other related contact
fromContactName()
- Returns: String name of the left side of the relation, e.g. "parent", "employer", etc.
membeshipDiscountRelations()
- Returns: List of DiscountMembershipRelationType list of discount-membership relations linked to this contact relation type
modifiedOn()
- Returns: Date the date and time this record was modified
toContactName()
- Returns: 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: Contact contact linked to this corporate pass
corporatePassCourseClasses()
- Returns: 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: 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: 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: 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: 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: 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()
- Returns: CorporatePass CorporatePass record
courseClass()
- Returns: CourseClass class record
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()
- Returns: CorporatePass CorporatePass record
createdOn()
- Returns: Date the date and time this record was created
modifiedOn()
- Returns: Date the date and time this record was modified
product()
- Returns: 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: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
allowWaitingLists()
Courses can have waiting lists enabled to allow students to add and remove themselves from a waiting list.
- Returns: Boolean true if waiting lists are enabled for this course
applications()
- Returns: List of Application application records linked to this course
cancelledClassesCount()
- Returns: Integer count of cancelled classes for the 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: String course code
courseClasses()
- Returns: List of CourseClass all courseClasses, whether current, past or future
courseModules()
- Returns: List of CourseModule CourseModule records linked to this course
createdOn()
- Returns: Date the date and time this record was created
currentClassesCount()
- Returns: Integer count of current classes for the course
currentlyOffered()
- Returns: Boolean true if the course is currently advertised
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
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.
- Returns: CourseEnrolmentType type of enrolments allowed for this course
enrolments()
- Returns: 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.
- Returns: FieldConfigurationScheme the scheme which applies to this course
fieldOfEducation()
- Returns: String the NCVER 'Subject field of education' identifer code
futureClasseCount()
- Returns: Integer count of future classes for the course
isShownOnWeb()
- Returns: Boolean whether this course is displayed on the website for browsing and searching
isSufficientForQualification()
- Returns: 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: Boolean whether this is a VET course
modifiedOn()
- Returns: Date the date and time this record was modified
modules()
- Returns: 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: String the human readable name of the course
nextAvailableCode(courseClass)
creates next logical code for a class. code is based on current code or code for the last available class.
-
courseClass: CourseClass Documentation not yet available
-
Returns: String new code
notes()
- Returns: String concatenated private notes
passedClassesCount()
- Returns: Integer count of passed classes for the course
printedBrochureDescription()
- Returns: String a shorter plaint text description suitable for a brochure
qualification()
- Returns: Qualification qualification linked to this course
relatedCourses()
- Returns: List of Course a list of all courses related to this one. It is a union of relatedToCourses and relatedFromCourses
relatedCourses(name)
A list of all courses related to this one by type with specified name
-
name: String Documentation not yet available
-
Returns: List of Course
relatedFromCourses()
- Returns: List of Course a list of courses related to this one (relashionships, created in other courses to this one)
relatedFromCourses(name)
-
name: String Documentation not yet available
-
Returns: List of Course a list of courses related to this one (relashionships, created in other courses to this one) by type with specified name
relatedFromProducts()
- Returns: List of Product a list of courses this one relate to
relatedProducts()
- Returns: List of Product a list of all products related to this one
relatedToCourses()
- Returns: List of Course a list of courses that this course is related to (relationships to courses, created from this one)
relatedToCourses(name)
-
name: String Documentation not yet available
-
Returns: List of Course a list of courses that this course is related to (relationships to courses, created from this course) by type with specified name
relatedToProducts()
- Returns: 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
selfPacedClassesCount()
- Returns: Integer count of self paced classes for the course
sessions()
- Returns: List of Session list of sessions linked to this course
shortWebDescription()
The course short description is displayed on the courses page as a description of course under the title.
If value not set, webDescription will be displayed.
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
status()
- Returns: CourseStatusDTO Documentation not yet available
tags()
- Returns: List of Tag The list of tags assigned to course
unscheduledClassesCount()
- Returns: Integer count of unscheduled classes for the course
voucherProduct()
- Returns: List of VoucherProduct list of sutable Vouchers for this course
waitingLists()
- Returns: 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.
addDiscount(discount)
Add given discount to available class discounts list
- discount: Discount Documentation not yet available
attachDocument(doc)
- doc: Document the document to be attached to this tutor
activeAttendances()
- Returns: List of Attendance attendance records for all SUCCESS enrolments
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
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
assessmentClasses()
- Returns: 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()
- Returns: CourseClassAttendanceType AttendanceType for AVETMISS reporting in Victoria only
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: 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
classroomHours()
- Returns: BigDecimal the sum of the duration of all sessions attached to this CourseClass
code()
- Returns: String class code
corporatePassCourseClass()
Returns all CorperatePasses that can be used with this CourseClass
- Returns: List of CorporatePassCourseClass object relating class and CorporatePass
costs()
- Returns: List of ClassCost all ClassCosts linked to this CourseClass
course()
- Returns: Course course record linked to this class
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
deliveryMode()
- Returns: DeliveryMode standard deliveryMode value for AVETMISS reporting
deposit()
- Returns: Money
description()
- Returns: 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
- Returns: List of DiscountCourseClass object relating class and Discounts
discountedInvoiceLinesForEnrolments()
Collects all successful enrolments attached to this courseClass used a discount
- Returns: def InvoiceLines sorted by discount name
discounts()
Return the immutable list of discounts available for class
To add more available discounts for the class see CourseClass.addDiscount(Discount)
- Returns: List of Discount available discounts list 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: String a string representation of the site name, street, suburb, and postcode.
documents()
- Returns: List of Document all attached documents
endDateTime()
- Returns: Date end date and time of the last session of the class
enrolments()
- Returns: 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: Money the class free exclusing GST
feeGST()
- Returns: Money the GST of the class fee
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: 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
hasZeroWages()
- Returns: boolean Documentation not yet available
incomeAccount()
- Returns: Account
initialDETexport()
- Returns: String
invoiceLines()
- Returns: List of InvoiceLine invoice lines related to this class
isActive()
- Returns: Boolean true if class is active and can accept enrolments
isCancelled()
- Returns: Boolean true if class has been cancelled
isClassFeeApplicationOnly()
- Returns: Boolean
isDistantLearningCourse()
- Returns: Boolean true if class is distant learning, this means that class type is Distant Learning
isHybrid()
- Returns: Boolean true if class is hybrid, this means that class type is Hybrid
isShownOnWeb()
- Returns: 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: 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: Integer minimim number of enrolments required for class to proceed
modifiedOn()
- Returns: Date the date and time this record was modified
nominalHours()
- Returns: BigDecimal Documentation not yet available
notCancelledAttendance()
An alias for getAttendance(true)
- Returns: def attendance lines for this particular courseClass including tutors
notes()
- Returns: String concatenated private notes
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: String /class/uniqueCode
qualificationHours()
- Returns: BigDecimal Documentation not yet available
quoteLines()
- Returns: List of QuoteLine quote lines related to this class
refundedAndCancelledEnrolments()
- Returns: def Documentation not yet available
relatedFundingSource()
Returns the funding source for this CourseClass.
- Returns: FundingSource funding source used for this class
reportableHours()
- Returns: BigDecimal
room()
- Returns: Room main room associated with this class
sessionModules()
- Returns: def Documentation not yet available
sessions()
- Returns: List of Session list of sessions linked to this class
sessionsCountForTutor(t)
-
t: Tutor Documentation not yet available
-
Returns: int
startDateTime()
- Returns: Date start date and time of the first session of the class
studentContactHours()
- Returns: BigDecimal Documentation not yet available
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: List of Enrolment list of successful and in transaction enrolments made to this class
suppressAvetmissExport()
- Returns: Boolean true if this class is suppressed from AVETMISS export
tags()
- Returns: List of Tag The list of tags assigned to course class
taxAdjustment()
- Returns: Money
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: List of CourseClassTutor relation TutorRole object of each Tutor assigned to this class
tutorsAbridged()
- Returns: String Documentation not yet available
type()
- Returns: CourseClassType class type like With Sessions, Distant Learning, Hybrid
uniqueCode()
- Returns: String a unique identifier in the form
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
removeDiscount(discount)
Remove given discount from available class discounts list
- discount: Discount Documentation not yet available
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()
- Returns: CourseClass the linked CourseClass
createdOn()
- Returns: Date the date and time this record was created
definedTutorRole()
- Returns: DefinedTutorRole the role with which the Tutor has been attached to the CourseClass
inPublicity()
- Returns: 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: List of TutorAttendance the attendance records related to this tutor and their role in the courseClass
tutor()
- Returns: Tutor the linked Tutor
CourseModule
Object representing relation between course and module.
course()
- Returns: 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: Module linked module record
CustomField
A CustomField value. Only String is currently supported.
createdOn()
- Returns: Date the date and time this record was created
customFieldType()
- Returns: CustomFieldType the type custom field
modifiedOn()
- Returns: Date the date and time this record was modified
value()
- Returns: String the stored value
CustomFieldTrait
CustomFieldType
A definition of a custom field which can be used to extend the Contact object.
createdOn()
- Returns: Date the date and time this record was created
dataType()
Custom fields can have a data type to constrain the data which can be stored. This cannot be changed once the field has been created.
- Returns: DataType
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
entityIdentifier()
The entity (eg. Contact, Enrolment) to which this custom field type is bound.
- Returns: String
isMandatory()
- Returns: 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: String set fieldKey value
modifiedOn()
- Returns: Date the date and time this record was modified
name()
Name of the custom field, mandatory, can be changed
- Returns: 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: 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: 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: 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: 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: 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: 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).
addCourseClass(courseClass)
Add the discount to given class available discounts list
- courseClass: CourseClass Documentation not yet available
addByDefault()
- Returns: 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
availableFor()
- Returns: DiscountAvailabilityType type of discount availability (OFFICE_ONLY / ONLINE_ONLY / ONLINE_AND_OFFICE)
code()
- Returns: String promotion code for this discount
cosAccount()
- Returns: Account cos account for this discount
createdOn()
- Returns: Date the date and time this record was created
discountConcessionTypes()
- Returns: List of DiscountConcessionType list of concession types linked to this discount
discountCourseClasses()
- Returns: 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()
- Returns: List of DiscountMembership list of memberships linked to this discount
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: 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: 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: List of Enrolment a list of enrolments
hideOnWeb()
- Returns: Boolean true if this discount is hidden from promotions list on website
isAvailableOnWeb()
- Returns: Boolean true if discount is available to students enrolling on website
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of the discount. Will be displayed on the website as well.
predictedStudentsPercentage()
- Returns: 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.
- Returns: MoneyRounding rounding mode for this discount
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: 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: 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: 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
isStudentEligibile(contact, newMemberships, courseClass, enrolledClasses, purchaseTotal)
Determines if the given student is eligible for this Discount. Note that this checks just the student attributes
and not whether enrolment, time or other restrictions of the discount might prevent its application.
-
contact: Contact Documentation not yet available
-
newMemberships: List of MembershipProduct Documentation not yet available
-
courseClass: CourseClassTrait Documentation not yet available
-
enrolledClasses: List of CourseClass Documentation not yet available
-
purchaseTotal: Money Documentation not yet available
-
Returns: boolean true if student is eligible
removeCourseClass(courseClass)
Remove the discount from given class available discounts list
- courseClass: CourseClass Documentation not yet available
DiscountConcessionType
Object representing relation between discount and concession type.
concessionType()
- Returns: ConcessionType linked concession type
createdOn()
- Returns: Date the date and time this record was created
discount()
- Returns: 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: ClassCost linked class cost record linked
courseClass()
- Returns: CourseClass linked class
createdOn()
- Returns: Date the date and time this record was created
discount()
- Returns: 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: 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: Discount linked discount
discountMembershipRelationTypes()
- Returns: List of DiscountMembershipRelationType list of contact relation types which can use the discount along with the membership owner
membershipProduct()
- Returns: MembershipProduct linked membership product
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()
- Returns: ContactRelationType linked contact relation type
createdOn()
- Returns: Date the date and time this record was created
discountMembership()
- Returns: DiscountMembership linked DiscountMembership object
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()
- Returns: DocumentVersion latest version of this document
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: Boolean true if the document has been marked as removed
isShared()
- Returns: Boolean true if document can be attached to multiple records at once
link()
- Returns: String Documentation not yet available
linkOnCourse()
Generates URL to access file.
for 'Public' documents it is static address taht can be acceassable in any time.
for non 'Public' documents generate signed link which can be used in next 10 minutes only
- Returns: String Documentation not yet available
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String name of this document
tags()
- Returns: List of Tag The list of tags assigned to document
versions()
- Returns: List of DocumentVersion historical list of versions of this document
webVisibility()
- Returns: 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.
byteSize()
- Returns: Long size of attachment in bytes
createdByName()
- Returns: String onCourse user / portal tutor name, who created this document version
createdByUser()
- Returns: 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
displayableSize()
- Returns: String displayble size of attachment in bytes
document()
- Returns: 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: 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: 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
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
attendancePercent()
Will return null if the class is self paced
- Returns: Integer percent Attendance
attendanceType()
- Returns: CourseClassAttendanceType standard AttendanceTypes used for AVETMISS reporting in Victoria only
attendances()
- Returns: List of Attendance related attendance list
cancelWarningMessage()
- Returns: String class cacellation warning message
classAttendancePercent()
This is the percentage of the class time of the corresponding course class that the student attended during the whole sesssions time
- Returns: Integer attendace per cent as a number from 0 to 100
confirmationStatus()
- Returns: ConfirmationStatus enrolment confirmation email status: not sent, sent or suppressed from sending
courseClass()
- Returns: CourseClass linked class record
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()
- Returns: CreditLevel highest level of prior VET study
creditOfferedValue()
- Returns: String
creditProvider()
- Returns: String
creditProviderType()
- Returns: CreditProviderType
creditTotal()
- Returns: RecognitionOfPriorLearningIndicator
creditType()
- Returns: CreditType details of prior study for which credit/RPL was offered
creditUsedValue()
- Returns: String
cricosConfirmation()
- Returns: String
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
displayStatus()
- Returns: String display status name
documents()
- Returns: List of Document all attached documents
eligibilityExemptionIndicator()
- Returns: Boolean
feeHelpAmount()
- Returns: Money
feeHelpStatus()
- Returns: EnrolmentVETFeeHelpStatus the VET Fee help status for this enrolment
feeStatus()
- Returns: StudentStatusForUnitOfStudy code indicating student status
invoiceLines()
- Returns: List of InvoiceLine invoice lines related to this enrolment
modifiedOn()
- Returns: Date the date and time this record was modified
notes()
- Returns: String concatenated private notes
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: List of Outcome a list of outcomes
quoteLines()
- Returns: List of QuoteLine quote lines related to this class
relatedFundingSource()
Returns the funding source for this enrolment.
- Returns: FundingSource funding source used for this enrolment
source()
Payment can be made in onCourse (office) or from the onCourse website (web).
- Returns: PaymentSource where the payment for this enrolment was made
status()
- Returns: EnrolmentStatus origin of this enrolment: website or onCourse
student()
- Returns: Student the student who enrolled
studentIndustryANZSICCode()
- Returns: Integer ANZSIC standard code for industrial classification
studyReason()
- Returns: StudyReason standard set of values for AVETMISS reporting
suppressAvetmissExport()
- Returns: Boolean true if enrolment is suppressed from appearing in AVETMISS export
surveys()
- Returns: List of Survey all survey results for this enrolment
trainingPlanDeveloped()
- Returns: Boolean
vetClientID()
- Returns: String
vetFeeExemptionType()
- Returns: VETFeeExemptionType value for AVETMISS reporting
vetFeeIndicator()
- Returns: 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: 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
vetPurchasingContractScheduleID()
- Returns: String default value of vet purchasing contact schedule ids of related outcomes
vetTrainingContractID()
- Returns: String
hasAttendance()
- Returns: boolean true if related attendances exist for this enrolment
isCompleted()
- Returns: boolean if enrolment is completed
EnrolmentFieldConfiguration
A field configuration which is used to collect enrolment information
createdOn()
- Returns: Date the date and time this record was created
fieldHeadings()
- Returns: List of FieldHeading a list of all headings attached to this field configuration
fields()
- Returns: List of Field a sorted list of all fields attached to this field configuration
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of this field configuration. Not shown to students anywhere.
EntityRelation
An Entity relation is a link between two records in onCourse. At the moment, Course and Product
relations are the only ones implemented.
Typically you would not use this record directly, but instead use methods on (for exmample) the Course
entity such as relatedCourses()
createdOn()
- Returns: Date the date and time this record was created
fromEntity()
- Returns: String type of entity on the left side of the relation
fromRecordId()
- Returns: Long id of the record on the left side of the relation
modifiedOn()
- Returns: Date the date and time this record was modified
relationType()
- Returns: EntityRelationType type of relation between entities
toEntity()
- Returns: String type of entity on the right side of the relation
toRecordId()
- Returns: Long id of record on the right side of the relation
EntityRelationType
considerHistory()
When considering shopping cart actions, do we need to consider only the current shopping cart
or should be look at all of the user's history of purchases and enrolments?
- Returns: Boolean true if we should 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 a discount to apply to the record on the right side of the relation
entityRelations()
- Returns: List of EntityRelation the list of relationships
fromName()
- Returns: String the label name of 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: String the name of relation type
shoppingCart()
During a checkout process, we might need to apply certain rules.
- Returns: EntityRelationCartAction the cart action which should be applied to the record on the right
toName()
- Returns: String the label name of 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: String body of this export template
createdOn()
- Returns: Date the date and time this record was created
entity()
- Returns: String type of entity this export template can be applied to
keyCode()
- Returns: String unique key code identifier of this export template
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String name of this export template
Faculty
A Faculty is the section of the University offering a course.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allNotes()
- Returns: List of Note all related notes
code()
This code must be unique across all faculties. It cannot contain spaces or hyphens. Because it is used to generate
a URL for the faculty, it should also be selected for readability, websafe characters and SEO.
- Returns: String course code
courses()
- Returns: List of Course courses in which this faculty is assigned
createdOn()
- Returns: Date the date and time this record was created
documents()
- Returns: List of Document all attached documents
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String The name for this faculty.
notes()
- Returns: String concatenated private notes
shortWebDescription()
The faculty short description is displayed on the faculties page as a description of faculty under the title.
If value not set, webDescription will be displayed.
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
tags()
- Returns: List of Tag The list of tags assigned to faculty
webDescription()
The faculty description is displayed on the faculty 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
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: Date the date and time this record was created
description()
- Returns: String a description of the field is typically used for help or hover text in the UI
fieldConfiguration()
Fields are grouped into FieldConfigurations
- Returns: FieldConfiguration FieldConfiguration grouping of this field
fieldHeading()
- Returns: FieldHeading the FieldHeading under which this Field is grouped
mandatory()
- Returns: Boolean true if this field is required to have a non-null value to validate the data collection
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of the field is usually shown as a label in the UI
property()
- Returns: String a string property key which identifies which attribute this fields points to
FieldConfiguration
Data collection rules {@link FieldConfigurationScheme} comprise several FieldConfigurations:
- waiting list
- enrolment
- application
- survey
A {@link FieldConfiguration} can be reused as part of several different schemes
createdOn()
- Returns: Date the date and time this record was created
fieldHeadings()
- Returns: List of FieldHeading a list of all headings attached to this field configuration
fields()
- Returns: List of Field a sorted list of all fields attached to this field configuration
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of this field configuration. Not shown to students anywhere.
schemes()
- Returns: List of FieldConfigurationScheme all the schemes in which this configuration is used
FieldConfigurationScheme
Data collection rules {@link ish.oncourse.cayenne.FieldConfigurationScheme} comprise several FieldConfigurations:
- waiting list
- enrolment
- application
- survey
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()
- Returns: ApplicationFieldConfiguration the field configuration used for applications
courses()
- Returns: List of Course a list of all courses attached. Careful, this could be a long list and isn't paginated.
createdOn()
- Returns: Date the date and time this record was created
enrolFieldConfiguration()
- Returns: EnrolmentFieldConfiguration the field configuration used for enrolments
modifiedOn()
- Returns: 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: String The name of the scheme.
waitingListFieldConfiguration()
- Returns: WaitingListFieldConfiguration the field configuration used for waiting lists
FieldHeading
Data collection rules {@link FieldConfigurationScheme} have zero or more headings under which
the Fields are grouped.
createdOn()
- Returns: 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: String a description: it might be several paragraphs
fieldConfiguration()
FieldHeadings are grouped into FieldConfigurations
- Returns: FieldConfiguration
fields()
- Returns: List of Field a sorted list of the fields under this heading
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of the heading is usually shown in a large font in the UI
FundingSource
active()
- Returns: Boolean true if active
createdOn()
- Returns: Date the date and time this record was created
enrolments()
- Returns: List of Enrolment enrolments created using this funding source
flavour()
- Returns: ExportJurisdiction flavour of this funding source
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String name of this funding source
FundingUpload
createdOn()
- Returns: Date the date and time this record was created
fundingUploadOutcomes()
- Returns: List of FundingUploadOutcome Documentation not yet available
modifiedOn()
- Returns: Date the date and time this record was modified
outcomeCount()
- Returns: Long Documentation not yet available
status()
- Returns: FundingStatus Documentation not yet available
systemUser()
- Returns: SystemUser Documentation not yet available
FundingUploadOutcome
createdOn()
- Returns: Date the date and time this record was created
endDate()
- Returns: LocalDate Documentation not yet available
fundingUpload()
- Returns: FundingUpload Documentation not yet available
modifiedOn()
- Returns: Date the date and time this record was modified
outcome()
- Returns: Outcome Documentation not yet available
startDate()
- Returns: LocalDate Documentation not yet available
GradingItem
The GradingItem is one of the entry of grading type, if the grading entry type is entries.
The GradingItem has next properties:
- name
- a lower bound which allows specifying the appropriate entry
createdOn()
- Returns: Date the date and time this record was created
gradingType()
- Returns: GradingType a grading type which this item has related to
itemName()
- Returns: String name of this grading type
lowerBound()
- Returns: BigDecimal a lower bound of allowed range for the entry
modifiedOn()
- Returns: Date the date and time this record was modified
GradingType
The GradingType allows to describe possible grading types. The description includes into itself:
- name
- min value of allowed range
- max value of allowed range
- entry type: numberic or entries.
If the entry type of grading is entries the grading type will have list of graiding items.
createdOn()
- Returns: Date the date and time this record was created
entryType()
- Returns: GradingEntryType entry type
gradingItems()
- Returns: List of GradingItem list of grading items, which related to this type
maxValue()
- Returns: BigDecimal max allowed value for this grading type
minValue()
- Returns: BigDecimal min allowed value for this grading type
modifiedOn()
- Returns: Date the date and time this record was modified
typeName()
- Returns: String name of this grading type
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: String the unique keycode for this import
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the visible name for this import in the UI
script()
- Returns: 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.
enrolmentsPerStudent()
Builds a list of enrolments from the invoice lines mapped per student.
allCustomFields()
- Returns: Map of String, Object all custom field values
contact()
This is the contact to whom the invoice was issued. They are liable for the debt this invoice represents.
Note that the invoice contact might not be the same contact as the person enrolled in classes linked to
invoice lines.
- Returns: Contact to whom the invoice was issued
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
debtorsAccount()
- Returns: Account
enrolmentsWithStatus(enrolmentStatus)
-
enrolmentStatus: EnrolmentStatus Documentation not yet available
-
Returns: List of Enrolment a list of enrolments with a specified status
invoiceLines()
- Returns: List of InvoiceLine list of invoice line records linked to this invoice
paymentInLines()
Follow this join to find all payments made against this invoice. Remember that onCourse supports multiple payments
against one invoice and also partial payments against an invoice, so you can follow this join to many payments
and some of those payment may also link to other invoices.
- Returns: List of PaymentInLine all payementInLines against this invoice
paymentLines()
Get a list of paymentInLines and paymentOutLines linked to this invoice
- Returns: List of PaymentLineInterface all paymentLines against this invoice
paymentOutLines()
If this invoice was a credit note, then a PaymentOut (or several) might be linked against it.
- Returns: List of PaymentOutLine all payementOutLines against this invoice
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: Money amount due to be paid
createdOn()
- Returns: Date the date and time this record was created
dueDate()
- Returns: LocalDate the date when payment is due
invoice()
- Returns: Invoice invoice record linked to this
modifiedOn()
- Returns: Date the date and time this record was modified
unpaidAmount()
- Returns: def amount that still unpaid for the associate invoice
InvoiceLine
account()
- Returns: Account account linked to this invoice line
courseClass()
- Returns: CourseClass class linked to this invoice line
enrolment()
- Returns: Enrolment enrolment linked to this invoice line
invoiceLineDiscounts()
- Returns: List of InvoiceLineDiscount list of discounts linked to this invoice line
productItems()
- Returns: List of ProductItem product items linked to this invoice line
voucherPaymentIn()
- Returns: 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: Discount linked discount
invoiceLine()
- Returns: InvoiceLine linked invoice line
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: Boolean whether this language is still available for use
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of the language
Membership
A persistent class mapped as "Membership" Cayenne entity.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
confirmationStatus()
- Returns: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
contact()
- Returns: Contact contact who owns this product item
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
expiryDate()
- Returns: Date date when product item (e.g. membership) expires
invoiceLine()
- Returns: InvoiceLine purchase invoice line for this product item
modifiedOn()
- Returns: Date the date and time this record was modified
product()
- Returns: Product product type of this item
status()
- Returns: ProductStatus current status of this product item: active, cancelled, credited, redeemed, expired or delivered
MembershipProduct
A persistent class mapped as "MembershipProduct" Cayenne entity.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
discountMemberships()
- Returns: List of DiscountMembership relational object mapping this object to the Discount used to purchase it
discountsAvailable()
- Returns: List of Discount Discounts available to be used with purchase of this Membership
documents()
- Returns: List of Document all attached documents
notes()
- Returns: String concatenated private notes
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.
contact()
- Returns: Contact the contact to whom the message will be delivered
createdBy()
- Returns: SystemUser the SystemUser who created the message
createdOn()
- Returns: Date the date and time this record was created
creatorKey()
- Returns: String specific key of the message. It can be set in scripts.
destinationAddress()
This field will be null for postal messages, contain a mobile phone number for SMS or email address for email messages
- Returns: String a destination address
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
modifiedOn()
- Returns: Date the date and time this record was modified
numberOfAttempts()
- Returns: Integer the number of times we attempted to deliver the message
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
response()
- Returns: String the response from the mail server or SMS gateway, if any
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
status()
- Returns: MessageStatus the delivery status of this message
timeOfDelivery()
- Returns: Date the time and date on which the message was delivered
type()
- Returns: 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: List of Course a list of courses linked to this module
createdOn()
- Returns: Date the date and time this record was created
creditPoints()
Credit points may be issued for the award of this module.
- Returns: BigDecimal number of credit points as a decimal
creditPointsStatus()
- Returns: ModuleCreditPointsStatusDTO Documentation not yet available
expiryDays()
Some modules are valid only for a certain period of time before they need to be renewed.
- Returns: Integer Number of days after award before expiry
fieldOfEducation()
- Returns: String the NCVER 'Subject field of education' identifer code
isOffered()
- Returns: Boolean true if this module is offered by the college
modifiedOn()
- Returns: Date the date and time this record was modified
nationalCode()
- Returns: String a unique code which could be issued by an educational governing body or created by the college
nominalHours()
A number of hours in which this module is expected to be delivered.
- Returns: BigDecimal nominal hours
relatedCourses()
- Returns: List of Course courses related to this module
specialization()
- Returns: String Documentation not yet available
title()
- Returns: String title
type()
- Returns: ModuleType the educational accreditation type of 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: Date the date and time this record was created
modifiedOn()
- Returns: Date the date and time this record was modified
note()
- Returns: String the text of the note itself
systemUser()
- Returns: 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.
actualEndDate()
- Returns: LocalDate actual end date of outcome: depends on attendances and assessment submissions
actualStartDate()
- Returns: LocalDate actual start date of outcome: depends on attendances and assessment submissions
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: 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
- Returns: DeliveryMode
endDate()
- Returns: def end date and time of the outcome
enrolment()
- Returns: 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.
- Returns: ClassFundingSource funding source
hoursAttended()
- Returns: Integer
markedByTutor()
Tutors can login and mark outcomes for their students in onCourse portal
- Returns: Tutor the ID of a tutor who marked the outcome
markedByTutorDate()
- Returns: Date date and time when outcome was marked by a tutor
modifiedOn()
- Returns: Date the date and time this record was modified
module()
- Returns: 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
outcomeVetFundingSourceStateID()
An AVETMISS reporting requirement for the funding source state ID of an outcome. Returns value from outcome even if it doesn't override
the same related enrolment property.
- Returns: String funding source state ID related to outcome
outcomeVetPurchasingContractID()
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 still return the value from the outcome instead of related enrolment property.
- Returns: String purchasing contract ID related to outcome
printedCertificate()
- Returns: String 'Yes' if outcome linked to at least 1 printed and non-revoked certificate
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
- Returns: PriorLearning PriorLearning ID
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
- Returns: OutcomeStatus outcome status
trainingPlanEndDate()
- Returns: LocalDate end date of training plan
trainingPlanStartDate()
- Returns: LocalDate start date of training plan
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: 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: 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: Money value of original budget
classCost()
- Returns: ClassCost class cost associated to this payline
createdOn()
- Returns: 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: String description
modifiedOn()
- Returns: Date the date and time this record was modified
payslip()
Paylines are grouped together in a payslip
- Returns: Payslip payslip
quantity()
- Returns: BigDecimal
session()
If this payline is related to a specific session, you can retrieve it here.
- Returns: Session session
taxValue()
- Returns: Money the amount of tax against this payline
value()
- Returns: Money the value of this payline
PayRate
A persistent class mapped as "PayRate" Cayenne entity.
createdOn()
- Returns: Date the date and time this record was created
definedTutorRole()
- Returns: DefinedTutorRole the DefinedTutorRole this payrate is applied to
description()
- Returns: String the description of this payrate
editedByUser()
- Returns: SystemUser the last user who has edited this record
modifiedOn()
- Returns: Date the date and time this record was modified
oncostRate()
- Returns: BigDecimal
rate()
- Returns: Money the rate of pay
type()
- Returns: ClassCostRepetitionType repition type of this payrate
validFrom()
- Returns: 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: 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: Site the site which received the payment
amount()
- Returns: 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: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
createdBy()
- Returns: SystemUser user who created this payment
createdOn()
- Returns: Date the date and time this record was created
creditCardClientReference()
- Returns: String the onCourse payment gateway reference. This value will start with "W" for payments taken online.
dateBanked()
- Returns: 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: List of Invoice list of invoices linked to this payment record
modifiedOn()
- Returns: Date the date and time this record was modified
payer()
- Returns: Contact contact who is the payer
paymentInLines()
- Returns: List of PaymentInLine list of payment lines linked to this payment
paymentLines()
- Returns: List of PaymentLineInterface list of payment lines linked to this payment
paymentMethod()
- Returns: 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: 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: PaymentIn payment in which reversed this payment, null if payment is not reversed
source()
- Returns: 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: 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: Account account linked to this PaymentInLine
accountOut()
- Returns: Account
amount()
- Returns: Money amount of money paid against this particular invoice
createdOn()
- Returns: Date the date and time this record was created
invoice()
- Returns: Invoice linked invoice record
modifiedOn()
- Returns: Date the date and time this record was modified
payment()
- Returns: PaymentInterface linked payment record
paymentIn()
- Returns: PaymentIn linked payment record
payslip()
- Returns: 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: 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: 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: Boolean true is this method banks automatically
name()
Each payment method can have an arbitrary name set.
- Returns: String name of this payment method
reconcilable()
If set, this payment will be marked as reconciled immediately upon creation.
- Returns: 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.
- Returns: PaymentType internal payment type
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: 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: Site the site which issued the PaymentOut
amount()
- Returns: Money amount of money paid
chequeBank()
- Returns: String
chequeBranch()
- Returns: String
chequeDrawer()
- Returns: String
chequeNumber()
- Returns: String
confirmationStatus()
- Returns: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
contact()
- Returns: Contact contact who receives the payment
createdBy()
- Returns: SystemUser user who created this payment
createdOn()
- Returns: Date the date and time this record was created
dateBanked()
- Returns: 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: Contact contact who receives the payment
paymentDate()
- Returns: LocalDate
paymentInGatewayReference()
- Returns: String
paymentLines()
- Returns: List of PaymentLineInterface list of linked payment lines
paymentMethod()
- Returns: PaymentMethod the method used to make this payment
paymentOutLines()
- Returns: 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: 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: String payment method name
PaymentOutLine
Payment line links payment with one or multiple invoices which are getting paid for.
accountIn()
- Returns: Account account linked to this invoice line
amount()
- Returns: Money amount of money paid against this particular invoice
createdOn()
- Returns: Date the date and time this record was created
invoice()
- Returns: Invoice linked invoice record
modifiedOn()
- Returns: Date the date and time this record was modified
payment()
- Returns: PaymentInterface linked payment record
paymentOut()
- Returns: 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: 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
payType()
The payslip can be either for an employee (payroll) or contractor (invoice)
- Returns: PayslipPayType a pay type
paylines()
- Returns: List of PayLine all paylines attached to this payslip
privateNotes()
- Returns: String private notes appended to this payslip
status()
- Returns: 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: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
createdOn()
- Returns: Date the date and time this record was created
documents()
- Returns: List of Document all attached documents
modifiedOn()
- Returns: Date the date and time this record was modified
notes()
- Returns: String notes linked to this prior learning record
qualification()
- Returns: Qualification qualification linked to this prior learning record
student()
- Returns: 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: Account income account linked to this product type
isOnSale()
- Returns: Boolean true if this product can be currently purchased
isWebVisible()
- Returns: 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 Documentation not yet available
priceExTax()
- Returns: Money price for this product type excluding tax
productItems()
- Returns: List of ProductItem product items of this product type
relatedCourses()
- Returns: List of Course courses related to this product type
sku()
- Returns: String SKU of this product type
tax()
- Returns: Tax tax linked to this product type
taxAdjustment()
- Returns: 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.
allNotes()
- Returns: List of Note all related notes
confirmationStatus()
- Returns: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
contact()
- Returns: 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: InvoiceLine purchase invoice line for this product item
modifiedOn()
- Returns: Date the date and time this record was modified
notes()
- Returns: String concatenated private notes
product()
- Returns: 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: 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: 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
relatedCourses()
- Returns: List of Course courses related to this qualification
title()
- Returns: String the qualification title
type()
- Returns: QualificationType the type of qualification (eg. accredited course, qualification, skill set)
Quote
Pre-invoice state
allCustomFields()
- Returns: Map of String, Object all custom field values
amountOwing()
- Returns: Money They shouldn't have an owing amount because they can't accept payments.
billToAddress()
- Returns: String billing address for this quote
contact()
This is the contact to whom the quote was issued. They are liable for the debt this quote represents.
Note that the quote contact might not be the same contact as the person enrolled in classes linked to
quote lines.
- Returns: Contact to whom the quote was issued
createdByUser()
The user who created this quote, or null if it was created through a web purchase.
- Returns: SystemUser internal user who created this quote
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
customerReference()
Some arbitrary piece of text such as a PO number or customer reference which is displayed on the printed quote.
- Returns: String
dateDue()
- Returns: LocalDate the date on which this quote amount falls due
description()
The quote description might be shown on printed reports or in emails.
- Returns: String quote description text
invoiceDate()
- Returns: LocalDate date when this quote was created
overdue()
- Returns: Money They shouldn't have an overdue amount
quoteLines()
- Returns: List of QuoteLine list of quote line records linked to this quote
shippingAddress()
- Returns: String shipping address for this invoice
title()
- Returns: String Title of this Quote or null if it is not set
total()
- Returns: Money the total without tax
totalIncTax()
- Returns: Money the total of this quote including tax.
totalTax()
- Returns: Money the total amount of tax included in this quote
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 "[email protected]"
to "[email protected]"
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: String body of this report
createdOn()
- Returns: Date the date and time this record was created
data()
- Returns: byte[] report content as byte array
description()
- Returns: String description of this report
entity()
- Returns: 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: String the keycode of another report which follows this one
isVisible()
- Returns: Boolean true if report is shown in the print dialog selection list (mainly used to hide subreports)
keyCode()
- Returns: String unique key code of this report
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: 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: PageBreakType the type of page breaking for this report
report()
- Returns: String report as string
tags()
- Returns: 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: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
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: List of CourseClass all courseclasses held or to be held in this room
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
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)
documents()
- Returns: List of Document all attached documents
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: String The public name for this room. For example "The great hall" or "Room 143"
notes()
- Returns: String concatenated private notes
seatedCapacity()
- Returns: 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: List of Session all sessions held or to be held in this room
site()
- Returns: Site The site in which this room is located
tags()
- Returns: List of Tag The list of tags assigned to room
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: 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: String name of this script
script()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
activeAttendances()
- Returns: List of Attendance attendance records for all SUCCESS enrolments
attendance()
- Returns: List of Attendance attendance records for all students/tutors enrolled/teaching this session
course()
This is just a convenience to save having to write session.courseClass.course
- Returns: Course the course related to this session
courseClass()
- Returns: CourseClass the class related to this session
createdOn()
- Returns: Date the date and time this record was created
documents()
- Returns: List of Document all attached documents
durationHoursPart()
- Returns: Integer number of round hours of this session duratiom
durationInHours()
- Returns: BigDecimal the duration of this session in hours
durationMinutesPart()
- Returns: Integer number of round minutes of this session duratiom
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: List of Module all modules delivered as part of the training plan
payLines()
- Returns: List of PayLine payroll entries for this session
payableDurationInHours()
- Returns: BigDecimal duration in hours depending on TutorAttendances
privateNotes()
- Returns: String private notes for this session
publicNotes()
- Returns: String public notes (rich text)
room()
- Returns: Room the room in which the session is held
sessionTutors()
- Returns: List of TutorAttendance list of tutors attendances, related to this session
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: List of Tutor all tutors delivering this session
hasModule(module)
Returns 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: 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: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
country()
- Returns: Country the country of this site
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
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: Boolean true if this is an admin centre
isShownOnWeb()
- Returns: 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: 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: 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: String the public name for this site.
notes()
- Returns: String concatenated private notes
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: 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: List of Tag The list of tags assigned to site
waitingLists()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
activeAttendances()
- Returns: List of Attendance attendance records for all SUCCESS enrolments
allCustomFields()
- Returns: Map of String, Object all custom field values
applications()
- Returns: 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: List of Attendance list of all attendance records for this student
certificates()
- Returns: 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: StudentCitizenship the a value represneting the citzenship of this student for AVETMISS reporting
concessions()
- Returns: 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
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
disabilityType()
- Returns: AvetmissStudentDisabilityType a value representing the students disability status for AVETMISS reporting
documents()
- Returns: List of Document all attached documents
englishProficiency()
- Returns: AvetmissStudentEnglishProficiency a value representing the students english proficiency for AVETMISS reporting
enrolments()
- Returns: List of Enrolment list of all enrolments (either successful, failed or cancelled) linked to this student
feeHelpEligible()
- Returns: Boolean true if the student is eligible for fee help
fullName()
- Returns: String full name of the student, including the middle name if any.
highestSchoolLevel()
- Returns: AvetmissStudentSchoolLevel a value representing the students highest level of school completed for AVETMISS reporting
indigenousStatus()
- Returns: AvetmissStudentIndigenousStatus a value representing the students indigenous status for AVETMISS reporting
invoices()
- Returns: List of Invoice list of invoices linked to this student
isOverseasClient()
- Returns: Boolean true if this is an overseas client
isStillAtSchool()
- Returns: Boolean true if this student is still at school
labourForceStatus()
- Returns: AvetmissStudentLabourStatus a value representing the students labour/work status for AVETMISS reporting
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()
- Returns: AvetmissStudentPriorEducation a value representing the students highest level of prior education for AVETMISS reporting
specialNeeds()
- Returns: String special needs of this student
specialNeedsAssistance()
- Returns: Boolean true if the student needs assistance
studentNumber()
- Returns: Long unique student number
tags()
- Returns: List of Tag a list of all the tags for this student
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: 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: 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()
- Returns: ConcessionType linked concession type
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: 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.
allCustomFields()
- Returns: Map of String, Object all custom field values
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: Integer a score from 0-5 for the course and materials
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
enrolment()
- Returns: Enrolment the enrolment for which the student is reporting their results
modifiedOn()
- Returns: 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:
How likely is it that you would recommend our company/product/service to a friend or colleague?
It is designed to measure loyalty.
- Returns: 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: String public facing text which might be displayed on a website
tutorScore()
- Returns: Integer a score from 0-5 for the tutor(s)
venueScore()
- Returns: Integer a score from 0-5 for the room and site
visibility()
Visibility of survey on a website or other location.
- Returns: SurveyVisibility is this comment sharable
SurveyFieldConfiguration
A field configuration which is used to collect survey information
createdOn()
- Returns: Date the date and time this record was created
fieldHeadings()
- Returns: List of FieldHeading a list of all headings attached to this field configuration
fields()
- Returns: List of Field a sorted list of all fields attached to this field configuration
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: 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: Boolean true if the user can log into the CMS
createdOn()
- Returns: Date the date and time this record was created
defaultAdministrationCentre()
- Returns: Site default administration site for this user
email()
- Returns: String the user's email address
firstName()
- Returns: String the user's first name
fullName(firstNameFirst)
-
firstNameFirst: boolean flag which specify that first name is first or not @return full name of system user
-
Returns: String full name of system user
fullName()
Convenience method to return 'firstName lastName'
- Returns: def the user's full name
isActive()
- Returns: Boolean true if the user is allowed to log into onCourse or the CMS
isAdmin()
- Returns: 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: String the user's last name
login()
- Returns: String the login name
modifiedOn()
- Returns: Date the date and time this record was modified
passwordLastChanged()
- Returns: LocalDate date of last password update
passwordUpdateRequired()
- Returns: Boolean true if user needs to update password on next log into onCourse
preferences()
- Returns: 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).
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allChildren()
The resulting map has the tag name as the key and the tag itself as a value.
- Returns: Map of String, Tag map of children tags
childTags()
- Returns: 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
documents()
- Returns: List of Document all attached documents
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: Boolean true if this tag is visible on the website
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of the tag
parentTag()
- Returns: Tag the parent of this tag
pathName()
- Returns: String full path name for this tag starting from root delimited with "-"
root()
- Returns: 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: 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)
isTagAncestor(anotherTag)
Determine whether this object is an ancestor of anotherTag
. Note: ancestor is the opposite of descendant!
-
anotherTag: Tag - the node to search is ancestors on. @return true if this object is an ancestor of
anotherNode
-
Returns: boolean true if this object is an ancestor of
anotherNode
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: Long angel id of the related record
modifiedOn()
- Returns: Date the date and time this record was modified
tag()
- Returns: Tag linked tag
taggableClassesIdentifier()
To be overridden returning a constant from the TaggableClasses enum.
- Returns: TaggableClasses
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: Class extends Taggable class of entity this tag requirement applies to
entityIdentifier()
- Returns: TaggableClasses entity type identifier of entity this tag requirement applies to
isRequired()
- Returns: Boolean true if entity records are required to be tagged with at least one child tag of this tag
manyTermsAllowed()
- Returns: 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: Tag linked tag
Tax
createdOn()
- Returns: Date the date and time this record was created
description()
- Returns: String
isGSTTaxType()
- Returns: Boolean
modifiedOn()
- Returns: Date the date and time this record was modified
payableToAccount()
- Returns: Account
rate()
- Returns: BigDecimal the rate of this tax expressed as a decimal (so a 10% tax would return 0.1)
receivableFromAccount()
- Returns: Account
taxCode()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
contact()
- Returns: Contact the contact object linked to this tutor
courseClassRoles()
- Returns: List of CourseClassTutor list of class roles for this tutor
courseClasses()
- Returns: List of CourseClass all courseClasses linked via CourseClassTutor join
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
dateFinished()
- Returns: Date the termination date for this tutor
dateStarted()
- Returns: Date the date this tutor was first hired
documents()
- Returns: List of Document all attached documents
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
payType()
By default, what type of Payslip to create for tutor pay associated with this tutor.
If NULL, then don't create tutor pay at all.
- Returns: PayslipPayType
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: List of Session all sessions linked to this tutor
tags()
- Returns: List of Tag a list of all the tags for this tutor
tutorAttendances()
This returns a list of every single session attendance this tutor has/had/will has.
- Returns: List of TutorAttendance all tutor attendances linked to this tutor
wwChildrenCheckedOn()
Working with children check was verified
- Returns: Date date of the check
wwChildrenExpiry()
Working with children check was verified
- Returns: Date date that the verification expires and should be checked again
wwChildrenRef()
Working with children check was verified
- Returns: String reference code from the WWC authority
wwChildrenStatus()
Working with children check was verified
- Returns: WorkingWithChildrenStatus current status of the check
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.
actualPayableDurationMinutes()
- Returns: Integer actual payable duration of the attendance
allCustomFields()
- Returns: Map of String, Object all custom field values
approvedByUser()
- Returns: SystemUser user who approved this attendance
attendanceType()
- Returns: AttendanceType type of attendance
courseClassTutor()
- Returns: CourseClassTutor class-tutor relation object
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
endDatetime()
- Returns: Date tutor attendance end date time (roster end date time)
markedByUser()
- Returns: 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: Session session linked to this attendance
startDatetime()
- Returns: Date tutor attendance start date time (roster start date time)
timeZone()
- Returns: TimeZone time zone of session that was got from site of room
UnavailableRule
Rule determining period of time when room or tutor is unavailable.
allDay()
- Returns: Boolean if unavailability spans for the whole day
createdOn()
- Returns: Date the date and time this record was created
endDateTime()
- Returns: 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: 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
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
code()
- Returns: String voucher code user is required to enter to use it
confirmationStatus()
- Returns: ConfirmationStatus confirmation email sending status: not sent, sent or suppressed from sending
contact()
- Returns: Contact contact who owns this product item
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
expiryDate()
- Returns: Date date when product item (e.g. membership) expires
invoiceLine()
- Returns: InvoiceLine purchase invoice line for this product item
modifiedOn()
- Returns: Date the date and time this record was modified
product()
- Returns: Product product type of this item
redeemableBy()
- Returns: 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
status()
- Returns: ProductStatus current status of this product item: active, cancelled, credited, redeemed, expired or delivered
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: List of VoucherPaymentIn all VoucherPaymentInLines joined to this voucher
voucherProduct()
- Returns: VoucherProduct the product which has been sold
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: PaymentIn linked payment record
status()
- Returns: VoucherPaymentStatus status of this voucher payment
voucher()
- Returns: 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.
attachDocument(doc)
- doc: Document the document to be attached to this tutor
allCustomFields()
- Returns: Map of String, Object all custom field values
allNotes()
- Returns: List of Note all related notes
courses()
If getMaxCoursesRedemption() is not null, then this function will return a list of courses which can be redeemed
using this voucher. If getMaxCoursesRedemption() is not null and this list is empty, then the voucher
can be used against any enrollable class.
- Returns: List of Course a list of courses into which the student can enrol
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
documents()
- Returns: List of Document all attached documents
liabilityAccount()
Vouchers are a liability when created. This method can return the account of the general ledger these liabilities are created in
- Returns: 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
notes()
- Returns: String concatenated private notes
underpaymentAccount()
Vouchers which are redeemed for a value different to their sale price need to put the underpayment into an appropriate expense account.
- Returns: Account the account joined to this voucher product
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.
allCustomFields()
- Returns: Map of String, Object all custom field values
course()
- Returns: Course the course the student is waiting for
createdOn()
- Returns: Date the date and time this record was created
customFieldValue(key)
-
key: String custom field unique key @return custom field value @throws MissingPropertyException
-
Returns: Object custom field value @throws MissingPropertyException
modifiedOn()
- Returns: Date the date and time this record was modified
notes()
- Returns: String internal notes created by the staff
sites()
- Returns: List of Site a list of preferred sites (can be empty)
student()
- Returns: Student the student who is waiting
studentCount()
- Returns: 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: Date the date and time this record was created
fieldHeadings()
- Returns: List of FieldHeading a list of all headings attached to this field configuration
fields()
- Returns: List of Field a sorted list of all fields attached to this field configuration
modifiedOn()
- Returns: Date the date and time this record was modified
name()
- Returns: String the name of this field configuration. Not shown to students anywhere.
Updated 21 days ago