diff --git a/app/book-a-vaccination/2026/improving-booking-retrieval/cancelled-bookings.png b/app/book-a-vaccination/2026/04/improving-booking-retrieval/cancelled-bookings.png similarity index 100% rename from app/book-a-vaccination/2026/improving-booking-retrieval/cancelled-bookings.png rename to app/book-a-vaccination/2026/04/improving-booking-retrieval/cancelled-bookings.png diff --git a/app/book-a-vaccination/2026/improving-booking-retrieval/expired-bookings.png b/app/book-a-vaccination/2026/04/improving-booking-retrieval/expired-bookings.png similarity index 100% rename from app/book-a-vaccination/2026/improving-booking-retrieval/expired-bookings.png rename to app/book-a-vaccination/2026/04/improving-booking-retrieval/expired-bookings.png diff --git a/app/book-a-vaccination/2026/improving-booking-retrieval/index.md b/app/book-a-vaccination/2026/04/improving-booking-retrieval/index.md similarity index 100% rename from app/book-a-vaccination/2026/improving-booking-retrieval/index.md rename to app/book-a-vaccination/2026/04/improving-booking-retrieval/index.md diff --git a/app/book-a-vaccination/2026/improving-booking-retrieval/match-failure.png b/app/book-a-vaccination/2026/04/improving-booking-retrieval/match-failure.png similarity index 100% rename from app/book-a-vaccination/2026/improving-booking-retrieval/match-failure.png rename to app/book-a-vaccination/2026/04/improving-booking-retrieval/match-failure.png diff --git a/app/book-a-vaccination/2026/improving-booking-retrieval/ref-no-error.png b/app/book-a-vaccination/2026/04/improving-booking-retrieval/ref-no-error.png similarity index 100% rename from app/book-a-vaccination/2026/improving-booking-retrieval/ref-no-error.png rename to app/book-a-vaccination/2026/04/improving-booking-retrieval/ref-no-error.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/closure-checklist.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/closure-checklist.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/closure-checklist.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/closure-checklist.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/closure-warning.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/closure-warning.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/closure-warning.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/closure-warning.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/date-list.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/date-list.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/date-list.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/date-list.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/index.md b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/index.md similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/index.md rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/index.md diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/service-closed.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/service-closed.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/service-closed.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/service-closed.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/service-last-day.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/service-last-day.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/service-last-day.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/service-last-day.png diff --git a/app/book-a-vaccination/2026/preparing-for-end-of-season/site-list.png b/app/book-a-vaccination/2026/04/preparing-for-end-of-season/site-list.png similarity index 100% rename from app/book-a-vaccination/2026/preparing-for-end-of-season/site-list.png rename to app/book-a-vaccination/2026/04/preparing-for-end-of-season/site-list.png diff --git a/app/book-a-vaccination/2026/08/integrating-with-the-app/index.md b/app/book-a-vaccination/2026/08/integrating-with-the-app/index.md new file mode 100644 index 000000000..d78b95c25 --- /dev/null +++ b/app/book-a-vaccination/2026/08/integrating-with-the-app/index.md @@ -0,0 +1,62 @@ +--- +title: Improving vaccination booking within the NHS App +date: 2026-08-25 +tags: +- service integration +- vaccination booking +- NHS App +description: How we changed the booking journey to create a streamlined journey for NHS App users +author: Jo Lumley +--- + +We encourage people to use the NHS App to access services where possible. Because NHS App users are already securely logged in, they can access services more easily than if they use a web browser. + +The National Booking Service (NBS) includes several optional features, such as: + +- joint bookings +- booking for another person (a proxy booking) +- getting 2 vaccines in 1 appointment (co-administration) + +NBS also checks users against the Personal Demographics Service (PDS) when they log in. This helps us identify who the appointment is for and check if they are eligible. + +Previously, NBS asked users whether they wanted to do a joint booking at the start of the journey, before we verified their identity. We’d also implemented a ‘proxy by default’ journey where we were using agnostic language that suited people to book for either themselves or others, instead of having different versions of the same journey for people who were booking for themselves, and people who were booking for others. + +These features made sense in the web-based version of NBS. But we realised when we started to integrate with the app, that we had inadvertently made it slightly more difficult for ourselves + +## The problem + +Because NHS App users are already verified, and the initial stage of our integration only included app users who were booking for themselves, our agnostic language model in the web based NBS journey didn’t quite fit the app. This meant our development team needed to create some dynamic language handling, to make sure that app users saw first person language throughout the journey. The team needed to make sure we considered both language requirements every time we added a new feature. + +We then encountered another issue with joint bookings. As the web-based NBS journey asked users about joint bookings before the PDS authentication step, this meant that the already authenticated app user would miss this step when they entered NBS from the app. We needed to design a different version of joint bookings for the app, which would mean more work for the dev team, and more work to maintain the different journeys. + +We knew that we needed to be more integrated with the app, and that keeping the service in its current state would be increasingly difficult as we expand NBS in line with our strategy. + +## What we did + +We mapped out the NBS user journey to see where we could move key decisions. We needed these decision points to happen after a user enters from the NHS App. + +Designing the service this way makes integration much easier. Users can drop into the booking process from the app and continue smoothly. It also reduces our workload, as we only need to build and maintain one version of NBS for both the website and the app. + +![journey drawings showing before and after](journey-changes.png) + +### Changing when we ask about joint bookings. + +We moved the joint bookings question so that it appeared after the first person has been authenticated and added to the booking journey. This means it will appear after the app user has joined the journey. + +![screenshot showing the joint bookings upsell page](joint-booking.png) + +### Changing how we approach proxy user journeys + +First we changed how we handle proxy and first person journeys. We introduced a filter question at the start of the NBS web journey, to ask users if they are booking for themselves or another person. + +This lets us decide how to handle language later in the journey. App users are currently always first person users, so we can send them into our first person journey. + +In future proxy journeys might become available via the NHS app, and if that happens we’ll be able to direct those users to our proxy journey very easily now that we’ve made this change. + +![screenshot showing the proxy user filter question page](proxy-booking.png) + +## Next steps + +The two changes we’ve talked about here are small, but they’ll have a big impact on the way we scale NBS, and how we integrate with the app. + +These changes have been implemented, and our aim for the future is to design with an ‘app first’ mindset, which should help us make sure we don’t design things for the web journey which make integration with the app more difficult in future. diff --git a/app/book-a-vaccination/2026/08/integrating-with-the-app/joint-booking.png b/app/book-a-vaccination/2026/08/integrating-with-the-app/joint-booking.png new file mode 100644 index 000000000..eac816be5 Binary files /dev/null and b/app/book-a-vaccination/2026/08/integrating-with-the-app/joint-booking.png differ diff --git a/app/book-a-vaccination/2026/08/integrating-with-the-app/journey-changes.png b/app/book-a-vaccination/2026/08/integrating-with-the-app/journey-changes.png new file mode 100644 index 000000000..f42f0cfa8 Binary files /dev/null and b/app/book-a-vaccination/2026/08/integrating-with-the-app/journey-changes.png differ diff --git a/app/book-a-vaccination/2026/08/integrating-with-the-app/proxy-booking.png b/app/book-a-vaccination/2026/08/integrating-with-the-app/proxy-booking.png new file mode 100644 index 000000000..3ad69cae6 Binary files /dev/null and b/app/book-a-vaccination/2026/08/integrating-with-the-app/proxy-booking.png differ