Skip to main content
PageTech Solutions Limited logo Turning Complex Problems Into Confident Technology
  • Consultancy (current section)
    • Consultancy overview
    • Services
    • Fixed-price reviews
    • Testimonials
    • Pricing
    • Working with your IT team
    • FAQ
    • Contact
  • Freelance
    • Freelance overview
    • What I fix
    • Testimonials
    • Pricing
    • Hiring through a platform
    • Availability
    • Tech stack
    • FAQ
    • Contact
  • Recruiters
    • Recruiters overview
    • Fit and experience
    • Testimonials
    • Rates
    • Availability
    • Tech stack
    • FAQ
    • Contact
  • About
  • Workshop
  • Search
  • Talk to Jamie
  1. Home
  2. Workshop
  3. Real-Time Calendar Integration

Case study

Real-Time Calendar Integration

Live Outlook availability as a queryable API — built so booking systems read the real diary, not a copy.

C# / .NET 10Azure FunctionsMicrosoft GraphAzure DevOps

At a glance

  1. ChallengeBooking links and the availability widget on this site were reading a calendar that could be minutes or hours out of date, which is exactly how double-bookings happen.
  2. ApproachA small C# service listens for Outlook calendar changes through Microsoft Graph and publishes the real appointment schedule for other systems to read.
  3. OutcomeThe booking flow on this site reads the same live schedule the diary does — real free slots, not hourly guesses
running cost, March 2026
£9.74
running cost, September 2026
£0.28

Challenge

Booking links and the availability widget on this site were reading a calendar that could be minutes or hours out of date, which is exactly how double-bookings happen. Availability needed to be live, and it needed to respect the things a person would: bank holidays, a minimum notice period, and more than one mailbox.

Approach

A small C# service listens for Outlook calendar changes through Microsoft Graph and publishes the real appointment schedule for other systems to read. Microsoft Graph change notifications keep it current; a periodic reconciliation pass catches anything a notification missed, because notifications alone are not a guarantee. England-and-Wales bank holidays come from the UK Government API and are blocked automatically, and nothing is offered inside a configurable minimum-notice window. The third-party integrations sit behind small, separately versioned libraries so the core logic is tested without a live mailbox, and a change to one provider never touches the others.

Outcome

  • The booking flow on this site reads the same live schedule the diary does — real free slots, not hourly guesses
  • Calendar changes pushed by Microsoft Graph notifications, with reconciliation as the safety net
  • Running cost fell from £9.74 in March 2026, when it ran on container instances, to £0.28 in September 2026 for the same workload — Azure Cost Management actuals for its own resource group
  • Bank holidays excluded and minimum notice enforced without anyone blocking out a calendar by hand
  • Built for the feed being unavailable: a failed read is never cached, so the next request tries again, and the calendar on this site keeps showing the last good copy, warning once it is more than 14 days old rather than showing an empty diary; deployed through the same build-once pipeline as everything else

Have a similar problem in your own systems? Book a free 20-minute call or describe it.

Where judgement mattered

  • Webhooks and polling, rather than trusting either on its own
  • Publishing the true schedule rather than a coarse availability grid
  • Isolating each external contract behind a facade so the core stays testable and provider changes don't cascade
  • Credential-free access to storage wherever Azure allows it

Technology stack

C# / .NET 10 · Azure Functions · Microsoft Graph · Azure Service Bus · Azure DevOps CI/CD

Book a free 20-minute call More case studies

Calendar not loading, or no time suits? Call, WhatsApp or message me.

© 2026 PageTech Solutions Limited. All rights reserved.

Company no. 17014904

VAT no. 514295790

Based in Andover, Hampshire, working remotely with businesses across the UK.

Registered office (post only, no visitors): Belmont Suite, Paragon Business Park, Chorley New Road, Bolton, Lancashire, BL6 6HG

ICO registration no. ZC179729

I use Microsoft Clarity to improve this site's usability, only if you allow it. See my privacy policy for details.

Visa Mastercard American Express PayPal

Contact Hours

Monday 09:00–12:00, 13:00–17:00
Tuesday 09:00–12:00, 13:00–17:00
Wednesday 09:00–12:00, 13:00–17:00
Thursday 09:00–12:00, 13:00–17:00
Friday 09:00–12:00, 13:00–17:00
Saturday Closed
Sunday Closed
UK time (GMT/BST)

Phone: 01264 354354

ContactAboutTestimonialsWorkshopFAQPricingProductsNot a business?PrivacyTermsAccessibilitySearchSite mapBook a free 20-minute callLinkedInX (Twitter)Bluesky