Post Attendance

PostAttendanceTransactionRequest

PostAttendanceInMsg

Name Required Description
StudentId Yes Student Identifier
EnrolledProgramId No Enrolled Program Identifier. If not provided, API logic assumes “current enrollment”.
CourseSectionId Yes Course Section Identifier
AttendanceDate Yes Attendance Date
AttendanceStartTime No Attendance Start Time
MinutesAttended Conditional Must be >= 0 if provided. Required if a ScheduledMeetingId is not provided and a row does not already exist for the date attendance is being posted for.
MinutesAbsent Conditional Must be >= 0 if provided. Required if a ScheduledMeetingId is not provided and a row does not already exist for the date attendance is being posted for.
IsExcused No True/False. Applicable only if the value populated in MinutesAbsent is > 0.
ScheduledMeetingId No Scheduled Meeting Identifier
Comment No Comment
IsDependentCourse Yes True/False. Populate with true if the detailed attendance row is for the dependent course. If populated with true, a row must exist in AdEnrollSched for the student where AdDependentAdClassSchedId = Course Section Id provided in-message.
UpdateExistingAttendance Yes True/False. Default: False if not specified. 
  • If true, an existing row in AdAttend is updated with the data in the message if a row already exists in AdAttend for the student, course section, date and start time provided in the message.
  • If false and a row already exists that matches the student, course section, date and start time provided in the message, the attendance record is not posted and an error is generated.
SkipSemanticValidation No The default is false. If set to true, the process will skip semantic validation.
PostAttForScheduledPeriods No True/False. Default: False.

This flag has is used when posting the attendance for a hybrid class section, i.e., a class section that is configured as various days/times and has scheduled periods.

  1. If attendance needs to be posted on the fly, set this flag to false and API logic will not find the ScheduledPeriodId but post the attendance on the fly for the StudentId + Day/Time + ClassSectionId provided in-message.

  2. If attendance needs to be posted for the scheduled period, set this flag to true and API logic will find the unique scheduledPeriodId based on StudentId + ClassSectionId + Attendance date provided in-message and post the attendance. 

  3. For updating the attendance for the hybrid configured class section, same logic as posting attendance applies.

    1. If UpdateExistingAttendance and PostAttForScheduledPeriods flags are set to true, API logic finds if attendance has already been posted for the scheduled period. Schedule period is found based on StudentId + ClassSectionId + Attendance Date combination.
      If a record is found, attendance ise updated. If no records are found, an exception occurs that attendance can’t be updated because no attendance record is found.

    2. If UpdateExistingAttendance is set true and PostAttForScheduledPeriods is set to false , API logic finds if attendance has already been posted on the fly for the same day/time + StudentId + ClassSectionId passed in-message.
      If a record is found, it is updated. If no records are found, a new record is created.

Note: If the course section has schedule periods only (not configured as various days/time) and the flag is set to false in the message, an exception occurs. With this configuration, the in-message value of this flag should be true.

If the course section is configured as various days/times with no scheduled periods and the flag is set to true in the message, an exception occurs. With this configuration, the in-message value of this flag should be false.

IsMakeup No True/False. Set this flag to true to post makeup hours. The default value is false. A valid value greater than zero must be provided for MinutesAttended and all other required fields.
MakeUpMaxType No Makeup Maximum Type. Valid values:
  • H (hours) - The maximum number of makeup hours permitted.

  • P (percentage) - The maximum percentage of class time that may be counted toward makeup hours.

When H is selected, the value in the MakeupMaxNum field represents makeup hours. When P is selected, the value in the MakeupMaxNum field represents a percentage of class time.

This field is available only if "Allow Makeup Hours?" is configured for the campus (Setup > Campus Location > Campus Academic Records > Others > Attendance Configuration).

MakeupMaxNum No Makeup Maximum Number. The value in this field is represents hours or percentage depending on the selection (H or P) in the MakeUpMaxType field.

This field is available only if "Allow Makeup Hours?" is configured for the campus (Setup > Campus Location > Campus Academic Records > Others > Attendance Configuration).

PostOutsideOfScheduledPeriods No True/False. Set this flag to true to bypass any validations that are performed while posting attendance for scheduled periods. The class section must be configured with scheduled periods and a valid ScheduledMeetingId must be passed.

If this flag is true, the StartTime for the attendance posted will be the start time of the corresponding AdClassAttend record (retrieved based on ScheduledMeetingId provided).

PostAttendanceTransactionResponse

PostAttendanceOutMsg

Name Description
Status OK or ERROR
Result Details of Error Condition