Following XML interfaces reflect the UniTime data model. Data may be imported once (for each term) and/or periodically updated by a nightly batch process. It is also possible to maintain most of these data directly within UniTime, see Administration > Academic Sessions menu. Usually, records that have external ids (attribute externalId) are expected to be maintained in an external system, records without external ids are fully editable in UniTime.
Use Data Exchange page (menu Administration > Academic Sessions > Data Exchange) to import or export an XML. Alternatively, the Data Exchange API can be used to import or export an XML.
Academic session setup: The XML import can be used to import/update the academic session, timetabling managers, departments, subject areas, solver groups, date patterns, time patterns, examination periods, academic areas, academic classifications, majors, minors, student groups, and/or student accommodations.
incremental="true" on the section for incremental update (inserting/updating only items listed in the file).Buildings and rooms: Please note that the Buildings and Rooms are not updated directly with the XML import, but the Update Data needs to be used to update the buildings and rooms.
Staff: Please note that this import does NOT update the Instructors directly. The imported records will show in the People Lookup dialog and can be pull into Instructors using the Manage Instructor List page.
Course catalog: Please note that course catalog information does not get displayed directly in UniTime. The data can be used to create new courses during the Roll Forward, Add New Course Offerings section.
The following APIs are still working, but are marked as deprecated (to be removed in future UniTime releases). If possible, please use the Academic session setup XML import instead.
Course timetabling can be either based on curriculum information, last-like term student course demands, student course requests, or the actual student class enrollments. Examination timetabling requires student class enrollments. If both course timetabling and student scheduling is done in UniTime, at the very least, students need to be loaded from some external system.
Students & Student course requests: Use incremental="true" on the root element to enable incremental mode. In this mode, only the students present in the file are created or updated.
Curricula: Use incremental="true" on the root element to enable incremental mode. In this mode, only the curricula present in the file are created or updated.
Course offerings: Use incremental="true" on the root element to enable incremental mode. In this mode, only the offerings present in the file are created or updated.
Preferences: Use incremental="true" on the root element to enable incremental mode. In this mode, only the departments, instructors, subparts, and/or classes present in the file have their preferences updated.
Reservations: Use incremental="true" on the root element to enable incremental mode. In this mode, only the offerings which do have reservations present in the file are updated (have their reservations reset to what is present in the XML file).
Permissions: Use incremental="true" on the root element to enable incremental mode. In this mode, only listed roles will be created/updated.
Menu: Use this for custom menus.
unitime.menu.custom property needs to point to the file.Besides the above XML interfaces, there are additional RESTful interfaces. See UniTime APIs for more details. Also, the Scripts can be used to create additional custom imports and exports.
| Back to UniTime Online Documentation | © UniTime 2026 | Content available under GNU Free Documentation License 1.3 |