All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.section-registrations.v16.1.0.section-registrations.json Maven / Gradle / Ivy

{
  "title" : "Section Registrations",
  "description" : "The records of a student's interaction with a course section for a specific registration.",
  "version" : "16.1.0",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of the section registration.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$",
      "minLength" : 1
    },
    "registrant" : {
      "title" : "Registrant",
      "description" : "A person registered for a section.",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Registrant.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/persons/{id}",
        "targetSchema" : {
          "$ref" : "persons.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "section" : {
      "title" : "Section",
      "description" : "An instance of a course for which a person is registering.",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Section.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/sections/{id}",
        "targetSchema" : {
          "$ref" : "sections.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "academicLevel" : {
      "title" : "Academic Level",
      "description" : "The academic level at which the student is registering for the course (The level specified should match one of the levels allowed for the section).",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Academic Level.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/academic-levels/{id}",
        "targetSchema" : {
          "$ref" : "academic-levels.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "originallyRegisteredOn" : {
      "title" : "Originally Registered On",
      "description" : "The date on which the student originally registered for the section.",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    },
    "status" : {
      "title" : "Status",
      "description" : "The status of this person's registration in the section.",
      "oneOf" : [ {
        "title" : "Not registered",
        "description" : "A person is not registered in the section.",
        "type" : "object",
        "properties" : {
          "registrationStatus" : {
            "title" : "Registration Status",
            "description" : "The status of this person's registration in the section.",
            "enum" : [ "notRegistered" ],
            "type" : "string"
          },
          "sectionRegistrationStatusReason" : {
            "title" : "Section Registration Status Reason",
            "description" : "Status reason for non-registration.",
            "enum" : [ "dropped", "withdrawn", "canceled" ],
            "type" : "string"
          },
          "detail" : {
            "title" : "Detail",
            "description" : "Additional details about the status.",
            "oneOf" : [ {
              "type" : "object",
              "properties" : {
                "id" : {
                  "title" : "ID",
                  "description" : "The global identifier for the Detail.",
                  "type" : "string",
                  "format" : "guid",
                  "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                }
              },
              "links" : [ {
                "rel" : "self",
                "href" : "/section-registration-statuses/{id}",
                "targetSchema" : {
                  "$ref" : "section-registration-statuses.json#"
                }
              } ],
              "additionalProperties" : false,
              "required" : [ "id" ]
            }, {
              "type" : "object",
              "maxProperties" : 0
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "registrationStatus", "sectionRegistrationStatusReason" ]
      }, {
        "title" : "Registered",
        "description" : "A person is registered in the section.",
        "type" : "object",
        "properties" : {
          "registrationStatus" : {
            "title" : "Registration Status",
            "description" : "The status of this person's registration in the section.",
            "enum" : [ "registered" ],
            "type" : "string"
          },
          "sectionRegistrationStatusReason" : {
            "title" : "Section Registration Status Reason",
            "description" : "A person was registered.",
            "enum" : [ "registered" ],
            "type" : "string"
          },
          "detail" : {
            "title" : "Detail",
            "description" : "Additional details about the status.",
            "oneOf" : [ {
              "type" : "object",
              "properties" : {
                "id" : {
                  "title" : "ID",
                  "description" : "The global identifier for the Detail.",
                  "type" : "string",
                  "format" : "guid",
                  "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                }
              },
              "links" : [ {
                "rel" : "self",
                "href" : "/section-registration-statuses/{id}",
                "targetSchema" : {
                  "$ref" : "section-registration-statuses.json#"
                }
              } ],
              "additionalProperties" : false,
              "required" : [ "id" ]
            }, {
              "type" : "object",
              "maxProperties" : 0
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "registrationStatus", "sectionRegistrationStatusReason" ]
      } ]
    },
    "statusDate" : {
      "title" : "Status Date",
      "description" : "The date on which the status was set.",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    },
    "approvals" : {
      "title" : "Approval",
      "description" : "The method of approval.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "approvalType" : {
            "title" : "Type",
            "description" : "The type of approval granted.",
            "enum" : [ "all" ],
            "type" : "string",
            "minLength" : 1
          },
          "approvalEntity" : {
            "title" : "Entity",
            "description" : "The entity granting approval.",
            "enum" : [ "user", "system" ],
            "type" : "string",
            "minLength" : 1
          }
        },
        "additionalProperties" : false,
        "required" : [ "approvalType", "approvalEntity" ]
      }
    },
    "credit" : {
      "title" : "Credit",
      "description" : "Unit specification that can be awarded for completing a section.",
      "type" : "object",
      "properties" : {
        "measure" : {
          "title" : "Measure",
          "description" : "A unit or standard of measurement.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "credit", "ceu", "hour" ]
          }, {
            "type" : "string",
            "maxLength" : 0
          } ]
        },
        "registrationCredit" : {
          "title" : "Registration Credit",
          "description" : "The credits that the student could potentially earn.",
          "oneOf" : [ {
            "type" : "number"
          }, {
            "type" : "null"
          } ]
        }
      },
      "additionalProperties" : false
    },
    "gradingOption" : {
      "title" : "Grading Option",
      "description" : "Details on how the student elected to have their grades recorded.",
      "type" : "object",
      "properties" : {
        "gradeScheme" : {
          "title" : "Grade Scheme",
          "description" : "The grading scheme that will be used to record the student's grade for the section.",
          "oneOf" : [ {
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Grade Scheme.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/grade-schemes/{id}",
              "targetSchema" : {
                "$ref" : "grade-schemes.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }, {
            "type" : "object",
            "maxProperties" : 0
          } ]
        },
        "mode" : {
          "title" : "Mode",
          "description" : "The manner in which a student's grade will be reported.",
          "oneOf" : [ {
            "type" : "string",
            "enum" : [ "standard", "passFail", "audit" ]
          }, {
            "type" : "string",
            "maxLength" : 0
          } ]
        }
      },
      "additionalProperties" : false
    },
    "involvement" : {
      "title" : "Involvement",
      "description" : "The range of dates between which a student was involved with a section.",
      "type" : "object",
      "properties" : {
        "startOn" : {
          "title" : "Start On",
          "description" : "The date when the section was first attended or accessed online.",
          "oneOf" : [ {
            "type" : "string",
            "format" : "date-time",
            "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?$"
          }, {
            "type" : "string",
            "maxLength" : 0
          } ]
        },
        "endOn" : {
          "title" : "End On",
          "description" : "The date when the section was last attended or accessed online.",
          "oneOf" : [ {
            "type" : "string",
            "format" : "date-time",
            "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?$"
          }, {
            "type" : "string",
            "maxLength" : 0
          } ]
        }
      },
      "additionalProperties" : false
    },
    "override" : {
      "title" : "Override",
      "description" : "Properties defined for the section that may be overridden for individual registrations.",
      "type" : "object",
      "properties" : {
        "academicPeriod" : {
          "title" : "Academic Period",
          "description" : "The academic period for the registration.",
          "oneOf" : [ {
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Academic Period.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/academic-periods/{id}",
              "targetSchema" : {
                "$ref" : "academic-periods.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }, {
            "type" : "object",
            "maxProperties" : 0
          } ]
        },
        "site" : {
          "title" : "Site",
          "description" : "The primary location within the organization where a section's meetings will be held for the registration.",
          "oneOf" : [ {
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Site.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/sites/{id}",
              "targetSchema" : {
                "$ref" : "sites.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }, {
            "type" : "object",
            "maxProperties" : 0
          } ]
        }
      },
      "additionalProperties" : false
    }
  },
  "required" : [ "id", "registrant", "section", "academicLevel", "status" ],
  "additionalProperties" : false,
  "links" : [ {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/section-registrations?criteria={\"registrant\": {\"id\": $id}}",
    "title" : "Registrant",
    "description" : "A person registered for a section.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "registrant" : {
          "type" : "object",
          "properties" : {
            "id" : {
              "type" : "string",
              "format" : "guid",
              "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
            }
          }
        }
      }
    },
    "targetSchema" : {
      "$ref" : "section-registrations.json#"
    }
  }, {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/section-registrations?criteria={\"section\": {\"id\": $id}}",
    "title" : "Section",
    "description" : "An instance of a course for which a person is registering.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "section" : {
          "type" : "object",
          "properties" : {
            "id" : {
              "type" : "string",
              "format" : "guid",
              "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
            }
          }
        }
      }
    },
    "targetSchema" : {
      "$ref" : "section-registrations.json#"
    }
  }, {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/section-registrations?academicPeriod={\"academicPeriod:\": {\"id\": $id}}",
    "name" : "academicPeriod",
    "title" : "Academic Period",
    "description" : "Filter to return section registrations associated with a specific term / academic period.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "academicPeriod" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    },
    "targetSchema" : {
      "$ref" : "section-registrations.json#"
    }
  }, {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/section-registrations?sectionInstructor={\"sectionInstructor:\": {\"id\": $id}}",
    "name" : "sectionInstructor",
    "title" : "Section Instructor",
    "description" : "Filter to return section registrations associated with a specific instructor/faculty.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "sectionInstructor" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    },
    "targetSchema" : {
      "$ref" : "section-registrations.json#"
    }
  }, {
    "rel" : "namedQuery",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/section-registrations?registrationStatusesByAcademicPeriod={\"statuses\":[{\"detail\":{\"id\":$id}}],\"academicPeriod\":{\"id\":$id}}",
    "name" : "registrationStatusesByAcademicPeriod",
    "title" : "Registration Statuses by Academic Period",
    "description" : "Filter to return section registrations by status and academic period.",
    "schema" : {
      "type" : "object",
      "properties" : {
        "statuses" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "detail" : {
                "type" : "object",
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "format" : "guid",
                    "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                  }
                }
              }
            }
          }
        },
        "academicPeriod" : {
          "type" : "object",
          "properties" : {
            "id" : {
              "type" : "string",
              "format" : "guid",
              "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
            }
          }
        }
      },
      "required" : [ "detail", "academicPeriod" ]
    },
    "targetSchema" : {
      "$ref" : "section-registrations.json#"
    }
  } ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy