get_sections
Search course sections for a term and return class numbers, meeting times, instructors, seat counts, and clash-free schedule options for planning.
Instructions
Class Search sections of courses in one term (e.g. '2027-spring'), to show after a plan for its first term once
that term's schedule is out: class number (class_nbr, what Student Center asks for), meetings (days, time,
where), mode, instructor, seats_open, waitlist_open, enrolled, and attributes (permission numbers, GE tags; Class
Search shows no capacity). rate_my_professors: {instructor: a Rate My Professors search} per named instructor, links for
the student to open (anonymous student opinion, not SF State's). not_offered:
no section that term (move it in the plan, then check_plan). unknown: GatorPath has no schedule for that
subject and term (not out yet, or a subject it didn't scrape): check Class Search. A snapshot from scraped_at:
seats, rooms and instructors change, so the student confirms in Class Search before registering.
Time clashes are checked here, not by you: `schedule` {code: [class_nbr, …]} is one set of sections with no time
clashes, the fewest full sections first (a lecture with its lab or activity is one pick), and each section says
in_schedule, or clashes_with: the scheduled sections of other courses it overlaps ([]: it fits instead). `sets`:
how many clash-free sets there are. When none fits, schedule is null and always_clash names the course pairs that
never fit together: one moves to another term (then check_plan).Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"term": "<term>",
"codes": "<codes>"
},
"name": "get_sections"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | ||
| codes | Yes |