Build your own Booking Portal & Shopping Basket using the API v2 Feeds
Support with building your own Booking Portal or Shopping Basket
Related Help Guide Pages
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.
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
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
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
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
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.
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
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.
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
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?
Can I fully customise the look and feel?
Do we need additional licences or modules?
Can accessplanit help troubleshoot issues with our custom code?
Is the Proof of Concept intended for use in a live environment?
Can we add a section in our custom portal for uploading documents?
Do we need to build our own payment gateway integration, or can we use an accessplanit one?
Can fields in ‘My Account’ be made read-only so users can view them but not edit them?
Can Users log into the portal using their accessplanit login details?
Is User access in the portal restricted based on their accessplanit roles?
Can we create our own registration form for new customers?
Can we design our own ‘Add Delegates’ step in the shopping basket?
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
Copyright © 2025 accessplanit.
Social media icons by icons8.com