A Laravel package that provides a simple API to retrieve and query student timetable information from Asia Pacific University (APU).
- Retrieve all available intake codes
- Get groupings for a specific intake
- Query timetable schedules by intake and grouping
- Access official APU holidays
You can install the package via Composer:
composer require chengkangzai/laravel-apu-schedule
use Chengkangzai\ApuSchedule\ApuSchedule;
$intakes = ApuSchedule::getIntakes(); // Returns: UC3F2111SE, AFCF2011AS ...
use Chengkangzai\ApuSchedule\ApuSchedule;
$groupings = ApuSchedule::getGroupings("UC3F2111SE"); // Returns: G1, G2, G3 ...
use Chengkangzai\ApuSchedule\ApuSchedule;
$schedule = ApuSchedule::getSchedule("UC3F2111SE", "G1");
Example schedule output
[
{
"INTAKE": "...",
"MODID": "...",
"MODULE_NAME": "...",
"DAY": "...",
"LOCATION": "...",
"ROOM": "...",
"LECTID": "...",
"NAME": "...",
"SAMACCOUNTNAME": "...",
"DATESTAMP": "...",
"DATESTAMP_ISO": "...",
"TIME_FROM": "...",
"TIME_TO": "...",
"TIME_FROM_ISO": "...",
"TIME_TO_ISO": "...",
"GROUPING": "...",
"CLASS_CODE": "...",
"COLOR": "..."
},
{}
]
use Chengkangzai\ApuSchedule\ApuHoliday;
$allHolidays = ApuHoliday::getAll(); // Returns a collection of holidays
use Chengkangzai\ApuSchedule\ApuHoliday;
$holidaysFor2023 = ApuHoliday::getByYear(2023); // Returns holidays for 2023
Example holiday object structure
[
"holiday_description" => "New Year's Day",
"holiday_end_date" => "Sat, 01 Jan 2022 00:00:00 GMT",
"holiday_name" => "New Year's Day",
"holiday_people_affected" => "all",
"holiday_start_date" => "Sat, 01 Jan 2022 00:00:00 GMT",
"id" => 336,
]
composer test
Please see the CHANGELOG file for details on what has changed recently.
Contributions are welcome! Please see the CONTRIBUTING guide for details.
If you discover a security vulnerability, please review our security policy for instructions on how to report it.
This package is open-sourced software licensed under the MIT License.