Roster & Scheduling Officer

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

35k

HOURS PER WEEK

40

DATE UPDATED

Jul 10, 2026

JOB OVERVIEW

Click link to apply: ----------

Location: Work From Home
Work Hours: 7:00 AM – 4:00 PM PHT
Starting Offer: ?35,000+

We're looking for a Roster & Scheduling Officer who's great at the people side of scheduling. This isn't about call-center forecasting models — it's about making sure the right support worker is in the right client's home at the right time, every time. You'll be the person who keeps our care delivery running smoothly by matching availability with need, filling gaps fast, and keeping both clients and workers in the loop.


What You'll Be Doing
• Build and manage daily/weekly rosters, matching support workers to clients based on availability, skills, and client preferences.
• Fill last-minute gaps quickly when a worker calls in sick or a shift falls through — keeping care continuous for clients who depend on it.
• Keep clients informed of who's coming and when, and handle their questions or change requests with warmth and professionalism.
• Check in with support workers on availability, confirm shift details, and make sure compliance records (certifications, police checks, etc.) stay current.
• Solve same-day hiccups — missed shifts, double-bookings, conflicting requests — independently and calmly.
• Keep the CRM and rostering tools 100?curate, with clean logs of service hours and shift changes.
• Track attendance and coverage trends to spot patterns and suggest smarter ways to roster.

What We're Looking For
• At least 2 years' experience in rostering, scheduling, or workforce coordination — ideally in home care, healthcare, NDIS, aged care, or a similarly people-facing service industry.
• Clear, professional English for both phone and email — you'll be talking to clients and workers daily.
• Comfortable in Google Workspace, and quick to pick up rostering/CRM platforms.
• Highly organized, with a calm head when things shift suddenly.
• A genuine people-first mindset — you understand that behind every roster line is a person relying on that care showing up.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.1105
Total Execution Time  0.1118
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,498,192 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Roster-Scheduling-Officer-1686369
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.1051 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1686369
 LIMIT 1 
0.0018   SELECT *
FROM `employers`
WHERE `employer_id` = 113903
 LIMIT 1 
0.0007   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1686369
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-19',ej.date_added) duration_daysDATEDIFF('2026-07-19',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1686369' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1686369 
0.0014   UPDATE employer_jobs SET hit_counts '***Jul-10-2026=1013***Jul-11-2026=29***Jul-12-2026=34***Jul-13-2026=33***Jul-14-2026=29***Jul-15-2026=17***Jul-16-2026=10***Jul-17-2026=9***Jul-18-2026=1***Jul-19-2026=1' WHERE job_id'1686369'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1172' WHERE job_id'1686369'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1686369' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1686369 
0.0973   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '113903'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)