Class Schedule Import Type

As of July 12, 2021, this "Learn Veracross" site has been deprecated.  It will remain live through December 2022, but will no longer be updated. All knowledge content has moved to the new Veracross Community.  Please update your bookmarks.

Here is the new version of this article in the Veracross Community.


The Veracross Data Importer allows schools to import class schedule records to the system. This article covers the fields needed in the CSV import. This import type only inserts new class schedules; it does not update existing ones. Classes and all relevant scheduling options (e.g., Blocks, Periods or Rooms) must already exist in the system in order for the class schedules to import properly.

Preparing the Data for Import

Prepare a comma-separated value (CSV) file containing the data for the fields listed below. This CSV file must contain a column for each field listed below and they must be in that same order. Even if no content is populated in the non-required columns, a column must nonetheless exist as a placeholder in order for the Data Importer to properly read the file. Upload the CSV using the Data Importer.

Fields on the Import Type Template

For a Class Schedule import, either the internal_class_id field (approach 1) is required; or the class_id AND class_school_year fields are both required instead (approach 2). Those are noted below using the superscript ¹ and ² respectively.

Besides that, other fields are required depending on the circumstance.

  • Always required: Asterisk * is used to denote below.
  • Required Conditionally: Degree symbol º is used. (If Block is being used, then Day must be filled. This is a matrix; this typically means that block scheduled classes will have N-number of rows per class in your import, where N = the number of times that block meets in the rotation.)

Use the following queries to locate the IDs in question.

internal_class_id¹ID value. Pull the “Internal Class ID” field into a Find Classes query to display this number. If this field is populated, the class_id and class_school_year fields are not required. Click here to review internal class ID values.
class_id²Text field. Run a Find Classes query to locate this. If the internal_class_id is not present in the import, this field, as well as the class_school_year field, are required.
class_school_year²If the internal_class_id is not present in this import, this field (as well as the class_id field) are required. Preferred format: YYYY (e.g., 2018).
grading_period*If the class is scheduled for the whole year, use “50”. That is the value that represents “ALL” or whole-year schedules. But, if the class meets for 1 or 2 terms, and not the whole year, choose one or more different values, with each grading period being on its own line. Should only be a Major or Minor grading period; midperiods must not be chosen. Must be the Grading Period ID (integer value) or the Grading Period abbreviation. Click here to review Grading Period ID values.
day ºThe ID of the rotation Day. Integer value. Click here to review Rotation Day ID values. If the class is not fully scheduled to follow a rotation, this field should be set as 0; class schedules are used to help define not only the Day and Block/Time, but also to define when the class is Graded: and not every class is scheduled; it might only be graded for particular terms.
block_idThe ID of the Block (period). Integer value. Click here to review Block ID values. Note that scheduling using blocks requires one row per Day that block meets in the rotation. Typically most blocks meet multiple times in a rotation; so this means that typically, most Classes will have multiple Rows in a schedules import.

Note about Day and Block: Block and Day work together but are in fact optional:

  1. It’s possible that some classes might not get “scheduled” but do need to be graded: in those cases, fill grading period (see above) but leave Day and Block blank.
  2. It’s possible that some classes might get scheduled for specific Day(s) but not for a time, e.g. “they meet all day on tuesdays.” In that case, block may be left blank and Day filled.
  3. But typically, and for most classes, Day x Block must both be filled since classes typically meet for a particular meeting time at particular days
start_timeThe time when the class starts. Format: 24:00. Example; enter “13:35” if the class start time is 1:35 pm. This is an “override” time, and it’s optional: This is only required if there is no block being used and/or if you wish to adjust the normal time of the block
end_timeThe time when the class ends. Format: 24:00. Example; enter “14:10” if the class end time is 2:10 pm. This is an “override” time, and it’s optional: This is only required if there is no block being used and/or if you wish to adjust the normal time of the block
roomThe room where the class meets for this unique meeting time. This is optional, and it is an “override” room value: it’s only required if the class happens to be meeting in a different room than the “usual” room set on the Class. Use the internal resource ID. Available options are: 1 = Classroom, 2 = Auditorium, 3 = Gym, 4 = Other Room, 5 = Computer Lab, or 10 = Athletic Field