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

eedm.instructional-events.v6.0.instructional-events.json Maven / Gradle / Ivy

{
  "title" : "Instructional Events",
  "description" : "An instructional activity that takes place during a section.",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "A globally unique identifier of an instructional activity to be used in all external references.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "title" : {
      "title" : "Title",
      "description" : "The full name of an instructional activity.",
      "type" : "string"
    },
    "description" : {
      "title" : "Description",
      "description" : "A description of an instructional activity.",
      "type" : "string"
    },
    "section" : {
      "title" : "Section",
      "description" : "An instance of a course.",
      "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" ]
    },
    "instructionalMethod" : {
      "title" : "Instructional Method",
      "description" : "The method, style, or format of instruction associated with the instructor's involvement with the section (for example, 'Lecture', 'Lab').",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Instructional Method.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/instructional-methods/{id}",
        "targetSchema" : {
          "$ref" : "instructional-methods.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "workLoad" : {
      "title" : "Work Load",
      "description" : "The total amount of work associated with the instructional event.",
      "oneOf" : [ {
        "type" : "number"
      }, {
        "type" : "null"
      } ]
    },
    "recurrence" : {
      "title" : "Recurrence",
      "description" : "The recurring meeting time pattern associated with the instructional event.",
      "oneOf" : [ {
        "type" : "object",
        "format" : "recurrence",
        "properties" : {
          "timePeriod" : {
            "title" : "Time Period",
            "description" : "The period of time to be repeated.",
            "type" : "object",
            "properties" : {
              "startOn" : {
                "title" : "Start On",
                "description" : "The beginning of the time period being repeated.",
                "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])?$"
              },
              "endOn" : {
                "title" : "End On",
                "description" : "The end of the time period being repeated.",
                "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,
            "required" : [ "startOn" ]
          },
          "repeatRule" : {
            "title" : "Repeat Rule",
            "description" : "The rule that describes how to repeat the time period.",
            "oneOf" : [ {
              "title" : "Daily",
              "description" : "Rules for repeating on a daily basis.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "",
                  "enum" : [ "daily" ],
                  "type" : "string"
                },
                "interval" : {
                  "title" : "Interval",
                  "description" : "Number of days between each repetition.",
                  "oneOf" : [ {
                    "type" : "integer"
                  }, {
                    "type" : "null"
                  } ]
                },
                "ends" : {
                  "title" : "Ends",
                  "description" : "When to end the daily repetitions.",
                  "oneOf" : [ {
                    "title" : "One Of-1",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "repetitions" : {
                        "title" : "Repetitions",
                        "description" : "Number of times to repeat, then stop.",
                        "type" : "integer"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "repetitions" ]
                  }, {
                    "title" : "One Of-2",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "date" : {
                        "title" : "Date",
                        "description" : "The date after which to stop repeating.",
                        "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])$"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "date" ]
                  }, {
                    "type" : "object",
                    "maxProperties" : 0
                  } ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type" ]
            }, {
              "title" : "Weekly",
              "description" : "Rules for repeating on a weekly basis.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "",
                  "enum" : [ "weekly" ],
                  "type" : "string"
                },
                "interval" : {
                  "title" : "Interval",
                  "description" : "Number of weeks between each repetition.",
                  "oneOf" : [ {
                    "type" : "integer"
                  }, {
                    "type" : "null"
                  } ]
                },
                "daysOfWeek" : {
                  "title" : "Days of Week",
                  "description" : "The days of the week on which to repeat the event.",
                  "type" : "array",
                  "items" : {
                    "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ],
                    "type" : "string"
                  }
                },
                "ends" : {
                  "title" : "Ends",
                  "description" : "When to end the weekly repetitions.",
                  "oneOf" : [ {
                    "title" : "One Of-1",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "repetitions" : {
                        "title" : "Repetitions",
                        "description" : "Number of times to repeat, then stop.",
                        "type" : "integer"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "repetitions" ]
                  }, {
                    "title" : "One Of-2",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "date" : {
                        "title" : "Date",
                        "description" : "The date after which to stop repeating.",
                        "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])$"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "date" ]
                  }, {
                    "type" : "object",
                    "maxProperties" : 0
                  } ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type" ]
            }, {
              "title" : "Monthly",
              "description" : "Rules for repeating on a monthly basis.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "",
                  "enum" : [ "monthly" ],
                  "type" : "string"
                },
                "interval" : {
                  "title" : "Interval",
                  "description" : "Number of months between each repetition.",
                  "oneOf" : [ {
                    "type" : "integer"
                  }, {
                    "type" : "null"
                  } ]
                },
                "repeatBy" : {
                  "title" : "Repeat By",
                  "description" : "How to calculate the day of the month on which to start repeating.",
                  "oneOf" : [ {
                    "title" : "One Of-1",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "dayOfMonth" : {
                        "title" : "Day of Month",
                        "description" : "The number of the day in the month on which to start repeating.",
                        "type" : "integer"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "dayOfMonth" ]
                  }, {
                    "title" : "One Of-2",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "dayOfWeek" : {
                        "title" : "Day of Week",
                        "description" : "The cardinal day of the week (e.g., the first Tuesday, the last Friday, etc.) in the month on which to start repeating.",
                        "type" : "object",
                        "properties" : {
                          "occurrence" : {
                            "title" : "Occurrence",
                            "description" : "The nth occurrence of the day of the week in the month. Use a positive number to count from the start of the month (e.g., 1 = first in the month, 2 = second in the month), and a negative number to count from the end of the month (e.g. -1 = last in the month, -2 = second from last, etc.).",
                            "type" : "integer"
                          },
                          "day" : {
                            "title" : "Day of Week",
                            "description" : "A day in a week.",
                            "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ],
                            "type" : "string"
                          }
                        },
                        "additionalProperties" : false,
                        "required" : [ "occurrence", "day" ]
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "dayOfWeek" ]
                  } ]
                },
                "ends" : {
                  "title" : "Ends",
                  "description" : "When to end the monthly repetitions.",
                  "oneOf" : [ {
                    "title" : "One Of-1",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "repetitions" : {
                        "title" : "Repetitions",
                        "description" : "Number of times to repeat, then stop.",
                        "type" : "integer"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "repetitions" ]
                  }, {
                    "title" : "One Of-2",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "date" : {
                        "title" : "Date",
                        "description" : "The date after which to stop repeating.",
                        "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])$"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "date" ]
                  }, {
                    "type" : "object",
                    "maxProperties" : 0
                  } ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type", "repeatBy" ]
            }, {
              "title" : "Yearly",
              "description" : "Rules for repeating on an annual basis.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "",
                  "enum" : [ "yearly" ],
                  "type" : "string"
                },
                "interval" : {
                  "title" : "Interval",
                  "description" : "Number of years between each repetition.",
                  "oneOf" : [ {
                    "type" : "integer"
                  }, {
                    "type" : "null"
                  } ]
                },
                "ends" : {
                  "title" : "Ends",
                  "description" : "When to end the yearly repetitions.",
                  "oneOf" : [ {
                    "title" : "One Of-1",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "repetitions" : {
                        "title" : "Repetitions",
                        "description" : "Number of times to repeat, then stop.",
                        "type" : "integer"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "repetitions" ]
                  }, {
                    "title" : "One Of-2",
                    "description" : "",
                    "type" : "object",
                    "properties" : {
                      "date" : {
                        "title" : "Date",
                        "description" : "The date after which to stop repeating.",
                        "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])$"
                      }
                    },
                    "additionalProperties" : false,
                    "required" : [ "date" ]
                  }, {
                    "type" : "object",
                    "maxProperties" : 0
                  } ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type" ]
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "timePeriod", "repeatRule" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "locations" : {
      "title" : "Locations",
      "description" : "The locations where the instructional event will take place.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "location" : {
            "title" : "Location",
            "description" : "The location where the instructional event will take place.",
            "oneOf" : [ {
              "title" : "Site",
              "description" : "A physical location within the organization where the event will take place",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "The type of location (i.e. site).",
                  "enum" : [ "site" ],
                  "type" : "string"
                },
                "site" : {
                  "title" : "Site",
                  "description" : "The physical site where the event will take place",
                  "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" ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type", "site" ]
            }, {
              "title" : "Room",
              "description" : "A room within a building, on a floor.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "The type of location (i.e. room).",
                  "enum" : [ "room" ],
                  "type" : "string"
                },
                "room" : {
                  "title" : "Room",
                  "description" : "The room where the event will take place.",
                  "type" : "object",
                  "properties" : {
                    "id" : {
                      "title" : "ID",
                      "description" : "The global identifier for the Room.",
                      "type" : "string",
                      "format" : "guid",
                      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                    }
                  },
                  "links" : [ {
                    "rel" : "self",
                    "href" : "/rooms/{id}",
                    "targetSchema" : {
                      "$ref" : "rooms.json#"
                    }
                  } ],
                  "additionalProperties" : false,
                  "required" : [ "id" ]
                }
              },
              "additionalProperties" : false,
              "required" : [ "type", "room" ]
            }, {
              "title" : "Online Location",
              "description" : "A meeting location available via a computer network, such as an online video conference.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "The type of location (i.e. online).",
                  "enum" : [ "online" ],
                  "type" : "string"
                },
                "phoneNumber" : {
                  "title" : "Phone",
                  "description" : "The international telephone number of the location.",
                  "type" : "string"
                },
                "phoneExtension" : {
                  "title" : "Extension",
                  "description" : "The telephone extension number of the location's telephone.",
                  "type" : "string"
                },
                "webAddress" : {
                  "title" : "Web Address",
                  "description" : "The primary web address (URL) of the online meeting location.",
                  "type" : "string"
                }
              },
              "additionalProperties" : false,
              "required" : [ "type" ]
            }, {
              "title" : "Other Location",
              "description" : "A user provided description of a non-standard location for the instructional event.",
              "type" : "object",
              "properties" : {
                "type" : {
                  "title" : "Type",
                  "description" : "The type of location (i.e. other).",
                  "enum" : [ "other" ],
                  "type" : "string"
                },
                "title" : {
                  "title" : "Title",
                  "description" : "A user provided description of a non-standard location for the instructional event.",
                  "type" : "string"
                }
              },
              "additionalProperties" : false,
              "required" : [ "type" ]
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "location" ]
      }
    },
    "instructorRoster" : {
      "title" : "Instructor Roster",
      "description" : "The roster of instructors assigned to teach an instructional event.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "instructor" : {
            "title" : "Instructor",
            "description" : "The person assigned to teach an instruction method of a section",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Instructor.",
                "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" ]
          },
          "workLoadPercentage" : {
            "title" : "Load Percentage",
            "description" : "The rate or proportion per hundred of the instructional method's work load that is attributable to the instructor.",
            "oneOf" : [ {
              "type" : "number"
            }, {
              "type" : "null"
            } ]
          },
          "responsibilityPercentage" : {
            "title" : "Responsibility Percentage",
            "description" : "The rate or proportion per hundred of the responsibility for managing the instructional method's activities that is attributable to the instructor.",
            "oneOf" : [ {
              "type" : "number"
            }, {
              "type" : "null"
            } ]
          },
          "workStartOn" : {
            "title" : "Work Start Date",
            "description" : "The date when an instructor is assigned to start teaching the scheduled event for a section.",
            "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
            } ]
          },
          "workEndOn" : {
            "title" : "Work End Date",
            "description" : "The date after which an instructor is no longer assigned to the scheduled event for a section.",
            "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,
        "required" : [ "instructor" ]
      }
    },
    "approvals" : {
      "title" : "Approvals",
      "description" : "The type and source of approvals applied to the instructional event.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "approvalType" : {
            "title" : "Type",
            "description" : "The type of approval granted.",
            "enum" : [ "instructorAvailability", "instructorCapacity", "roomAvailability", "roomCapacity" ],
            "type" : "string"
          },
          "approvalEntity" : {
            "title" : "Entity",
            "description" : "The entity that granted approval.",
            "enum" : [ "user", "system" ],
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "required" : [ "approvalType", "approvalEntity" ]
      }
    }
  },
  "required" : [ "id", "section", "instructionalMethod" ],
  "additionalProperties" : false,
  "links" : [ {
    "rel" : "instructional-event-instances",
    "title" : "Event Instances",
    "description" : "The individual events created from this instructional event specification.",
    "href" : "/instructional-event-instances?instructionalEvent.id={id}",
    "targetSchema" : {
      "$ref" : "instructional-event-instances.json#"
    }
  }, {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/instructional-events/",
    "schema" : {
      "type" : "object",
      "properties" : {
        "section" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        },
        "startOn" : {
          "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])?$"
        },
        "endOn" : {
          "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])?$"
        },
        "room" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        },
        "instructor" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      }
    }
  } ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy