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

eedm.meal-plans.v10.0.meal-plans.json Maven / Gradle / Ivy

{
  "title" : "Meal Plans",
  "description" : "The meal plans offered by the institution.",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of the meal plan.",
      "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 the meal plan.",
      "type" : "string",
      "minLength" : 1
    },
    "description" : {
      "title" : "Description",
      "description" : "The description of the meal plan.",
      "type" : "string"
    },
    "code" : {
      "title" : "Code",
      "description" : "The code of the meal plan.",
      "type" : "string"
    },
    "studentResidentialCategories" : {
      "title" : "Student Residential Categories",
      "description" : "The residential categories of students to which the plan applies.",
      "type" : "array",
      "items" : {
        "title" : "Student Residential Categories",
        "description" : "The residential categories of students to which the plan applies.",
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Student Residential Categories.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/student-residential-categories/{id}",
          "targetSchema" : {
            "$ref" : "student-residential-categories.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }
    },
    "components" : {
      "title" : "Components",
      "description" : "The meal plan components.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "numberOfUnits" : {
            "title" : "Number Of Units",
            "description" : "The number of units included into the component of the meal plan.",
            "minimum" : 0,
            "type" : "number",
            "format" : "positiveNumber"
          },
          "unitType" : {
            "title" : "Unit Type",
            "description" : "The type of the meal plan units.",
            "enum" : [ "meal", "swipe", "mealPoint", "money" ],
            "type" : "string"
          },
          "timePeriod" : {
            "title" : "Time Period",
            "description" : "The period of time for which the number of units is specified.",
            "enum" : [ "day", "week", "month", "term", "year" ],
            "type" : "string"
          },
          "restrictions" : {
            "title" : "Restrictions",
            "description" : "The restrictions for the component of the meal plan.",
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "mealTypes" : {
                  "title" : "Meal Types",
                  "description" : "The meal types to which the meal plan component is restricted.",
                  "type" : "array",
                  "items" : {
                    "title" : "Meal Types",
                    "description" : "The meal types to which the meal plan component is restricted.",
                    "type" : "object",
                    "properties" : {
                      "id" : {
                        "title" : "ID",
                        "description" : "The global identifier for the Meal Types.",
                        "type" : "string",
                        "format" : "guid",
                        "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                      }
                    },
                    "links" : [ {
                      "rel" : "self",
                      "href" : "/meal-types/{id}",
                      "targetSchema" : {
                        "$ref" : "meal-types.json#"
                      }
                    } ],
                    "additionalProperties" : false,
                    "required" : [ "id" ]
                  }
                },
                "diningFacilities" : {
                  "title" : "Dining Facilities",
                  "description" : "The dining facilities permitted in the meal plan.",
                  "type" : "array",
                  "items" : {
                    "title" : "Dining Facilities",
                    "description" : "The dining facilities permitted in the meal plan.",
                    "type" : "object",
                    "properties" : {
                      "id" : {
                        "title" : "ID",
                        "description" : "The global identifier for the Dining Facilities.",
                        "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" ]
                  }
                },
                "buildings" : {
                  "title" : "Buildings",
                  "description" : "The buildings permitted in the meal plan.",
                  "type" : "array",
                  "items" : {
                    "title" : "Buildings",
                    "description" : "The buildings permitted in the meal plan.",
                    "type" : "object",
                    "properties" : {
                      "id" : {
                        "title" : "ID",
                        "description" : "The global identifier for the Buildings.",
                        "type" : "string",
                        "format" : "guid",
                        "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                      }
                    },
                    "links" : [ {
                      "rel" : "self",
                      "href" : "/buildings/{id}",
                      "targetSchema" : {
                        "$ref" : "buildings.json#"
                      }
                    } ],
                    "additionalProperties" : false,
                    "required" : [ "id" ]
                  }
                },
                "sites" : {
                  "title" : "Sites",
                  "description" : "The sites permitted in the meal plan.",
                  "type" : "array",
                  "items" : {
                    "title" : "Sites",
                    "description" : "The sites permitted in the meal plan.",
                    "type" : "object",
                    "properties" : {
                      "id" : {
                        "title" : "ID",
                        "description" : "The global identifier for the Sites.",
                        "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" ]
                  }
                },
                "daysOfWeek" : {
                  "title" : "Days Of Week",
                  "description" : "The days of the week covered by the meal plan component.",
                  "type" : "array",
                  "items" : {
                    "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ],
                    "type" : "string"
                  }
                },
                "unitsPerPeriod" : {
                  "title" : "Units Per Period",
                  "description" : "The maximum number of units within a time period allowed for the meal plan component.",
                  "type" : "object",
                  "properties" : {
                    "numberOfUnits" : {
                      "title" : "Number of Units",
                      "description" : "The number of units allowed.",
                      "oneOf" : [ {
                        "type" : "number",
                        "minimum" : 0,
                        "format" : "positiveInteger"
                      }, {
                        "type" : "null"
                      } ]
                    },
                    "period" : {
                      "title" : "Period",
                      "description" : "The time period for the restriction.",
                      "oneOf" : [ {
                        "type" : "string",
                        "enum" : [ "day", "week", "month", "term", "year" ]
                      }, {
                        "type" : "string",
                        "maxLength" : 0
                      } ]
                    }
                  },
                  "additionalProperties" : false
                }
              },
              "additionalProperties" : false
            }
          }
        },
        "additionalProperties" : false,
        "required" : [ "numberOfUnits", "unitType", "timePeriod" ]
      }
    },
    "startOn" : {
      "title" : "Start On",
      "description" : "The start date of the meal plan.",
      "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 end date of the meal plan.",
      "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
      } ]
    }
  },
  "required" : [ "id", "title" ],
  "additionalProperties" : false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy