Import a schedule from an SIO PDF #81
Labels
No labels
bug
chore
data
feature
frontend
good first issue
intermediate
needs/docs
needs/research
needs/upstream
type/bug
type/external
type/feature
type/refactor
urgency
high
urgency
immediate
urgency
low
urgency
medium
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
ScottyLabs/cal#81
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Picking courses one at a time is the main friction for new users. Uploading your SIO schedule PDF fills a schedule in seconds (Figma "Import from SIO").
Current state
/api/users/create_schedule,add_org_to_schedule,schedulesinapi/app/api/users.py. The navbar creates a schedule from a name only; the Figma "Create new schedule" modal with Courses and Clubs tabs does not exist yet.courses.course_numbermaps toorg_id(api/scraper/persistence/supabase_org_course.py). Lecture and recitation are categories under the org.Scope
POST /api/schedule/import_sio: accept a PDF, extract text (e.g. pypdf), and pull out course numbers and sections. Fall back to the OpenRouter model only if the text parse fails. Do not store the PDF.courses.course_numberfor the chosen semester; return matched and unmatched rows without writing anything.Done when
Notes
For Spring registration this needs Spring 2027 loaded first (see the Spring 2027 load issue).