Active Bookings Queue 8
BS-2247 Collecting
14 Hocking St
Karrinyup, WA 6018
2x Yellow + 1x Red 240lt West
BS-2248 Collecting
7 Odin Rd
Innaloo, WA 6018
3x Yellow 240lt (Recycling) West
BS-2249 Scheduled
22 Balcatta Rd
Balcatta, WA 6021
4x Red 240lt (General) East
BS-2250 Scheduled
5 Tuart Hill Dr
Tuart Hill, WA 6060
2x Red + 1x Yellow 240lt East
BS-2233 Missed — Recover
31 Osborne Pk Rd
Osborne Park, WA 6017
2x Yellow + 2x Red 240lt East
BS-2251 Pending
9 Churchlands Ave
Churchlands, WA 6018
3x Red 240lt (General) West
Fleet Status 4
🚛 STR-V01
Zone: West
Driver: M. Hayes
Collected: 6 jobs
ETA next: 12 min
Capacity: 72%
🚛 STR-V02
Zone: East
Driver: T. Brock
Collected: 4 jobs
ETA next: 8 min
Capacity: 45%
🚛 STR-V03
Zone: West
Driver: P. Singh
Collected: 8 jobs
Status: Lunch
Capacity: 88% — Disposal run soon
🚛 STR-V04
Zone: East
Driver: J. Chu
Collected: 3 jobs
ETA next: 22 min
Capacity: 30%
Today's KPIs — Live
MS — Missed Services
1 Recovery →
Service Availability 100%
Collection Rate 94.1%
PA — Vehicles Down 0
RC — Complaints 2 → 100%
Customer Satisfaction 87%
WHS Notices 0
Legend
Collecting Now
Scheduled Today
Pending Confirmation
Missed — Recovery
Collection Vehicle
East Zone
West Zone
Today at a Glance
Collections
21
↑ 3 vs yesterday
Scheduled
8
Remaining today
Items Collected
89
Yellow ♻ + Red 🗑 bins
Avg Sched Time
6.2d
↓ KPI: 10d max
Zone Summary
⬤ East Zone 11 jobs today
Suburbs: Balcatta, Tuart Hill, Nollamara, Westminster, Stirling
⬤ West Zone 10 jobs today
Suburbs: Karrinyup, Innaloo, Scarborough, Trigg, Churchlands
Service Alerts
⚠ Missed Service — BS-2233
31 Osborne Pk Rd — Recovery assigned to STR-V02. ETA: tomorrow 08:00.
⚠ Capacity Alert — STR-V03
Vehicle at 88% capacity. Disposal run required before next booking.
THINK LIDS 240lt Bin Status
♻ Yellow (Recycling) 142 active
🗑 Red (General Waste) 138 active
Think Lids Secure 278 / 280
Avg Collection Interval 6.2 days
CIS API — Last Sync
Bookings pushed from portal: 3 min ago
Status updates to City: Real-time
File transfer backup: 06:00 daily
Next monthly report: 24 Mar 2026
🔒 Privacy Collection Notice
All resident booking data is collected under the Privacy Act 1988 (Cth) and WA State Records Act. Privacy Notice displayed at booking webform. Data retained per City of Stirling data governance policy.

Booking Management

Total This Month
142
↑ 18% vs last month
Within 10-Day KPI
100%
Target met ✓
Avg Booking → Collection
6.2 days
KPI max: 10 days
Recovery Rate
100%
Next-day recovery ✓
All Bookings — March 2026
Booking IDResident AddressSuburbZone Bins (Y=Recycling / R=General)BookedScheduledStatusDriver

Route Management

🚛 STR-V01 — West Zone Route
Driver: M. Hayes | 6 complete · 3 remaining
🚛 STR-V02 — East Zone Route
Driver: T. Brock | 4 complete · 5 remaining
Route Optimisation — CIS Integration
Algorithm
TSP + Geo-cluster
Bin collection points geocoded via CIS address + asset database
Data Source
CIS Portal API
Bookings ingested nightly + real-time via webhook
Route Efficiency
91.3%
↑ 4.2% vs manual routing

Performance Analytics

Total Collections FY26
3,812
Collection jobs since Jul 2025
Customer Satisfaction
87%
KPI target: 80% ✓
Avg Bins per Job
2.24
Yellow ♻ (recycling) & Red 🗑 (general) 240lt
Collections by Suburb — FY26
KPI Scorecard — Current Period
KPI Target Actual Status
Monthly Collection Volume — FY26

CIS API Integration

City of Stirling Corporate Information Services Platform — RESTful API Integration

🔗
Connected
CIS Platform
🔐
OAuth 2.0
JWT + Bearer
📄
v1.3.2
API Version
99.97%
Uptime (30d)
🔌 RESTful API Endpoints
Base: https://api.stirling.wa.gov.au/cis/v1/waste
GET /bookings ● 200
Fetch all pending resident bookings from portal
GET /bookings/{id} ● 200
Get single booking detail by ID
POST /bookings/{id}/status ● 201
Push collection status update to City (collected/missed/rescheduled)
POST /collections/complete ● 201
Submit completed collection record with timestamp and items
GET /residents/{id}/allowance ● 200
Check resident's annual allowance utilisation
POST /reports/monthly ● 202
Submit pre-approved monthly report (JSON/CSV)
PUT /bookings/{id}/reschedule ● 200
Reschedule missed collection; triggers resident notification
GET /zones/{zone}/schedule ● 200
Get all upcoming bookings for East or West zone
🔐 Security & Authentication
ProtocolOAuth 2.0 / OIDC
Token TypeJWT Bearer (RS256)
Token Expiry3600s + refresh
TransportTLS 1.3 (HTTPS only)
API Key Rotation90-day cycle
IP AllowlistContractor CIDR
Rate Limit1000 req/hr
Privacy Scoperead:bookings write:status
📦 Data Formats
Primary FormatJSON (UTF-8)
Backup TransferSFTP / CSV (daily)
Date FormatISO 8601
AddressesGNAF standard (G-NAF)
Versioning/v1/ in path + header
Paginationcursor-based
⚠️ Error Handling
400 Bad Request Validation error
401 Unauthorized Re-authenticate
404 Not Found Booking not found
429 Rate Limited Backoff + retry
500 Server Error Fallback to SFTP
📄 Sample Booking Payload — GET /bookings
{
  "bookingId": "BS-2249",
  "version": "1.3.2",
  "timestamp": "2026-03-07T09:14:32+08:00",
  "resident": {
    "id": "R-98432",
    "address": "22 Balcatta Rd",
    "suburb": "Balcatta",
    "postcode": "6021",
    "zone": "EAST",
    "privacyConsentRef": "PC-20260307-98432"
  },
  "service": {
    "type": "COMMERCIAL_WASTE_COLLECTION",
    "items": [
      { "itemType": "YELLOW_RECYCLING_240LT", "binType": "YELLOW_240LT", "colour": "Yellow", "stream": "Recycling" }
    ],
    "binType": "240LT_THINK_LID", "binColour": "YELLOW", "wasteStream": "RECYCLING",
    "requestedDate": "2026-03-07",
    "scheduledDate": "2026-03-11",
    "schedulingDays": 4,
    "kpiCompliant": true
  },
  "status": "SCHEDULED",
  "contractorRef": "STR-V02",
  "_links": {
    "self": "/cis/v1/waste/bookings/BS-2249",
    "status": "/cis/v1/waste/bookings/BS-2249/status",
    "resident": "/cis/v1/waste/residents/R-98432"
  }
}
📁 Secure File-Based Fallback (SFTP)
City → Contractor
Daily Booking Export
bookings_YYYYMMDD.csv
Delivered by 05:00 AWST via SFTP
Contractor → City
Daily Status Report
status_YYYYMMDD.csv
Submitted by 20:00 AWST
Monthly
Performance Report
report_YYYY_MM.pdf/.xlsx
Pre-approved format, by 5th of month
🔷
Clay API
API Key
Mode
Suburbs
All None
WEST ZONE
EAST ZONE
Business Type
🛍 Retail
🍽 Food & Bev
🏢 Office
🏥 Medical
🔧 Automotive
🏭 Industrial
⚽ Sports/Rec
🏨 Hospitality
Bin Configuration
Business Prospect Search
Find commercial waste collection prospects across City of Stirling suburbs
Searching suburbs via Clay…
🔷
Ready to search
Select suburbs and business types, then click Search Businesses.
Use Demo mode to preview results without an API key.
🏠
Collections Today
21 ↑ 3
🚛
Active Vehicles
4 3 active · 1 idle
Avg Schedule Time
6.2d KPI: ≤10d
📍
Pending Bookings
8 within KPI window
⚠️
Missed — Recovery
1 STR-V02 assigned
😊
Satisfaction
87% KPI: ≥80%
🔗
CIS API Status
Online 99.97% uptime
📅
Contract Start
1 Jul 2026 116d away
Settings & API Integration
City of Stirling CIS Platform · Contractor Configuration
🔗
Connected
CIS Platform
🔐
OAuth 2.0
JWT + Bearer
📄
v1.3.2
API Version
99.97%
Uptime (30d)
🔌
RESTful API Endpoints
https://api.stirling.wa.gov.au/cis/v1/waste
GET/bookings● 200
Fetch all pending resident bookings from portal
GET/bookings/{id}● 200
Get single booking detail by ID
POST/bookings/{id}/status● 201
Push collection status update to City (collected/missed/rescheduled)
POST/collections/complete● 201
Submit completed collection record with timestamp and items
GET/residents/{id}/allowance● 200
Check resident's annual allowance utilisation
POST/reports/monthly● 202
Submit pre-approved monthly report (JSON/CSV)
PUT/bookings/{id}/reschedule● 200
Reschedule missed collection; triggers resident notification
GET/zones/{zone}/schedule● 200
Get all upcoming bookings for East or West zone
🔐
Security
ProtocolOAuth 2.0 / OIDC
TokenJWT RS256
Expiry3600s + refresh
TransportTLS 1.3
Key Rotation90-day
IP AllowlistContractor CIDR
Rate Limit1000 req/hr
Scoperead:bookings write:status
📦
Data Formats
PrimaryJSON (UTF-8)
FallbackSFTP / CSV
DatesISO 8601
AddressesG-NAF
Versioning/v1/ in path
PaginationCursor-based
⚠️
Error Codes
400 Bad RequestValidation
401 UnauthorizedRe-auth
404 Not FoundNo booking
429 Rate LimitedBackoff
500 Server Error→ SFTP
📄
Sample Booking Payload — GET /bookings
{
  "bookingId": "BS-2249",
  "version": "1.3.2",
  "timestamp": "2026-03-07T09:14:32+08:00",
  "resident": {
    "id": "R-98432",
    "address": "22 Balcatta Rd",
    "suburb": "Balcatta",
    "postcode": "6021",
    "zone": "EAST",
    "privacyConsentRef": "PC-20260307-98432"
  },
  "service": {
    "type": "COMMERCIAL_WASTE_COLLECTION",
    "items": [
      { "itemType": "YELLOW_RECYCLING_240LT", "binType": "YELLOW_240LT",
        "colour": "Yellow", "stream": "Recycling" }
    ],
    "binType": "240LT_THINK_LID",
    "binColour": "YELLOW",
    "wasteStream": "RECYCLING",
    "requestedDate": "2026-03-07",
    "scheduledDate": "2026-03-11"
  },
  "status": "SCHEDULED",
  "contractorRef": "STR-V02",
  "_links": {
    "self": "/cis/v1/waste/bookings/BS-2249",
    "status": "/cis/v1/waste/bookings/BS-2249/status"
  }
}
📁
Secure File-Based Fallback (SFTP)
City → Contractor
Daily Booking Export
bookings_YYYYMMDD.csv
Delivered by 05:00 AWST
Contractor → City
Daily Status Report
status_YYYYMMDD.csv
Submitted by 20:00 AWST
Monthly
Performance Report
report_YYYY_MM.pdf/.xlsx
By 5th of month