Build your own Booking Portal & Shopping Basket using the API v2 Feeds

Build your own Booking Portal & Shopping Basket using the API v2 Feeds

Learn how to use the API Feeds to integrate your Invoice and Payment data with your finance and accounting systems

If you’ve purchased accessplanit’s API Feeds, you have everything you need to build your own fully branded booking portal and shopping basket, no additional licences or modules required! This page gives you an overview of what’s possible and shows you how your developers can use the accessplanit API Feeds to create a bespoke customer experience that sits seamlessly within your own website.

This guide is designed for Training Administrators who want to understand what is possible, and for the developers who will bring those ideas to life!

As building a custom booking portal and/or basket can require a significant amount of technical development, this page will take you through the proof of concept (PoC) that we have created which includes all core requirements of a custom booking portal; a course search, view bookings, book courses with discounts, a ‘my account’ area, view invoices, and launch eLearning. This is so you can see how an end-to-end journey can be built using the API Feeds, helping you to plan your approach, communicate requirements clearly between administrators and developers, and give your development team a practical head start on how each feature can be implemented.

image-20251117-115115.png

Follow this page to explore our proof of concept and see what is possible to build using the accessplanit v2 APIs!


What is included in the proof of concept (PoC)

In this section we tour though the areas developed within the proof of concept

Our proof of concept demonstrates how you can use accessplanit’s API Feeds to create a fully functioning booking portal and shopping basket. Each area has been built using only the API Feeds, no additional licences, modules, or platform components, so you can see exactly how a real-world journey can work end to end. We’ve also included short video tours to help you visualise the user experience, understand the underlying logic, and pick up our recommendations for best practice.

With your own custom booking portal and basket, you would have control of the design including the layout, the colours, and the user journey. The accessplanit PoC is to demonstrate what is possible!

 

Course search

A real-time course catalogue where users can browse available courses, filter results, view key information, and add courses to their basket.

In our PoC we have chosen to include:

  • A course search based on the label of the courses and the delivery method (class, web, eLearning etc.)

  • Course search results including the name of the Course Template, the delivery method, and a CTA button for each labelled ‘Show Dates’

  • A course dates table containing the start date, end date, duration, status, cost, venue, available places, and a ‘Book’ button

  • A ‘Book’ button which adds the selected course to the shopping basket

Commercial Site - Course Search.mp4
Video demonstrating a PoC for how the API Feeds can be used to create a course search

 

My Courses

A dedicated areas to show a user’s upcoming and historical courses.

In our PoC we have chosen to include:

  • A ‘My Courses’ section which lists all courses the user has been registered onto

  • A ‘My Web Courses’ section where they can view more information about the course, such as the objectives, and access joining links

  • A ‘My eLearning Courses’ section where they can see their status on their eLearning courses and launch the packages from here

Commercial Site - My Courses.mp4
Video demonstrating a PoC for how the API Feeds can be used to create 'My Course' areas in a portal

 

My eLearning

Users can launch their assigned eLearning packages directly from the portal.

In our PoC we have chosen to include:

  • A ‘My eLearning Courses’ section where they can see their status on their eLearning courses

  • A ‘launch’ button to open the SCORM package

Commercial Site - eLearning Launcher.mp4
Video demonstrating a PoC for how the API Feeds can be used to display and launch eLearning Courses

 

My Bookings

Users can view the bookings they have made onto courses, including essential details such as status, dates, and booking references.

In our PoC we have chosen to include:

  • A ‘My Bookings’ section which lists the bookings made by the logged in user

  • A ‘View Booking’ button which launches a pop-up window to view more information about the booking

  • A ‘View Invoice’ button which launches a pop-up window to view the Invoice linked to this booking

Commercial Site - My Bookings.mp4
Video demonstrating a PoC for how the API Feeds can be used to create a ‘My Bookings’ section with pop-up windows containing more information

 

Shopping Basket

A full booking journey, allowing users to book themselves and others, and apply accessplanit Discounts.

In our PoC we have chosen to include:

  • A ‘Book’ button which adds the selected course to the shopping basket from the course search

  • Assign delegates to the course places (or leave empty for a placeholder booking), available users to assign as delegates are based on the logged in user’s access level for security

  • Apply discount codes

  • Checkout to create a booking and register the delegates/placeholders onto the course

This PoC does not include a chosen payment gateway to take payments, you have the freedom to implement the gateway of your choosing.

Commercial Site - Basket.mp4
Video demonstrating a PoC for how the API Feeds can be used to create a shopping basket

 

My Account

An area where users can manage their personal details and reset their password.

In our PoC we have chosen to include:

  • A dedicated page to view and edit personal and contact information

  • A ‘change password’ section

  • A ‘marketing opt-in’ option

Commercial Site - My Account.mp4
Video demonstrating a PoC for how the API Feeds can be used to create a My Account page

 

My Invoices

Users can view the invoices targeted to them, including the invoice status.

In our PoC we have chosen to include:

  • A ‘My Invoices’ section which lists the invoices targeted to the logged in user

  • A ‘View Invoice’ button which launches a pop-up window to view the details of the Invoice, including the items

The proof of concept does not include a ‘make payment’ option against invoices.

Commercial Site - My Invoices.mp4
Video demonstrating a PoC for how the API Feeds can be used to create a My Invoices section with a pop-up window to view the Invoice

 


Access to resources

In this section you will get access to the resources and information to help you build your own portal or basket

GitHub Repo

 

API v2 support resources

Integrate with the accessplanit API v2 Feeds - Overview

API v2 - Developer Resources

 


Top tips & recommendations

In this section we outline our top tips for your portal and basket!

Building your own booking portal or shopping basket gives you full control over the user experience. Below are our key recommendations to help you create a smooth, secure, and accessible journey using the API Feeds. These tips are based on best practice and what we’ve learned from supporting customers building their own interfaces.

Accessibility

Designing an accessible experience makes sure that every learner can search for courses, make bookings, and access their training without barriers. We recommend considering the following when designing your custom portal:

  • Support keyboard-only navigation, this allows a wider range of users to navigate your portal and basket

  • Use descriptive aria-labels for buttons such as “Add to Basket”, “View Course”, or “Launch eLearning”

  • Maintain strong colour contrast in all menus, buttons, alerts, and form fields to meet WCAG AA standards

  • Provide meaningful error messaging (e.g., “Please enter a Delegate email” rather than “Invalid input”)

  • Avoid relying on colour alone to communicate availability or status (e.g. add icons, underlines, or labels)

  • Make forms assistive-technology-friendly by correctly associating labels with inputs

  • Ensure embedded content such as eLearning launch buttons is accessible to screen readers and alternative inputs

 

Authentication

Your custom portal must authenticate users using accessplanit’s existing login process. The proof of concept demonstrates how to handle this securely.

Key reminders:

  • Use the platform’s standard login flow to authenticate users, do not attempt to replicate or replace it

  • Once authenticated, store and handle the returned session token securely, and pass it with each API Feed request

  • Do not store passwords or handle credential verification in your own code

  • Implement secure session timeouts and redirect users to log in again when a token expires

  • Always use HTTPS and avoid logging tokens in browser consoles or server logs

  • Encourage users to log out when they have completed their session, especially on shared devices

 

Performance & caching

API Feeds provide real-time data, which is ideal for accuracy but without optimisation unnecessary calls can slow your custom portal down and this may also impact your core accessplanit platform! Use these techniques to keep everything fast and reliable:

  • Cache data that doesn’t change frequently, such as course categories, training locations, or configuration lists

  • Implement short-lived client-side caching for Course Search filters or course information to improve responsiveness

  • Use lazy loading in areas such as booking history or course lists to avoid rendering large datasets all at once

  • Display loading states so users understand when data is being retrieved

  • Where relevant, include manual “Refresh” buttons for lists rather than automatic polling


FAQs

Here are some common questions that we receive about the building your own basket and portal and their answers

Can I use my own payment gateway?

Yes! Since you’re building your own front-end, you’re free to integrate with any payment gateway you prefer. Payments will not pass through accessplanit’s Checkout.

Can I fully customise the look and feel?

Yes - the entire user interface is completely under your control, so you can design it to match your branding, layout, and user experience requirements.

Do we need additional licences or modules?

No, you only the API v2 Feeds included within your contract to make use of this.

Can accessplanit help troubleshoot issues with our custom code?

We can support you with questions specifically related to the API Feeds (such as which modules or fields to use).
However, our team isn’t able to provide support for any issues related to the custom portal or basket you build.

Is the Proof of Concept intended for use in a live environment?

No, the Proof of Concept is connected to a demonstration platform and is provided purely as a reference for your development team.

Can we add a section in our custom portal for uploading documents?

Yes, you can build an upload area within your portal.
However, it’s important to note that files cannot currently be uploaded into your accessplanit platform via the API feeds. Because of this, any documents your customers or Delegates upload would not sync back to accessplanit, and would instead need to be stored, referenced, or downloaded directly from your custom portal.

Do we need to build our own payment gateway integration, or can we use an accessplanit one?

Because you’re creating your own shopping basket, it won’t connect to the standard accessplanit basket.
This gives you the flexibility to integrate with any payment gateway you choose, even ones accessplanit doesn’t support by default. The trade-off is that you cannot use accessplanit’s built-in payment integrations, as these only work with the accessplanit Shopping Basket and/or Checkout Basket.

Can fields in ‘My Account’ be made read-only so users can view them but not edit them?

Yes, as your team will controls the build of the My Account page, you decide:

  • What information is displayed

  • Which fields are editable

  • Which fields are mandatory or optional

The only requirement from accessplanit is that all Users must include essential information (e.g., first name and last name) so the platform can function correctly.

Can Users log into the portal using their accessplanit login details?

Yes. The proof of concept is linked directly to accessplanit authentication, meaning users log in with the same username and password they use for the platform.

Is User access in the portal restricted based on their accessplanit roles?

All API v2 Feeds are restricted based on the user token or user API key provided, so if this is the way you would like your integration to work, provide the API token for the logged in user and our API's will automatically filter the results based on their access levels.

Our Proof of Concept works in a different way, we have integrated using a service user for the interactions with the API, this has an elevated level of permissions allowing read/write access on modules such as user details. This way the user can update their user details in their profile without needing specific roles or permissions granted to allow them to write to the userdetails API feed.

We also use the login endpoint for API v2 which gives a true or false result, this way we can streamline the login flow while also using a service user to handle interactions with your AP platform via API v2.

Can we create our own registration form for new customers?

Yes, although the proof of concept doesn’t include a registration page, you can certainly build your own.
We will need to make sure your form:

  • Creates Users correctly in accessplanit

  • Stores their login credentials accurately so they can log in later

⚠️ Please notify accessplanit before you start building your own Registration Form so that we can check and discuss the creation of new user passwords with you.

Can we design our own ‘Add Delegates’ step in the shopping basket?

Absolutely! As you’re building the basket yourselves, you can fully customise the ‘Add Delegates’ step to match your requirements.
The only condition is that the data you collect must be compatible with the accessplanit API v2 feeds, these are very comprehensive, so they cover nearly all scenarios.

You’re welcome to use our Proof of Concept as a starting point or source of inspiration, but the final design will depend on your needs and your development team’s capability.

 


Support

If you need any further support with the API Feeds, here are the steps to get in touch with us

Raise a ticket with our support team: https://accessplanit.atlassian.net/servicedesk/customer/portal/2

 

 


Contact Our Team

If you can't find what you're looking for, access our Support Portal, and our team of experts will be happy to help!

Is it your first time contacting the team? Learn how to raise a support ticket.

Follow Us

Facebook|height=20 LinkedIn|height=20 Instagram|height=20 Twitter|height=20

Copyright © 2025 accessplanit.

Social media icons by icons8.com