# paths./Slot/{slotID}.get.description
If the login user is a student, 
1) nothing will be returned if the slot is overdue; 
2) no SignUpBy will be returned unless the slot is signed up by the login user.

# paths./Slot/{slotID}.get.responses.403.description
Login user not authorized to perform this action

# paths./Slot.put.description
Only users with Access_Setting_Update access to the module can update a slot.

# paths./Slot.put.responses.403.description
Login user not authorized to perform this action

# paths./Slot.post.description
Only users with Access_Setting_Update access to the module can create new slots.

# paths./Slot.post.responses.403.description
Login user not authorized to perform this action

# paths./Slot.delete.description
Only users with Access_Delete access to the module can delete slots.

# paths./Slot.delete.responses.403.description
Login user not authorized to perform this action

# paths./Slot.patch.description
Only users who have access to the module can sign up for a slot.

# paths./Slot.patch.requestBody.description
Slot to sign up. ID, SlotType and SignUpBy are required.

# paths./Slot.patch.responses.403.description
Login user not authorized to perform this action

# paths./Slot.get.description
If the login user is a student, 
1) no overdue slots will be returned; 
2) no SignUpBy will be returned unless the slot is signed up by the login user;
3) filter by SignUpBy to get slots signed up by the login user, filter by SignUpDate to get the slots available for sign up.

# paths./Slot.get.parameters[].description
Format - uuid. Resource ID, this parameter is required.

# paths./Slot.get.parameters[].description
Format - uuid. If the creatorID is valid, return only slots created by the creator. Otherwise, return all slots.

# paths./Slot.get.responses.403.description
Login user not authorized to perform this action

# paths./Slot/SignedUp.get.description
1. Get slots (for all teaching/enrolled modules) signed up by the login user.
2. No overdue slots will be returned.

# paths./Slot/SignedUp.get.parameters[].description
Populate additional information. Accepted entities: creator, lastUpdatedUser, signUpBy, resource

# paths./Slot/SignedUp.get.responses.403.description
Login user not authorized to perform this action

# paths./Slot/Export.get.description
1. Export slots to iCal and download the file.
2. Both slots created and signed up by the login user will be exported.
3. Only booked slots will be exported.
4. No overdue slots will be exported.

# paths./Slot/Export.get.parameters[].description
Format - uuid. If the resID is valid, export only slots under the resource. Otherwise, export all slots.

# paths./Slot/Export.get.responses.403.description
Login user not authorized to perform this action

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.startDate.description
the date which this resource is open to students.

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.endDate.description
the date which this resource is closed from students.

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.rootID.description
the root ID if any. For those resources which do not have a parent, the parent ID value will be the same as the ID.

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.creatorID.description
the ID of the user who created this record

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.lastUpdatedDate.description
the date this record is edited last time

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.lastUpdatedBy.description
the ID of the user who edited this record last time

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.lastDeletedDate.description
the date this record is deleted if the value is not null

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.lastDeletedBy.description
the ID of the user who deleted this record if the value is not null

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.publish.description
the publish flag which determin whether the record is published to students.

# components.schemas.API_Consultation.Models.ResourceWithAccess.properties.properties.description
the serialized string for the rest content properites.

# components.schemas.API_Consultation.API.Slot.properties.slotType.description
Slot type, "G" for group consultation, "I" for individual consultation

# components.schemas.API_Consultation.API.Slot.properties.creatorID.description
The Guid of the user who created the slot

# components.schemas.API_Consultation.API.Slot.properties.creatorName.description
The name of the user who created the slot

# components.schemas.API_Consultation.API.Slot.properties.creatorUserID.description
The user ID of the user who created the slot

# components.schemas.API_Consultation.API.Slot.properties.creatorEmail.description
The email address of the user who created the slot

# components.schemas.API_Consultation.API.Slot.properties.lastUpdatedBy.description
The Guid of the user who last updated the slot

# components.schemas.API_Consultation.API.Slot.properties.lastUpdatedByName.description
The name of the user who last updated the slot

# components.schemas.API_Consultation.API.Slot.properties.lastUpdatedByUserID.description
The user ID of the user who last updated the slot

# components.schemas.API_Consultation.API.Slot.properties.lastUpdatedByEmail.description
The email address of the user who last updated the slot

# components.schemas.API_Consultation.API.Slot.properties.signUpDate.description
The date that the group/user sign up for the slot

# components.schemas.API_Consultation.API.Slot.properties.signUpByGroup.description
ID of the group that signed up for the slot. Only applicable to group consultation.

# components.schemas.API_Consultation.API.Slot.properties.signUpByGroupName.description
The name of the group that signed up for the slot. Only applicable to group consultation.

# components.schemas.API_Consultation.API.Slot.properties.signUpByUser.description
ID of the user who signed up for the slot

# components.schemas.API_Consultation.API.Slot.properties.signUpByUserName.description
The name of the user who signed up for the slot

# components.schemas.API_Consultation.API.Slot.properties.signUpByUserID.description
The user ID of the user who signed up for the slot

# components.schemas.API_Consultation.API.Slot.properties.signUpByUserEmail.description
The email address of the user who signed up for the slot

# components.schemas.API_Consultation.API.InputSlotForUpdate.properties.slotType.description
Slot type, "G" for group consultation and "I" for individual consultation

# components.schemas.API_Consultation.API.InputSlotForUpdate.properties.signUpBy.description
GroupID if the consultation is a group consultation. UserID if the consultation is an individual consultation. Null to remove sign up.

# components.schemas.API_Consultation.API.InputSlotForUpdate.description
HTTP Post Input class for slot modification