iCal feeds
The iCal feed exposes booking data in the standard iCalendar format so your team can subscribe to bookings from Google Calendar, Outlook, Apple Calendar, or any other iCal-compatible application.
Enable the feed
- Go to NetterTech Events → Rental Settings
- Toggle Enable iCal feed
- A 64-character access token is generated automatically
- Copy the feed URL (it includes the token)
Feed URL formats
Two feed types are available:
All spaces – every booking across every space:
https://your-site.com/wp-json/nettertech-events-rentals/v1/rental-ical/feed?token=YOUR_TOKEN
Per space – bookings for one specific space only:
https://your-site.com/wp-json/nettertech-events-rentals/v1/rental-ical/space/{space_id}?token=YOUR_TOKEN
Replace {space_id} with the numeric ID of the space (visible in the Spaces admin list).
Subscribing from common calendars
Google Calendar
- Open Google Calendar in a browser
- In the left sidebar, next to Other calendars, click + → From URL
- Paste the feed URL and click Add calendar
- Google Calendar refreshes external calendars every few hours – not in real time
Outlook (desktop)
- File → Account Settings → Account Settings
- Internet Calendars tab → New
- Paste the feed URL → Add
- Outlook syncs on a schedule set in account preferences
Apple Calendar
- File → New Calendar Subscription
- Paste the feed URL → Subscribe
- Choose sync interval (every 5 minutes, hourly, daily)
Token security
The access token is a 64-character hex string and is validated server-side using hash_equals() to prevent timing attacks.
The token is a shared secret. Anyone with the URL can read all bookings in the feed. Treat it like a password:
- Don’t commit it to public code repositories
- Don’t share it in public Slack/Discord channels
- Revoke it immediately if it leaks
Regenerating the token
If a token leaks (or you just want to rotate periodically):
- Go to NetterTech Events → Rental Settings
- Click Regenerate Token
- The old token is invalidated immediately
- Update any subscribers (calendar apps, other services) with the new token URL
What the feed includes
Each booking in the feed becomes a VEVENT with:
- SUMMARY – Booking title or renter name + space
- DTSTART / DTEND – Booking start and end times
- LOCATION – Space name and address
- DESCRIPTION – Booking status, renter contact, add-ons summary
- UID – Unique booking ID for deduplication
- STATUS – TENTATIVE (inquiry, pending) or CONFIRMED (approved, confirmed, in progress)
Cancelled, expired, and dispute bookings are excluded from the feed.
Troubleshooting
Feed returns HTTP 403
- Verify the feed is enabled in Rental Settings
- Check that the token in the URL matches the current token
- If the token was recently regenerated, update the subscription URL
Calendar subscriber shows stale data
- External calendar apps cache feeds. Google Calendar may take several hours to refresh.
- To force a refresh, remove and re-add the subscription
- For real-time admin visibility, use the Calendar dashboard in WordPress instead of an iCal subscription
Feed URL shows in server logs
If you’re auditing access, the token appears in query strings in access logs. Consider rotating the token if you’re concerned about log exposure.