UCLA Production Calendar Jobs API

One read operation returning the Registrar's mainframe batch schedule for a given run date and a forward window in weeks. The only UCLA contract that describes campus operations rather than campus data, and the only public evidence that UCLA's student information system still has a mainframe behind it. Classified privileged in agentic-access for that reason.

OpenAPI Specification

ucla-sis-production-calendar-jobs-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: v1
  title: API version v1
host: api.ucla.edu
basePath: /sis
schemes:
- https
paths:
  /productioncalendarjobs/mainframe/{JobRunDate}/{NumberOfWeeksFromJobRunDate}/v1:
    get:
      tags:
      - Production Calendar Jobs
      summary: Gets the Production Calendar Mainframe jobs
      operationId: Mainframe_GetMainframeJobs
      consumes: []
      produces:
      - application/json
      - text/json
      parameters:
      - name: JobRunDate
        in: path
        description: The Year-Month-Day to start the job search for
        required: true
        type: string
      - name: NumberOfWeeksFromJobRunDate
        in: path
        description: The number of weeks from the start date to get jobs for
        required: true
        type: string
      - name: TermCode
        in: query
        description: 21W
        required: false
        type: string
      - name: JobStartDate
        in: query
        description: '2020-08-24'
        required: false
        type: string
      - name: PageNumber
        in: query
        description: '1'
        required: false
        type: integer
        format: int32
      - name: PageSize
        in: query
        description: Default 10.<br />Pass 0 to get all records.
        required: false
        type: integer
        format: int32
      responses:
        '200':
          description: Record(s) found
          schema:
            $ref: '#/definitions/MainframeResponse'
        ' 200':
          description: Record(s) found
        ' 400':
          description: Bad Request
        ' 401':
          description: Unauthorized
        ' 403':
          description: Forbidden
        ' 404':
          description: No Record Found
        ' 500':
          description: Server Error
      deprecated: false
definitions:
  Object:
    type: object
    properties: {}
  ClassSectionsResponse:
    type: object
    properties:
      classSection:
        $ref: '#/definitions/ClassSections'
  ClassSections:
    type: object
    properties:
      dataDisclosureWarning:
        type: string
      offeredTermCode:
        type: string
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      classNumber:
        type: string
      classSectionSessionDisplayFormat:
        type: string
      classSectionCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionNumber'
  ClassSectionNumber:
    type: object
    properties:
      classSectionNumber:
        type: string
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  LinkModel:
    type: object
    properties:
      href:
        type: string
      rel:
        type: string
      method:
        type: string
  ClassSectionDetailResponse:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      classSectionDetail:
        $ref: '#/definitions/ClassSectionDetail'
  ClassSectionDetail:
    type: object
    properties:
      dataDisclosureWarning:
        type: string
      offeredTermCode:
        type: string
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      classSectionNumber:
        type: string
      classSectionNumberDisplay:
        type: string
      classSectionID:
        type: string
      classSectionSessionDisplayFormat:
        type: string
      concurrentEnrollmentFlag:
        type: string
      classSectionActivityCode:
        type: string
      classSectionActivityEnrollmentSequenceNumber:
        type: string
      classSectionPrimaryActivityFlag:
        type: string
      classSectionGradeTypeCode:
        type: string
      classSectionUnitTypeCode:
        type: string
      classSectionUnitCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionUnit'
      classSectionNotesCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionNotes'
      classSectionOnlineFlag:
        type: string
      classEnrollmentRestrictionTextCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionRestrictionText'
      classSectionEnrollmentStatusCode:
        type: string
      classSectionEnrollmentCapacityNumber:
        type: string
      classSectionEnrollmentTotal:
        type: string
      classSectionUNEXEnrollmentTotal:
        type: string
      classSectionWaitlistCapacityNumber:
        type: string
      classSectionWaitlistTotal:
        type: string
      classSectionSchedulePrintCode:
        type: string
      instructorUCLAIDCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionInstructor'
      classSectionCombinedMeetingId:
        type: string
      classSectionMeetingCollection:
        type: array
        items:
          $ref: '#/definitions/ClassSectionMeetingLocation'
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassSectionUnit:
    type: object
    properties:
      classSectionUnit:
        type: string
  ClassSectionNotes:
    type: object
    properties:
      classSectionNotes:
        type: string
  ClassSectionRestrictionText:
    type: object
    properties:
      classEnrollmentRestrictionText:
        type: string
  ClassSectionInstructor:
    type: object
    properties:
      uclaid:
        type: string
      links:
        $ref: '#/definitions/LinkModel'
  ClassSectionMeetingLocation:
    type: object
    properties:
      classSectionMeetingDaysofWeekCode:
        type: string
      classSectionMeetingStartTime:
        type: string
      classSectionMeetingStopTime:
        type: string
      classSectionBuildingCode:
        type: string
      classSectionBuildingRoomCode:
        type: string
  ClassesCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      classes:
        type: array
        items:
          $ref: '#/definitions/Classes'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Classes:
    type: object
    properties:
      dataDisclosureWarning:
        type: string
      offeredTermCode:
        type: string
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseCatalogNumberDisplay:
        type: string
      courseStartTermCode:
        type: string
      classSessionDisplayFormat:
        type: string
      termSessionGroupCollection:
        type: array
        items:
          $ref: '#/definitions/SessionGroup'
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  SessionGroup:
    type: object
    properties:
      termsessionGroupCode:
        type: string
      termsessionInstructionWeeks:
        type: string
      classCollection:
        type: array
        items:
          $ref: '#/definitions/ClassNumber'
  ClassNumber:
    type: object
    properties:
      classNumber:
        type: string
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassFinalExamResponse:
    type: object
    properties:
      classFinalExam:
        $ref: '#/definitions/ClassFinalExam'
  ClassFinalExam:
    type: object
    properties:
      dataDisclosureWarning:
        type: string
      offeredTermCode:
        type: string
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      classNumber:
        type: string
      classSessionDisplayFormat:
        type: string
      finalExamCode:
        type: string
      finalExamDate:
        type: string
      finalExamDayOfWeek:
        type: string
      finalExamTimes:
        type: string
      finalExamLocation:
        type: string
  ClassDetailResponse:
    type: object
    properties:
      classDetail:
        $ref: '#/definitions/ClassDetail'
  ClassDetail:
    type: object
    properties:
      dataDisclosureWarning:
        type: string
      offeredTermCode:
        type: string
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      classNumber:
        type: string
      classNumberDisplay:
        type: string
      classDescription:
        type: string
      classNotesCollection:
        type: array
        items:
          $ref: '#/definitions/ClassNotes'
      classTitle:
        type: string
      classSessionCode:
        type: string
      classSessionDisplayFormat:
        type: string
      classSchedulePrintCode:
        type: string
      classStartDate:
        type: string
      classEndDate:
        type: string
      classWebsite:
        type: string
      classTextbook:
        type: string
      classMultipleTermGradingCode:
        type: string
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassNotes:
    type: object
    properties:
      classNotes:
        type: string
  CourseCollection:
    type: object
    properties:
      courses:
        type: array
        items:
          $ref: '#/definitions/Course'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Course:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumberCollection:
        type: array
        items:
          $ref: '#/definitions/CourseCatalogNumber'
  CourseCatalogNumber:
    type: object
    properties:
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
  CourseDiversityResponse:
    type: object
    properties:
      courseDiversity:
        $ref: '#/definitions/CourseDiversity'
  CourseDiversity:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      courseDiversityCollection:
        type: array
        items:
          $ref: '#/definitions/Diversity'
  Diversity:
    type: object
    properties:
      courseDiversityCollegeCode:
        type: string
      courseDiversityStartTermCode:
        type: string
      courseDiversityLastTermCode:
        type: string
  CourseGEFoundationResponse:
    type: object
    properties:
      courseGEFoundations:
        $ref: '#/definitions/CourseGEFoundation'
  CourseGEFoundation:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      geFoundationCollection:
        type: array
        items:
          $ref: '#/definitions/GE'
      geAttributeCollection:
        type: array
        items:
          $ref: '#/definitions/CourseGEAttribute'
  GE:
    type: object
    properties:
      geFoundationCode:
        type: string
      geFoundationStartTermCode:
        type: string
      geFoundationCategoryCode:
        type: string
      geFoundationCategoryStartTermCode:
        type: string
      courseFoundationCategoryStartTermCode:
        type: string
      courseFoundationCategoryLastTermCode:
        type: string
  CourseGEAttribute:
    type: object
    properties:
      geAttributeCode:
        type: string
      geAttributeStartTermCode:
        type: string
      courseAttributeStartTermCode:
        type: string
      courseAttributeLastTermCode:
        type: string
  CourseDetailResponse:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      courseDetail:
        $ref: '#/definitions/CourseDetail'
  CourseDetail:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseCatalogNumberDisplay:
        type: string
      courseStartTermCode:
        type: string
      courseLastTermCode:
        type: string
      courseCareerLevelCode:
        type: string
      courseLevelName:
        type: string
      courseShortTitle:
        type: string
      courseLongTitle:
        type: string
      courseSubtitleCollection:
        type: array
        items:
          $ref: '#/definitions/CourseSubtitle'
      courseDescription:
        type: string
      courseMaterialsFeeAmount:
        type: string
      individualStudiesFlag:
        type: string
      fiatLuxCourseFlag:
        type: string
      writingIICourseFlag:
        type: string
      impactedCourseFlag:
        type: string
      duplicateClassAllowedFlag:
        type: string
      equivalentCourseCollection:
        type: array
        items:
          $ref: '#/definitions/EquivalentCourse'
      multipleListedCourseCollection:
        type: array
        items:
          $ref: '#/definitions/MultipleListedCourse'
      concurrentCourseCollection:
        type: array
        items:
          $ref: '#/definitions/ConcurrentCourse'
      multiTermCourseSequenceNumber:
        type: string
      multiTermCourseCollection:
        type: array
        items:
          $ref: '#/definitions/MultiTerm'
      courseActivityCollection:
        type: array
        items:
          $ref: '#/definitions/CourseActivity'
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  CourseSubtitle:
    type: object
    properties:
      courseShortSubtitle:
        type: string
      courseLongSubtitle:
        type: string
  EquivalentCourse:
    type: object
    properties:
      equivalentSubjectAreaCode:
        type: string
      equivalentCourseCatalogNumber:
        type: string
      equivalentCourseStartTermCode:
        type: string
  MultipleListedCourse:
    type: object
    properties:
      multipleListedSubjectAreaCode:
        type: string
      multipleListedCourseCatalogNumber:
        type: string
      multipleListedCourseStartTermCode:
        type: string
  ConcurrentCourse:
    type: object
    properties:
      concurrentSubjectAreaCode:
        type: string
      concurrentCourseCatalogNumber:
        type: string
      concurrentCourseStartTermCode:
        type: string
  MultiTerm:
    type: object
    properties:
      multiTermSubjectAreaCode:
        type: string
      multiTermCourseCatalogNumber:
        type: string
      multiTermCourseStartTermCode:
        type: string
      multiTermCourseTotalNumber:
        type: string
  CourseActivity:
    type: object
    properties:
      courseActivityTypeCode:
        type: string
      coursePrimaryActivityFlag:
        type: string
      courseGradeTypeCode:
        type: string
      courseUnitTypeCode:
        type: string
      courseUnitCollection:
        type: array
        items:
          $ref: '#/definitions/CourseUnit'
  CourseUnit:
    type: object
    properties:
      courseUnit:
        type: string
  CourseRequisiteResponse:
    type: object
    properties:
      courseRequisite:
        $ref: '#/definitions/CourseRequisite'
  CourseRequisite:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      requisiteCollection:
        type: array
        items:
          $ref: '#/definitions/Requisite'
  Requisite:
    type: object
    properties:
      requisiteSequenceNumber:
        type: string
      requisiteCourseName:
        type: string
      requisiteCourseStartTerm:
        type: string
      requisiteCourseMinimumUnits:
        type: string
      requisiteCourseMinimumLetterGrade:
        type: string
      requisiteLogicalConnectorCode:
        type: string
      requisiteConnectorLeftParenthesis1:
        type: string
      requisiteConnectorLeftParenthesis2:
        type: string
      requisiteConnectorLeftParenthesis3:
        type: string
      requisiteConnectorRightParenthesis1:
        type: string
      requisiteConnectorRightParenthesis2:
        type: string
      requisiteConnectorRightParenthesis3:
        type: string
      coRequisiteFlag:
        type: string
      preRequisiteFlag:
        type: string
      requisiteSeverityText:
        type: string
  AcademicActionCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      academicActions:
        type: array
        items:
          $ref: '#/definitions/AcademicAction'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  AcademicAction:
    type: object
    properties:
      academicActionCode:
        type: string
      academicActionDescription:
        type: string
  ActivityTypeCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      activityTypes:
        type: array
        items:
          $ref: '#/definitions/ActivityType'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ActivityType:
    type: object
    properties:
      activityTypeCode:
        type: string
      activityTypeName:
        type: string
  AffiliationsTermSessionCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      affiliationsTermSessions:
        type: array
        items:
          $ref: '#/definitions/AffiliationsTermSession'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  AffiliationsTermSession:
    type: object
    properties:
      affiliationName:
        type: string
      termSessionCode:
        type: string
  BuildingCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      buildings:
        type: array
        items:
          $ref: '#/definitions/Building'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Building:
    type: object
    properties:
      buildingCode:
        type: string
      buildingName:
        type: string
  CareerCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      careers:
        type: array
        items:
          $ref: '#/definitions/Career'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Career:
    type: object
    properties:
      careerCode:
        type: string
      careerName:
        type: string
  CityCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      cities:
        type: array
        items:
          $ref: '#/definitions/City'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  City:
    type: object
    properties:
      universityLocationCode:
        type: string
      cityName:
        type: string
      cityStartTermCode:
        type: string
      cityStartDate:
        type: string
      cityLastTermCode:
        type: string
      cityLastDate:
        type: string
      universityLocationStartTermCode:
        type: string
  ClassLevelCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      classLevels:
        type: array
        items:
          $ref: '#/definitions/ClassLevel'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassLevel:
    type: object
    properties:
      classLevelCode:
        type: string
      classLevelName:
        type: string
  ClassNumbersCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      classNumbers:
        type: array
        items:
          $ref: '#/definitions/ClassNumbers'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassNumbers:
    type: object
    properties:
      classNumber:
        type: string
      displayClassNumber:
        type: string
  EnrollmentStatusCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      enrollmentStatuses:
        type: array
        items:
          $ref: '#/definitions/EnrollmentStatus'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  EnrollmentStatus:
    type: object
    properties:
      classSectionEnrollmentStatusCode:
        type: string
      classSectionEnrollmentStatusDescription:
        type: string
  ClassSectionNumbersCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      classSectionNumbers:
        type: array
        items:
          $ref: '#/definitions/ClassSectionNumbers'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  ClassSectionNumbers:
    type: object
    properties:
      classSectionNumber:
        type: string
      displayClassSectionNumber:
        type: string
  CollegeCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      colleges:
        type: array
        items:
          $ref: '#/definitions/College'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  College:
    type: object
    properties:
      collegeCode:
        type: string
      collegeName:
        type: string
      collegeStartTermCode:
        type: string
      collegeLastTermCode:
        type: string
      cssCollegeCode:
        type: string
  CountryCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      countries:
        type: array
        items:
          $ref: '#/definitions/Country'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Country:
    type: object
    properties:
      universityLocationCode:
        type: string
      countryCode:
        type: string
      isoCountryCode:
        type: string
      fipsCountryName:
        type: string
      uspsCountryName:
        type: string
      countryStartTermCode:
        type: string
      countryStartDate:
        type: string
      countryLastTermCode:
        type: string
      countryLastDate:
        type: string
      universityLocationStartTermCode:
        type: string
  CourseCatalogNumbersCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      courseCatalogNumbers:
        type: array
        items:
          $ref: '#/definitions/CourseCatalogNumbers'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  CourseCatalogNumbers:
    type: object
    properties:
      courseCatalogNumber:
        type: string
      displayCourseCatalogNumber:
        type: string
  CourseClassIdentifiersCollection:
    type: object
    properties:
      courseClassIdentifiers:
        type: array
        items:
          $ref: '#/definitions/CourseClassIdentifiers'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  CourseClassIdentifiers:
    type: object
    properties:
      offeredTermCode:
        type: string
      classSectionID:
        type: string
      courseClassIdentifierCollection:
        type: array
        items:
          $ref: '#/definitions/CourseClassIdentifier'
  CourseClassIdentifier:
    type: object
    properties:
      subjectAreaCode:
        type: string
      courseCatalogNumber:
        type: string
      courseStartTermCode:
        type: string
      classNumber:
        type: string
      classSectionNumber:
        type: string
  DaysofWeekCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      daysofWeek:
        type: array
        items:
          $ref: '#/definitions/DaysofWeek'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  DaysofWeek:
    type: object
    properties:
      daysofWeekCode:
        type: string
      daysofWeekDescription:
        type: string
  DegreeTypeCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      degreeTypes:
        type: array
        items:
          $ref: '#/definitions/DegreeType'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  DegreeType:
    type: object
    properties:
      degreeCode:
        type: string
      degreeName:
        type: string
      degreeTypeCode:
        type: string
      degreeTypeName:
        type: string
      degreeStartTermCode:
        type: string
      degreeLastTermCode:
        type: string
      cssDegreeCode:
        type: string
  DepartmentCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      departments:
        type: array
        items:
          $ref: '#/definitions/Department'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  Department:
    type: object
    properties:
      departmentCode:
        type: string
      departmentName:
        type: string
      departmentStartTermCode:
        type: string
      departmentLastTermCode:
        type: string
      customizedDepartmentFlag:
        type: string
      departmentTypeName:
        type: string
  DivisionCollegeCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      divisionColleges:
        type: array
        items:
          $ref: '#/definitions/DivisionCollege'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  DivisionCollege:
    type: object
    properties:
      divisionCode:
        type: string
      divisionStartTermCode:
        type: string
      collegeCode:
        type: string
      collegeStartTermCode:
        type: string
      collegeDivisionStartTermCode:
        type: string
      collegeDivisionLastTermCode:
        type: string
      programOfStudyCollection:
        type: array
        items:
          $ref: '#/definitions/ProgramOfStudy'
  ProgramOfStudy:
    type: object
    properties:
      majorCode:
        type: string
      degreeCode:
        type: string
      programStartTermCode:
        type: string
      programLastTermCode:
        type: string
  DivisionDepartmentCollection:
    type: object
    properties:
      lastCachedAt:
        format: date-time
        type: string
      divisionDepartments:
        type: array
        items:
          $ref: '#/definitions/DivisionDepartment'
      totalRecords:
        format: int32
        type: integer
      totalPages:
        format: int32
        type: integer
      pageNumber:
        format: int32
        type: integer
      pageSize:
        format: int32
        type: integer
      links:
        type: array
        items:
          $ref: '#/definitions/LinkModel'
  DivisionDepartment:
    type: object
    properties:
      divisionCode:
        type: string
      divisionStartTermCode:
        type: string
      departmentCode:
        type: string
      departmentStartTermCode:
        type: string
      divisionDepartmentStartTermCode:
        type: string
      divisionDepartmentLastTermCode:
        type: string
      subjectAreaCollection:
        type: array
        items:
          $ref: '#/definitions/DivisionDepartmentSubjectArea'
      majorCollection:
        type: a

# --- truncated at 32 KB (337 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ucla/refs/heads/main/openapi/ucla-sis-production-calendar-jobs-openapi.yml