Using shortcuts app with scriptable

I am trying to make a school bell schedule home screen app so I click on the app and I get presented with a menu. I’m wondering if I need to make 4 scripts (1 for each bell schedule and then connect the scripts to each menu item) or if I can create a menu in scriptable and not make 4 scripts. I have provided what I have for now I am getting a lot of google gemini telling me scriptable cant send notifications based on time so I am wondering how I can work around that but I am unsure because what I want to build first is timed notifications so once I get that I can make another sort of menu where I copy and paste the assignments I need to do for each period and when lets say its 3rd period I can see at the start of my period the assignments I need to do which I have a basic understanding on how to do that

const scheduleData = {
  "regular": [
    { "start": "7:25", "end": "7:30 AM", "label": "Early Warning Bell" },
        { "start": "7:30 AM", "end": "8:17 AM", "label": "1st Period" },
        { "start": "8:21 AM", "end": "9:04 AM", "label": "2nd Period" },
        { "start": "9:08 AM", "end": "9:51 AM", "label": "3rd Period" },
        { "start": "9:55 AM", "end": "10:37 AM", "label": "4th Period" },
        { "start": "10:41 AM", "end": "11:23 AM", "label": "5th Period" },
        { "start": "11:27 AM", "end": "12:09 PM", "label": "6th Period" },
        { "start": "12:13 PM", "end": "12:56 PM", "label": "7th Period" },
        { "start": "1:00 PM", "end": "1:43 PM", "label": "8th Period" },
        { "start": "1:47 PM", "end": "2:30 PM", "label": "9th Period" }
      ], const selectedSchedule = await Script.getInput({
  type: Input.Type.Selection,
  title: "Choose Your Schedule",
  options: ["Regular", "45-minute Pep Rally", "2-hour Delay", "Spring 2024 EOC Testing"]
});

if (selectedSchedule) {
  const scheduleDetails = scheduleData[selectedSchedule.toLowerCase()];
  if (scheduleDetails) {
    await Script.showAlert({
      title: "Selected Schedule",
      message: `${selectedSchedule} schedule chosen`
    });
  } else {
    await Script.showAlert({
      title: "Error",
      message: "Invalid schedule selection"
    });
  }
}

As far as I know, it’s only possible to trigger Scriptable scripts based on time using Shortcuts automations.

This looks like something that might work better in Calendar (which Scriptable can interact with) but your post is a bit lacking in detail. What are you trying to do?

So my school has multiple bell schedules the one I provided is my normal bell schedule what I want is to be able to choose from the 4 I have regular 2 hour delay etc. so I have a menu to choose from and have a widget that shows (when a specific bell schedule is selected) what period I’m currently in and a list of assignments (yet to figure out how to add assignments) so I can keep track of my assignments and see them if that makes sense

Why not just create your timetable as recurring events in separate calendars and just make the active one visible? You could use Focus Filters to switch automatically. Or if the timetable change is regular (e.g. Week A, Week B…), just change the recurrence rules to suit. You can colour-code the calendars, set alarms and notifications, and use the built-in Calendar widget. It’s all built into the system.