from django.urls import path

from api.views.admin.academic_term_create import AcademicTermCreate
from api.views.admin.academic_term_delete import AcademicTermDelete
from api.views.admin.academic_term_delete_confirmation import AcademicTermDeleteConfirmation
from api.views.admin.academic_term_list import AcademicTermList
from api.views.admin.academic_term_rules import AcademicTermRules
from api.views.admin.academic_term_update import AcademicTermUpdate
from api.views.admin.activity_create import ActivityCreate
from api.views.admin.activity_delete import ActivityDelete
from api.views.admin.activity_generate import ActivityGenerate
from api.views.admin.activity_list import ActivityList
from api.views.admin.activity_rules import ActivityRules
from api.views.admin.activity_sequencing import ActivitySequencing
from api.views.admin.activity_sequencing_rules import ActivitySequencingRules
from api.views.admin.activity_template_allocator import ActivityTemplateAllocator
from api.views.admin.activity_template_allocator_rules import ActivityTemplateAllocatorRules
from api.views.admin.activity_template_confirmation import ActivityTemplateDeleteConfirmation
from api.views.admin.activity_template_create import ActivityTemplateCreate
from api.views.admin.activity_template_delete import ActivityTemplateDelete
from api.views.admin.activity_template_list import ActivityTemplateList
from api.views.admin.activity_template_rules import ActivityTemplateRules
from api.views.admin.activity_template_update import ActivityTemplateUpdate
from api.views.admin.activity_type_create import ActivityTypeCreate
from api.views.admin.activity_type_delete import ActivityTypeDelete
from api.views.admin.activity_type_list import ActivityTypeList
from api.views.admin.activity_type_rules import ActivityTypeRules
from api.views.admin.activity_type_update import ActivityTypeUpdate
from api.views.admin.activity_update import ActivityUpdate
from api.views.admin.audit_trail_list import AuditTrailList
from api.views.admin.audit_trail_details import AuditTrailDetails
from api.views.admin.admin_create import AdminCreate
from api.views.admin.admin_delete import AdminDelete
from api.views.admin.admin_list import AdminList
from api.views.admin.admin_rules import AdminRules
from api.views.admin.admin_update import AdminUpdate
from api.views.admin.allocation_rules import AllocationRules
from api.views.admin.availability_create import AvailabilityCreate
from api.views.admin.availability_delete import AvailabilityDelete
from api.views.admin.availability_list import AvailabilityList
from api.views.admin.availability_rules import AvailabilityRules
from api.views.admin.availability_update import AvailabilityUpdate
from api.views.admin.booking_create import BookingCreate
from api.views.admin.booking_delete import BookingDelete
from api.views.admin.booking_get_resources import BookingGetResources
from api.views.admin.booking_list import BookingList
from api.views.admin.booking_preschedule import BookingPreschedule
from api.views.admin.booking_rules import BookingRules
from api.views.admin.booking_schedule import BookingSchedule
from api.views.admin.booking_swap import BookingSwap
from api.views.admin.booking_swap_get_resources import BookingSwapGetResources
from api.views.admin.booking_update import BookingUpdate
from api.views.admin.change_password import ChangePassword
from api.views.admin.constraint_profile_create import ConstraintProfileCreate
from api.views.admin.constraint_profile_delete import ConstraintProfileDelete
from api.views.admin.constraint_profile_list import ConstraintProfileList
from api.views.admin.constraint_profile_rules import ConstraintProfileRules
from api.views.admin.constraint_profile_update import ConstraintProfileUpdate
from api.views.admin.department_create import DepartmentCreate
from api.views.admin.department_delete import DepartmentDelete
from api.views.admin.department_list import DepartmentList
from api.views.admin.department_rules import DepartmentRules
from api.views.admin.department_update import DepartmentUpdate
from api.views.admin.free_block_create import FreeBlockCreate
from api.views.admin.free_block_delete import FreeBlockDelete
from api.views.admin.free_block_list import FreeBlockList
from api.views.admin.free_block_rules import FreeBlockRules
from api.views.admin.free_block_update import FreeBlockUpdate
from api.views.admin.get_timestamp import GetTimestamp
from api.views.admin.import_get_information import ImportGetInformation
from api.views.admin.import_table import ImportTable
from api.views.admin.jta_create import JtaCreate
from api.views.admin.jta_split import JtaSplit
from api.views.admin.jta_split_rules import JtaSplitRules
from api.views.admin.location_create import LocationCreate
from api.views.admin.location_delete import LocationDelete
from api.views.admin.location_list import LocationList
from api.views.admin.location_rules import LocationRules
from api.views.admin.location_update import LocationUpdate
from api.views.admin.login import Login
from api.views.admin.logout import Logout
from api.views.admin.maximum_hour_create import MaximumHourCreate
from api.views.admin.maximum_hour_delete import MaximumHourDelete
from api.views.admin.maximum_hour_list import MaximumHourList
from api.views.admin.maximum_hour_rules import MaximumHourRules
from api.views.admin.maximum_hour_update import MaximumHourUpdate
from api.views.admin.maximum_workspan_create import MaximumWorkspanCreate
from api.views.admin.maximum_workspan_delete import MaximumWorkspanDelete
from api.views.admin.maximum_workspan_list import MaximumWorkspanList
from api.views.admin.maximum_workspan_rules import MaximumWorkspanRules
from api.views.admin.maximum_workspan_update import MaximumWorkspanUpdate
from api.views.admin.module_create import ModuleCreate
from api.views.admin.module_delete import ModuleDelete
from api.views.admin.module_delete_confirmation import ModuleDeleteConfirmation
from api.views.admin.module_group_create import ModuleGroupCreate
from api.views.admin.module_group_delete import ModuleGroupDelete
from api.views.admin.module_group_delete_confirmation import ModuleGroupDeleteConfirmation
from api.views.admin.module_group_list import ModuleGroupList
from api.views.admin.module_group_rules import ModuleGroupRules
from api.views.admin.module_group_update import ModuleGroupUpdate
from api.views.admin.module_list import ModuleList
from api.views.admin.module_rules import ModuleRules
from api.views.admin.module_update import ModuleUpdate
from api.views.admin.pathway_delete import PathwayDelete
from api.views.admin.pathway_generate import PathwayGenerate
from api.views.admin.pathway_generate_by_student_choice import PathwayGenerateByStudentChoice
from api.views.admin.pathway_generate_rules import PathwayGenerateRules
from api.views.admin.pathway_manual_generate import PathwayManualGenerate
from api.views.admin.pathway_update import PathwayUpdate
from api.views.admin.permission_list import PermissionList
from api.views.admin.pos_create import PosCreate
from api.views.admin.pos_delete import PosDelete
from api.views.admin.pos_delete_confirmation import PosDeleteConfirmation
from api.views.admin.pos_list import PosList
from api.views.admin.pos_rules import PosRules
from api.views.admin.pos_show_pathway import PosShowPathway
from api.views.admin.pos_update import PosUpdate
from api.views.admin.pos_update_module import PosUpdateModule
from api.views.admin.pos_update_module_rules import PosUpdateModuleRules
from api.views.admin.preschedule_details_request import PrescheduleDetailsRequest
from api.views.admin.preschedule_request import PrescheduleRequest
from api.views.admin.register import Register
from api.views.admin.info import Info
from api.views.admin.resource_break_create import ResourceBreakCreate
from api.views.admin.resource_break_delete import ResourceBreakDelete
from api.views.admin.resource_break_list import ResourceBreakList
from api.views.admin.resource_break_rules import ResourceBreakRules
from api.views.admin.resource_break_update import ResourceBreakUpdate
from api.views.admin.resources_update_current import ResourcesUpdateCurrent
from api.views.admin.resources_update_requirement import ResourcesUpdateRequirement
from api.views.admin.resources_update_requirement_rules import ResourcesUpdateRequirementRules
from api.views.admin.role_create import RoleCreate
from django.urls import re_path

from api.views.admin.role_delete import RoleDelete
from api.views.admin.role_list import RoleList
from api.views.admin.role_rules import RoleRules
from api.views.admin.role_update import RoleUpdate
from api.views.admin.schedule_list import ScheduleList
from api.views.admin.schedule_list_activity import ScheduleListActivity
from api.views.admin.schedule_request import ScheduleRequest
from api.views.admin.simulate_schedule_response import SimulateScheduleResponse
from api.views.admin.staff_create import StaffCreate
from api.views.admin.staff_delete import StaffDelete
from api.views.admin.staff_list import StaffList
from api.views.admin.staff_rules import StaffRules
from api.views.admin.staff_update import StaffUpdate
from api.views.admin.start_preference_create import StartPreferenceCreate
from api.views.admin.start_preference_delete import StartPreferenceDelete
from api.views.admin.start_preference_list import StartPreferenceList
from api.views.admin.start_preference_rules import StartPreferenceRules
from api.views.admin.start_preference_update import StartPreferenceUpdate
from api.views.admin.allocation import Allocation
from api.views.admin.student_create import StudentCreate
from api.views.admin.student_delete import StudentDelete
from api.views.admin.student_update import StudentUpdate
from api.views.admin.student_list import StudentList
from api.views.admin.student_rules import StudentRules
from api.views.admin.student_rules_get_pos import StudentRulesGetPos
from api.views.admin.student_rules_get_pos_module import StudentRulesGetPosModule
from api.views.admin.student_set_create import StudentSetCreate
from api.views.admin.student_set_delete import StudentSetDelete
from api.views.admin.student_set_list import StudentSetList
from api.views.admin.student_set_rules import StudentSetRules
from api.views.admin.student_set_update import StudentSetUpdate
from api.views.admin.suitability_create import SuitabilityCreate
from api.views.admin.suitability_delete import SuitabilityDelete
from api.views.admin.suitability_list import SuitabilityList
from api.views.admin.suitability_rules import SuitabilityRules
from api.views.admin.suitability_update import SuitabilityUpdate
from api.views.admin.swap import Swap
from api.views.admin.swap_get_resources_request import SwapGetResourcesRequest
from api.views.admin.tag_create import TagCreate
from api.views.admin.tag_delete import TagDelete
from api.views.admin.tag_list import TagList
from api.views.admin.tag_rules import TagRules
from api.views.admin.tag_update import TagUpdate
from api.views.admin.test_timeout import TestTimeout
from api.views.admin.time_block_create import TimeBlockCreate
from api.views.admin.time_block_delete import TimeBlockDelete
from api.views.admin.time_block_list import TimeBlockList
from api.views.admin.time_block_rules import TimeBlockRules
from api.views.admin.time_block_update import TimeBlockUpdate
from api.views.admin.travel_table_create import TravelTableCreate
from api.views.admin.travel_table_delete import TravelTableDelete
from api.views.admin.travel_table_list import TravelTableList
from api.views.admin.travel_table_rules import TravelTableRules
from api.views.admin.travel_table_update import TravelTableUpdate
from api.views.admin.unschedule import Unschedule
from api.views.admin.usage_preference_create import UsagePreferenceCreate
from api.views.admin.usage_preference_delete import UsagePreferenceDelete
from api.views.admin.usage_preference_list import UsagePreferenceList
from api.views.admin.usage_preference_rules import UsagePreferenceRules
from api.views.admin.usage_preference_update import UsagePreferenceUpdate
from api.views.admin.user_constraint_setting_update import UserConstraintSettingUpdate
from api.views.admin.user_scheduling_preference_update import UserSchedulingPreferenceUpdate
from api.views.admin.variant_create import VariantCreate
from api.views.admin.week_pattern_create import WeekPatternCreate
from api.views.admin.week_pattern_delete import WeekPatternDelete
from api.views.admin.week_pattern_list import WeekPatternList
from api.views.admin.week_pattern_rules import WeekPatternRules
from api.views.admin.week_pattern_update import WeekPatternUpdate
from api.views.admin.zone_create import ZoneCreate
from api.views.admin.zone_delete import ZoneDelete
from api.views.admin.zone_list import ZoneList
from api.views.admin.zone_rules import ZoneRules
from api.views.admin.zone_update import ZoneUpdate

urlpatterns = [
    # re_path(r"^login/?$", Login.as_view(), name='admin-login'),
    path('get-timestamp', GetTimestamp.as_view(), name='get_timestamp'),
    path('login', Login.as_view(), name='login'),
    path('logout', Logout.as_view(), name='logout'),
    path('change-password', ChangePassword.as_view(), name='change_password'),
    path('register', Register.as_view(), name='register'),
    path('admin/create', AdminCreate.as_view(), name='admin;create'),
    path('admin/list', AdminList.as_view(), name='admin;list'),
    path('admin/rules', AdminRules.as_view(), name='admin;rules'),
    path('admin/update', AdminUpdate.as_view(), name='admin;update'),
    path('admin/delete', AdminDelete.as_view(), name='admin;delete'),
    path('role/create', RoleCreate.as_view(), name='role;create'),
    path('role/list', RoleList.as_view(), name='role;list'),
    path('role/rules', RoleRules.as_view(), name='role;rules'),
    path('role/update', RoleUpdate.as_view(), name='role;update'),
    path('role/delete', RoleDelete.as_view(), name='role;delete'),
    path('info', Info.as_view(), name='info'),
    path('staff/create', StaffCreate.as_view(), name='staff;create'),
    path('staff/list', StaffList.as_view(), name='staff;list'),
    path('staff/rules', StaffRules.as_view(), name='staff;rules'),
    path('staff/update', StaffUpdate.as_view(), name='staff;update'),
    path('staff/delete', StaffDelete.as_view(), name='staff;delete'),
    path('location/create', LocationCreate.as_view(), name='location;create'),
    path('location/list', LocationList.as_view(), name='location;list'),
    path('location/rules', LocationRules.as_view(), name='location;rules'),
    path('location/update', LocationUpdate.as_view(), name='location;update'),
    path('location/delete', LocationDelete.as_view(), name='location;delete'),
    path('suitability/create', SuitabilityCreate.as_view(), name='suitability;create'),
    path('suitability/list', SuitabilityList.as_view(), name='suitability;list'),
    path('suitability/rules', SuitabilityRules.as_view(), name='suitability;rules'),
    path('suitability/update', SuitabilityUpdate.as_view(), name='suitability;update'),
    path('suitability/delete', SuitabilityDelete.as_view(), name='suitability;delete'),
    path('department/create', DepartmentCreate.as_view(), name='department;create'),
    path('department/update', DepartmentUpdate.as_view(), name='department;update'),
    path('department/list', DepartmentList.as_view(), name='department;list'),
    path('department/rules', DepartmentRules.as_view(), name='department;rules'),
    path('department/delete', DepartmentDelete.as_view(), name='department;delete'),
    path('zone/create', ZoneCreate.as_view(), name='zone;create'),
    path('zone/update', ZoneUpdate.as_view(), name='zone;update'),
    path('zone/list', ZoneList.as_view(), name='zone;list'),
    path('zone/rules', ZoneRules.as_view(), name='zone;rules'),
    path('zone/delete', ZoneDelete.as_view(), name='zone;delete'),
    path('usage-preference/create', UsagePreferenceCreate.as_view(), name='usage_preference;create'),
    path('usage-preference/update', UsagePreferenceUpdate.as_view(), name='usage_preference;update'),
    path('usage-preference/list', UsagePreferenceList.as_view(), name='usage_preference;list'),
    path('usage-preference/rules', UsagePreferenceRules.as_view(), name='usage_preference;rules'),
    path('usage-preference/delete', UsagePreferenceDelete.as_view(), name='usage_preference;delete'),
    path('start-preference/create', StartPreferenceCreate.as_view(), name='start_preference;create'),
    path('start-preference/update', StartPreferenceUpdate.as_view(), name='start_preference;update'),
    path('start-preference/list', StartPreferenceList.as_view(), name='start_preference;list'),
    path('start-preference/rules', StartPreferenceRules.as_view(), name='start_preference;rules'),
    path('start-preference/delete', StartPreferenceDelete.as_view(), name='start_preference;delete'),
    path('availability/create', AvailabilityCreate.as_view(), name='availability;create'),
    path('availability/update', AvailabilityUpdate.as_view(), name='availability;update'),
    path('availability/list', AvailabilityList.as_view(), name='availability;list'),
    path('availability/rules', AvailabilityRules.as_view(), name='availability;rules'),
    path('availability/delete', AvailabilityDelete.as_view(), name='availability;delete'),
    path('academic-term/create', AcademicTermCreate.as_view(), name='academic_term;create'),
    path('academic-term/list', AcademicTermList.as_view(), name='academic_term;list'),
    path('academic-term/update', AcademicTermUpdate.as_view(), name='academic_term;update'),
    path('academic-term/rules', AcademicTermRules.as_view(), name='academic_term;rules'),
    path('academic-term/delete-confirmation', AcademicTermDeleteConfirmation.as_view(), name='academic_term;delete_confirmation'),
    path('academic-term/delete', AcademicTermDelete.as_view(), name='academic_term;delete'),
    path('week-pattern/create', WeekPatternCreate.as_view(), name='week_pattern;create'),
    path('week-pattern/list', WeekPatternList.as_view(), name='week_pattern;list'),
    path('week-pattern/update', WeekPatternUpdate.as_view(), name='week_pattern;update'),
    path('week-pattern/rules', WeekPatternRules.as_view(), name='week_pattern;rules'),
    path('week-pattern/delete', WeekPatternDelete.as_view(), name='week_pattern;delete'),
    path('module/create', ModuleCreate.as_view(), name='module;create'),
    path('module/update', ModuleUpdate.as_view(), name='module;update'),
    path('module/list', ModuleList.as_view(), name='module;list'),
    path('module/rules', ModuleRules.as_view(), name='module;rules'),
    path('module/delete', ModuleDelete.as_view(), name='module;delete'),
    path('module/delete-confirmation', ModuleDeleteConfirmation.as_view(), name='module;delete_confirmation'),
    path('module-group/create', ModuleGroupCreate.as_view(), name='module_group;create'),
    path('module-group/update', ModuleGroupUpdate.as_view(), name='module_group;update'),
    path('module-group/list', ModuleGroupList.as_view(), name='module_group;list'),
    path('module-group/rules', ModuleGroupRules.as_view(), name='module_group;rules'),
    path('module-group/delete', ModuleGroupDelete.as_view(), name='module_group;delete'),
    path('module-group/delete-confirmation', ModuleGroupDeleteConfirmation.as_view(), name='module_group;delete_confirmation'),
    path('pos/create', PosCreate.as_view(), name='pos;create'),
    path('pos/update', PosUpdate.as_view(), name='pos;update'),
    path('pos/list', PosList.as_view(), name='pos;list'),
    path('pos/rules', PosRules.as_view(), name='pos;rules'),
    path('pos/delete', PosDelete.as_view(), name='pos;delete'),
    path('pos/delete-confirmation', PosDeleteConfirmation.as_view(), name='pos;delete_confirmation'),
    path('pos/show-pathway', PosShowPathway.as_view(), name='pos;show_pathway'),
    path('pos/update-module', PosUpdateModule.as_view(), name='pos;update'),
    path('pos/update-module-rules', PosUpdateModuleRules.as_view(), name='pos;update_module_rules'),
    path('student-set/create', StudentSetCreate.as_view(), name='student_set;create'),
    path('student-set/update', StudentSetUpdate.as_view(), name='student_set;update'),
    path('student-set/list', StudentSetList.as_view(), name='student_set;list'),
    path('student-set/rules', StudentSetRules.as_view(), name='student_set;rules'),
    path('student-set/delete', StudentSetDelete.as_view(), name='student_set;delete'),
    path('activity-type/create', ActivityTypeCreate.as_view(), name='activity_type;create'),
    path('activity-type/update', ActivityTypeUpdate.as_view(), name='activity_type;update'),
    path('activity-type/list', ActivityTypeList.as_view(), name='activity_type;list'),
    path('activity-type/rules', ActivityTypeRules.as_view(), name='activity_type;rules'),
    path('activity-type/delete', ActivityTypeDelete.as_view(), name='activity_type;delete'),
    path('activity-template/create', ActivityTemplateCreate.as_view(), name='activity_template;create'),
    path('activity-template/update', ActivityTemplateUpdate.as_view(), name='activity_template;update'),
    path('activity-template/list', ActivityTemplateList.as_view(), name='activity_template;list'),
    path('activity-template/rules', ActivityTemplateRules.as_view(), name='activity_template;rules'),
    path('activity-template/delete', ActivityTemplateDelete.as_view(), name='activity_template;delete'),
    path('activity-template/delete-confirmation', ActivityTemplateDeleteConfirmation.as_view(), name='activity_template;delete_confirmation'),
    path('activity-template/allocator-rules', ActivityTemplateAllocatorRules.as_view(),name='activity_template;allocator_rules'),
    path('activity-template/allocator', ActivityTemplateAllocator.as_view(), name='activity_template;allocator'),
    path('activity/generate', ActivityGenerate.as_view(), name='activity;generate'),
    path('activity/create', ActivityCreate.as_view(), name='activity;create'),
    path('activity/update', ActivityUpdate.as_view(), name='activity;update'),
    path('activity/delete', ActivityDelete.as_view(), name='activity;delete'),
    path('activity/list', ActivityList.as_view(), name='activity;list'),
    path('activity/rules', ActivityRules.as_view(), name='activity;rules'),
    path('pathway/generate', PathwayGenerate.as_view(), name='pathway;generate'),
    path('pathway/generate-by-student-choice', PathwayGenerateByStudentChoice.as_view(), name='pathway;generate_by_student_choice'),
    path('pathway/generate-rules', PathwayGenerateRules.as_view(), name='pathway;generate_rules'),
    path('pathway/manual-generate', PathwayManualGenerate.as_view(), name='pathway;manual_generate'),
    path('pathway/update', PathwayUpdate.as_view(), name='pathway;update'),
    path('pathway/delete', PathwayDelete.as_view(), name='pathway;delete'),
    path('allocation', Allocation.as_view(), name='allocation'),
    path('allocation-rules', AllocationRules.as_view(), name='allocation_rules'),
    path('tag/create', TagCreate.as_view(), name='tag;create'),
    path('tag/update', TagUpdate.as_view(), name='tag;update'),
    path('tag/list', TagList.as_view(), name='tag;list'),
    path('tag/rules', TagRules.as_view(), name='tag;rules'),
    path('tag/delete', TagDelete.as_view(), name='tag;delete'),
    path('permission/list', PermissionList.as_view(), name='permission;list'),
    path('schedule-request', ScheduleRequest.as_view(), name='schedule;request'),
    path('preschedule-request', PrescheduleRequest.as_view(), name='preschedule;request'),
    path('preschedule-details-request', PrescheduleDetailsRequest.as_view(), name='preschedule_details;request'),
    path('schedule-list', ScheduleList.as_view(), name='schedule;list'),
    path('schedule-list-activity', ScheduleListActivity.as_view(), name='schedule;list_activity'),
    path('unschedule', Unschedule.as_view(), name='unschedule'),
    path('variant-create', VariantCreate.as_view(), name='variant;create'),
    path('jta-create', JtaCreate.as_view(), name='jta;create'),
    path('jta-split', JtaSplit.as_view(), name='jta;split'),
    path('jta-split-rules', JtaSplitRules.as_view(), name='jta;split_rules'),
    path('resources/update-requirement-rules', ResourcesUpdateRequirementRules.as_view(), name='resources;update_requirement_rules'),
    path('resources/update-requirement', ResourcesUpdateRequirement.as_view(), name='resources;update_requirement'),
    path('resources/update-current', ResourcesUpdateCurrent.as_view(), name='resources;update_current'),
    path('import/get-information', ImportGetInformation.as_view(), name='import;get_information'),
    path('import/table', ImportTable.as_view(), name='import;table'),
    path('swap/get-resources', SwapGetResourcesRequest.as_view(), name='swap;get_resources'),
    path('swap', Swap.as_view(), name='swap'),
    path('time-block/create', TimeBlockCreate.as_view(), name='time_block;create'),
    path('time-block/update', TimeBlockUpdate.as_view(), name='time_block;update'),
    path('time-block/delete', TimeBlockDelete.as_view(), name='time_block;delete'),
    path('time-block/list', TimeBlockList.as_view(), name='time_block;list'),
    path('time-block/rules', TimeBlockRules.as_view(), name='time_block;rules'),
    path('resource-break/create', ResourceBreakCreate.as_view(), name='resource_break;create'),
    path('resource-break/update', ResourceBreakUpdate.as_view(), name='resource_break;update'),
    path('resource-break/delete', ResourceBreakDelete.as_view(), name='resource_break;delete'),
    path('resource-break/list', ResourceBreakList.as_view(), name='resource_break;list'),
    path('resource-break/rules', ResourceBreakRules.as_view(), name='resource_break;rules'),
    path('free-block/create', FreeBlockCreate.as_view(), name='free_block;create'),
    path('free-block/update', FreeBlockUpdate.as_view(), name='free_block;update'),
    path('free-block/delete', FreeBlockDelete.as_view(), name='free_block;delete'),
    path('free-block/list', FreeBlockList.as_view(), name='free_block;list'),
    path('free-block/rules', FreeBlockRules.as_view(), name='free_block;rules'),
    path('maximum-hour/create', MaximumHourCreate.as_view(), name='maximum_hour;create'),
    path('maximum-hour/update', MaximumHourUpdate.as_view(), name='maximum_hour;update'),
    path('maximum-hour/delete', MaximumHourDelete.as_view(), name='maximum_hour;delete'),
    path('maximum-hour/list', MaximumHourList.as_view(), name='maximum_hour;list'),
    path('maximum-hour/rules', MaximumHourRules.as_view(), name='maximum_hour;rules'),
    path('maximum-workspan/create', MaximumWorkspanCreate.as_view(), name='maximum_workspan;create'),
    path('maximum-workspan/update', MaximumWorkspanUpdate.as_view(), name='maximum_workspan;update'),
    path('maximum-workspan/delete', MaximumWorkspanDelete.as_view(), name='maximum_workspan;delete'),
    path('maximum-workspan/list', MaximumWorkspanList.as_view(), name='maximum_workspan;list'),
    path('maximum-workspan/rules', MaximumWorkspanRules.as_view(), name='maximum_workspan;rules'),
    path('travel-table/create', TravelTableCreate.as_view(), name='travel_table;create'),
    path('travel-table/update', TravelTableUpdate.as_view(), name='travel_table;update'),
    path('travel-table/delete', TravelTableDelete.as_view(), name='travel_table;delete'),
    path('travel-table/list', TravelTableList.as_view(), name='travel_table;list'),
    path('travel-table/rules', TravelTableRules.as_view(), name='travel_table;rules'),
    path('constraint-profile/create', ConstraintProfileCreate.as_view(), name='constraint_profile;create'),
    path('constraint-profile/update', ConstraintProfileUpdate.as_view(), name='constraint_profile;update'),
    path('constraint-profile/delete', ConstraintProfileDelete.as_view(), name='constraint_profile;delete'),
    path('constraint-profile/list', ConstraintProfileList.as_view(), name='constraint_profile;list'),
    path('constraint-profile/rules', ConstraintProfileRules.as_view(), name='constraint_profile;rules'),
    path('booking/create', BookingCreate.as_view(), name='booking;create'),
    path('booking/rules', BookingRules.as_view(), name='booking;rules'),
    path('booking/list', BookingList.as_view(), name='booking;list'),
    path('booking/update', BookingUpdate.as_view(), name='booking;update'),
    path('booking/delete', BookingDelete.as_view(), name='booking;delete'),
    path('booking/get-resources', BookingGetResources.as_view(), name='booking;get_resources'),
    path('booking/preschedule', BookingPreschedule.as_view(), name='booking;preschedule'),
    path('booking/schedule', BookingSchedule.as_view(), name='booking;schedule'),
    path('booking/unschedule', Unschedule.as_view(), name='booking;unschedule'),# same function as unschedule, just need 1 more permission for it
    path('booking/swap-get-resources', BookingSwapGetResources.as_view(), name='booking;swap_get_resources'),
    path('booking/swap', BookingSwap.as_view(), name='booking;swap'),
    path('user-constraint-setting-update', UserConstraintSettingUpdate.as_view(), name='user_constraint_setting_update'),
    path('user-scheduling-preference-update', UserSchedulingPreferenceUpdate.as_view(), name='user_scheduling_preference_update'),
    path('activity/sequencing', ActivitySequencing.as_view(),name='activity;sequencing'),
    path('activity/sequencing-rules', ActivitySequencingRules.as_view(), name='activity;sequencing_rules'),
    path('student/create', StudentCreate.as_view(), name='student;create'),
    path('student/update', StudentUpdate.as_view(), name='student;update'),
    path('student/delete', StudentDelete.as_view(), name='student;delete'),
    path('student/list', StudentList.as_view(), name='student;list'),
    path('student/rules', StudentRules.as_view(), name='student;rules'),
    path('student/rules-get-pos', StudentRulesGetPos.as_view(), name='student;rules_get_pos'),
    path('student/rules-get-pos-module', StudentRulesGetPosModule.as_view(), name='student;rules_get_pos_module'),
    path('audit-trail/list', AuditTrailList.as_view(), name='audit_trail;list'),
    path('audit-trail/details', AuditTrailDetails.as_view(), name='audit_trail;details'),

    # just testing code, FE no need call
    path('simulate-schedule', SimulateScheduleResponse.as_view(), name='simulate_schedule'),
    path('test-timeout', TestTimeout.as_view(), name='test_timeout'),
]
